问题标签 [torchtext]

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 投票
0 回答
35 浏览

python - 火炬文本。加载存储到列表中的数据和标签

我有文本列表和相应标签列表,0 或 1。我的目的是使用 torchtexttorchtext.Field.build_vocab和 nexttorchtext.data.BucketIterator.splits创建一个迭代器对象。但我不知道,也找不到有关在 torchtext 中使用列表的任何信息。我很乐意得到任何帮助和提示

0 投票
1 回答
573 浏览

machine-learning - 使用 torchtext 进行推理

我想知道使用torchtext推理的正确方法是什么。

假设我已经dump用内置词汇训练了模型和所有字段。下一步似乎是使用torchtext.data.Example加载一个示例。不知何故,我应该通过使用加载的字段来数字化它并创建一个迭代器。

我将不胜感激使用torchtext推理的任何简单示例。

0 投票
1 回答
923 浏览

json - 使用 torchtext 加载 json 文件

我正在处理 dailydialog 数据集,我已将其转换为如下所示的 JSON 文件:

[{"response": "You know that is tempting but is really not good for our fitness.", "message": "Say, Jim, how about going for a few beers after dinner?"}, {"response": "Do you really think so? I don't. It will just make us fat and act silly. Remember last time?", "message": "What do you mean? It will help us to relax."}, {"response": "I suggest a walk over to the gym where we can play singsong and meet some of our friends.", "message": "I guess you are right. But what shall we do? I don't feel like sitting at home."}, {"response": "Sounds great to me! If they are willing, we could ask them to go dancing with us.That is excellent exercise and fun, too.", "message": "That's a good idea. I hear Mary and Sally often go there to play pingpong.Perhaps we can make a foursome with them."}, {"response": "All right.", "message": "Please lie down over there."}]

因此,每个项目都有两个键 - 响应和消息。

这是我第一次使用 PyTorch,所以我关注了一些在线可用资源。这些是我的代码的相关片段:

尽管没有引发错误,尽管我的 JSON 文件中有许多项目,但奇怪的是,训练、测试和验证数据集每个只有 1 个示例,如下图所示: 显示训练数据、测试数据和验证数据的长度的图像

如果有人能向我指出错误,我将不胜感激。

编辑:我发现由于文件中缺少缩进,整个文件被视为单个文本字符串。但是,如果我缩进 JSON 文件,TabularDataset 函数会向我抛出 JSONDecodeError,表明它无法再解码该文件。我怎样才能摆脱这个问题?

0 投票
0 回答
332 浏览

machine-learning - Pytorch 模型 CPU 和 GPU 的参数变化

我已经创建了模型并使用 google colab 保存了权重。现在我创建了一个预测脚本。预测脚本包含模型类。我正在尝试使用以下方法加载模型权重-

跨设备保存和加载模型

节省 GPU,加载 CPU 节省:

加载:

上面的方法应该可行吧?是的。

但是当我尝试这样做时,我在 Google Colab 中有不同的模型参数(预测,运行时-无,设备 = CPU),而在我的本地机器中则不同(预测,设备 = cpu)

Colab 中的模型参数-

该模型有 12,490,234 个可训练参数

本地模型参数-

该模型有 12,506,137 个可训练参数

所以,这就是我无法加载模型的原因。因为模型在本地有不同的参数。

即使我尝试在本地加载权重,它也会给我-

错误-

本地的模型参数一定是错误的,因为在 colab (device=CPU, runtime=None) 中,我可以在定义模型类后加载权重。但是在本地机器中,参数发生了变化,所以我无法加载权重。我知道这很奇怪,请帮助我找到解决方案。

您可以在此处查看模型的完整代码-

https://gist.github.com/Dipeshpal/90c715a7b7f00845e20ef998bda35835

在此模型参数更改后。

0 投票
1 回答
1378 浏览

python-3.x - 无法使用 torchtext 创建自定义数据集和数据加载器

我对使用torchtext. 我使用了在这篇文章中找到的以下代码,并根据我的情况进行了修改:

说到text_field.build_vocab(train),我得到了这个错误:TypeError: '<' not supported between instances of 'list' and 'int'

我的代码和帖子之间的唯一区别是预训练的词嵌入。在帖子中,作者使用了我XLNetTokenizertransformers包装中使用的手套。我也搜索了其他使用类似方法的帖子,但他们都使用了预训练的词嵌入,因此他们确实有这样的问题。

有谁知道如何解决这个问题?非常感谢!

0 投票
4 回答
3650 浏览

pytorch - Torchtext 0.7 显示字段已被弃用。什么是替代方案?

看起来以前声明字段、示例和使用 BucketIterator 的范例已被弃用,并将在 0.8 中转移到旧版。但是,我似乎无法找到不使用 Field. 谁能指出我最新的例子?

弃用参考:

https://github.com/pytorch/text/releases

0 投票
1 回答
836 浏览

python - 如何从具有字典列表的 json 将数据集加载到 pytorch torchtext.data.TabularDataset 中?

我有一个字典列表如下:

每个 dict 的每个值都是一个句子单词/标签的列表。这直接来自 NLTK 数据集的布朗语料库,使用以下方法加载:

我想使用以下方法将此 json 加载到 torchtext.data.TabularDataset 中:

但它给了我这个错误:

请注意,我不希望 TabularDataset 为我标记句子,因为它已经被 nltk 标记。我该如何处理?(我无法将语料库切换到可以直接从 torchtext.dataset 加载的内容,我必须使用布朗语料库)

0 投票
1 回答
205 浏览

nlp - 有没有办法使用 from_pretrained() 转换器方法推断 torchtext?

将 vocab.txt、special_tokens_map.json 和 tokenizer_config.json 保存到我的输出目录,可用的火车模型存储为 pytorch_model.bin 并且配置也在那里。

如何使用这些进行推理,最好是使用torchtext?

0 投票
1 回答
243 浏览

python - 使用 spacy 自定义标记器时 ReversibleField 失败

ReversibleField 运行良好,没有 spacy

在 中使用tokenize=NoneReversibleField,一切正常

使用 spacy 时 ReversibleField 失败

然而,当我尝试使用 spacy 作为我的标记器时,它给了我一大段对我来说没有意义的字符串。

这里有什么问题?使用 spacy 时如何将标记正确转换回字符串?

0 投票
1 回答
242 浏览

pytorch - 如何将字符串转换为创建了 torchtext.data.Field 的张量?

所以我有一个带有 build_vocab 的 torchtext.data.Field 。我已经在我的数据集上训练了我的模型。如何使用它将原始字符串转换为张量以便模型能够进行预测?