问题标签 [gpt-2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
55 浏览

machine-learning - Spacy-Transformers:访问 GPT-2?

我正在使用 Spacy-Transformers 构建一些 NLP 模型。

Spacy -Transformers 文档说:

空间变压器

用于预训练的 BERT、XLNet 和 GPT-2 的 spaCy 管道

该页面上的示例代码显示:

根据我从这个视频中学到的知识,“en_core_web_trf”似乎是spacy.load()使用 BERT 模型的包。我搜索了Spacy-Transformers 文档,但还没有看到等效的包来访问 GPT-2。spacy.load()为了使用 GPT-2 模型,是否有特定的包要加载?

0 投票
0 回答
130 浏览

python - GPT2 聊天机器人单交互...属性错误:“NoneType”对象没有属性“multiprocessing_chunksize”问题:2

GPT2 自定义聊天机器人交互问题

GPT2 自定义聊天机器人单次交互。我在这个实现中没有使用任何线程,但它仍然显示“multiprocessing_chunksize”。在这里,我们尝试使用 gpt2 构建聊天机器人,并与由自定义日期集(类型:角色)训练的自定义模型进行交互。

0 投票
1 回答
49 浏览

python - GPT 2 - TypeError:无法根据规则“安全”将数组数据从 dtype('O') 转换为 dtype('int64')

我正在使用 gpt2、python 3.9 和 tensorflow 2.5,当连接到烧瓶(终端中运行烧瓶)时,我收到以下消息:

TypeError:无法根据规则“安全”将数组数据从 dtype('O') 转换为 dtype('int64')

这是 generator.py 中的代码

感谢任何帮助 ps 我还在整个回溯下方添加了

0 投票
0 回答
43 浏览

python - 如何使用停用词列表尽早停止自回归模型?

我正在使用 GPT-Neo 模型transformers来生成文本。因为我使用的提示以 开头'{',所以我想在'}'生成配对后停止该句子。我发现StoppingCriteria源代码中有一个方法,但没有进一步说明如何使用它。有没有人找到一种方法来尽早停止模型生成?谢谢!

这是我尝试过的:

0 投票
0 回答
18 浏览

nlp - GPT-2 会话/讨论的特定培训

我目前在会话多项选择上下文中使用 GPT-2 模型。

用法如下:2个对话者在同一个房间,一个对话者提出​​一个问题,第二个对话者有4个选择答案。

今天,我只使用选择的答案重新训练我的模型。我怎样才能整合非选择?如何惩罚未选择的答案?

我期待着你的想法和创造力:)

祝你有美好的一天,贾斯汀

0 投票
0 回答
92 浏览

python - 当我安装 cudnn64_8.dll 时,Cudnn 将无法工作

所以我目前正在使用在 Tensorflow 上运行的 GPT2 进行文本生成。我正在专门处理这个 repo。我最近决定安装 CUDA 和 cudnn 以提高 GPU 功能并通过这些说明安装它。我目前正在为我的 GPU 使用带有 NVIDIA Geforce GTX 1650 的 Windows 10 x64,并且我正在使用命令提示符终端。我尽我所能按照说明进行操作:下载正确的 GPU 驱动程序、设置环境变量、将 cudnn 文件复制到它们应该去的位置等。完成安装后,我尝试使用我训练的模型生成无条件样本,这发生了:

不确定为什么会发生这种情况,并认为我错误地安装了 cudnn 文件。搞砸了一会儿,发现当我从 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\bin 中删除 cudnn64_8.dll 时,我被告知要复制它,然后运行无条件样本,GPT2 工作很好,并且能够生成一些文本。所有其他 cudnn 文件仍在其 CUDA 目录中。不知道为什么包含 cudnn64_8.dll 会搞砸。我是否安装了错误版本的 CUDA?这里到底发生了什么?

编辑:

所以我决定TF_GPU_ALLOCATOR=cuda_malloc_async按照上面的终端建议添加到环境变量中。这次我没有像上次一样收到OOM错误,但它也终止了程序。结果如下:

我在这里到底做错了什么?为什么我的 GPU 内存不足?

0 投票
0 回答
21 浏览

python-3.x - 将 dialogpt 模型转换为 onnx 时出现 IndexError

我参考Bert Quantization with ONNX Runtime on CPU,并尝试使用以下代码将dialogpt转换为 onnx:

但我遇到错误:

我怎样才能解决这个问题?

0 投票
1 回答
167 浏览

python - AttributeError:“GPT2Model”对象没有属性“gradient_checkpointing”

我最初正在尝试在烧瓶中加载 GPT2 微调模型。在初始化函数期间使用以下方法加载模型:

但是在执行如下片段中的预测任务时:

如问题中所述,它会引发以下错误: AttributeError: 'GPT2Model' object has no attribute 'gradient_checkpointing'

错误跟踪从model.generate函数开始列出:文件“/venv/lib/python3.8/site-packages/torch/autograd/grad_mode.py”,第 28 行,在 decorate_context return func(*args, **kwargs)

文件“/venv/lib/python3.8/site-packages/transformers/generation_utils.py”,第 1017 行,在生成返回 self.sample(

示例输出中的文件“/venv/lib/python3.8/site-packages/transformers/generation_utils.py”,第 1531 行 = self(

_call_impl 中的文件“/venv/lib/python3.8/site-packages/torch/nn/modules/module.py”,第 1102 行 return forward_call(*input, **kwargs)

文件“/venv/lib/python3.8/site-packages/transformers/models/gpt2/modeling_gpt2.py”,第 1044 行,在正向 transformer_outputs = self.transformer(

_call_impl 中的文件“/venv/lib/python3.8/site-packages/torch/nn/modules/module.py”,第 1102 行 return forward_call(*input, **kwargs)

文件“/venv/lib/python3.8/site-packages/transformers/models/gpt2/modeling_gpt2.py”,第 861 行,向前打印(self.gradient_checkpointing)

文件“/venv/lib/python3.8/site-packages/torch/nn/modules/module.py”,第 1177 行,在getattr raise AttributeError("'{}' object has no attribute '{}'".format (

AttributeError:“GPT2Model”对象没有属性“gradient_checkpointing”

选中modeling_gpt2.py,默认情况下在类的构造函数中self.gradient_checkpointing设置。False

0 投票
0 回答
203 浏览

python - 苹果 M1 Pro 芯片上的 GPT2

在尝试根据官方github repo 上的说明安装 GPT2 时,Illigal hardware instruction当我尝试使用它时出现错误。
这意味着我什至不应该考虑在 M1 pro 芯片上尝试 GPT2
(尽管说明不完整,因为它没有告诉你使用什么 python 和 pip 版本来安装 tensorflow,它只是说你需要 tensorflow 1.12.0 所以,来自官方tensorflow 网站并通过连接那里的说明中的点,我认为我需要 python3.8,而且因为我有 MacOS)。
在这个死胡同之后,在我放弃这个漂亮的开源 ML 模型之前,我在苹果官方的github 页面中发现了他们为 MacOS 提供了优化的 tensorflow 版本,甚至允许您利用 M1 Pro CPU 拥有的 16 个神经引擎内核。(没有人关心 GPU 支持,如果你有的话)
唯一的问题是 tensorflow 这次是 2.X 版本,而 GPT2 使用 1.12.0
我不相信苹果会关心向后兼容性,即使是 2.X 版本在他们的 github 上是存档的并且是只读的。所以我们不能希望
两个版本之间的问题是contrib包被删除了。此处
评分最高的答案(直到今天)建议“在没有 tf.contrib 部分的情况下用谷歌搜索模块的名称以了解其新位置,从而通过更正导入语句来相应地迁移代码。
现在我可以访问tensorflow的github repo中的 contrib 包,所以我猜不需要谷歌搜索。
此时的第一个错误出现在 model.py 第 6 行:from tensorflow.contrib.training import HParams 我只是从github 的 repo下载它并将其粘贴src
到 GPT2from tensorflow.contrib.training.python.training import hparam_pb2
中如果有人遇到同样的问题,我不知道如何使用 *_pb2.py 找到这个扩展文件
,请告知下一步

0 投票
1 回答
73 浏览

python - 为自定义 GPT-NEO 模型实现 do_sampling

运行 1

输出:



运行 2

输出:



自定义模型始终返回相同的输出。然而,随着do_sampling = True股票model.generate在每次调用中返回不同的结果。我花了很多时间弄清楚 do_sampling 如何对变形金刚起作用,所以我需要你们的帮助,不胜感激。

如何编写自定义模型以在每次调用时产生不同的结果?

谢谢!