问题标签 [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.
pytorch - 如何使用训练集中的前 1000 个实例创建 TabularDataset?
我正在使用 pytorch 中的 RNN 进行文本分类任务。我有一个训练数据集和测试数据集。对于我的任务,我需要使用训练数据集的前 1000 个实例来训练我的模型。我可以使用前 1000 个训练实例创建 TabularDataset 吗?
我想为前 1000 个实例创建一个 tabularDataset。有什么办法吗?
下面,我使用整个训练和测试数据创建了一个表格数据集。
python - 加载torchtext模型+词汇进行推理的正确方法
我训练了一个 Transformer 模型进行翻译。保存的模型在我的测试集上达到了 ~27 BLEU。当我在新会话中重新加载模型时,BLEU 分数下降到 ~0.5。我设法发现问题可能是我每次开始会话时都重新构建我的词汇而不是从内存中加载它,并且 itos 映射每次都在变化(我将加载的数据随机拆分为训练、开发、测试和从火车构建词汇)。
这让我想到:有没有正确的方法从记忆中加载词汇,以便我的推理结果保持一致?请注意,我还需要继续训练模型,因此词汇需要成为 TabularDataset 的一部分。
nlp - Example.fromJSON(data.read(), 字段)
什么是Example.fromJSON(data.read(), fields)
, 但与 huggingface ( https://github.com/huggingface ) 的等价物?我需要通过一些变压器来改变机器学习模型中的一些 lstm。现在,要走的路是使用转换器对数据进行预处理。
编辑
来源:https ://huggingface.co/docs/datasets/loading_datasets.html
我想我将不得不使用上面的代码,但仍然不确定。
python - AttributeError:模块“torchtext.datasets”没有属性“text_classification”
在上面运行后我得到属性错误。
----> 1 agnews_train,agnews_test = torchtext.datasets.text_classification.DATASETS"AG_NEWS" 中的 AttributeError Traceback(最近一次调用最后一次)
AttributeError:模块“torchtext.datasets”没有属性“text_classification”
python - 可迭代数据集在单个 epoch 后耗尽
我想在情感分析任务上训练一个 RNN,对于这个任务,我使用了由 torchtext 提供的 IMDB 数据集,其中包含 50000 条电影评论,它是一个 python 迭代器。我用了一个split=('train', 'test')
.
我首先使用每个句子构建一个词汇torchtext.vocab.Vocab
并对其进行标记,然后进行数字化。
为了将序列填充到我使用的相同长度,torch.nn.utils.rnn.pad_sequence
并且还使用了 acollate_fn
和batch_sampler
. 然后我使用 torch.utils.data 加载数据。DataLoader
.
RNN 网络的实现很好,但数据加载器在一个 epoch 后就耗尽了,如下图所示。
我是否遵循正确的方法来加载这个可迭代数据集?以及为什么数据加载器在一个时期后耗尽,我该如何克服这个问题。
如果您想查看我的实现,请参阅共享的 colab 笔记本。
PS。我正在关注来自github的torchtext的官方变更日志
你可以在这里找到我的实现
python - 可迭代数据集在一个时期后耗尽[来自 torchtext 的 IMBD 数据集]
我想在情感分析任务上训练一个 RNN,对于这个任务,我使用了由 torchtext 提供的 IMDB 数据集,其中包含 50000 条电影评论,它是一个 python 迭代器。我用了一个split=('train', 'test')
.
我首先使用每个句子构建一个词汇torchtext.vocab.Vocab
并对其进行标记,然后进行数字化。
为了将序列填充到我使用的相同长度,torch.nn.utils.rnn.pad_sequence
并且还使用了 acollate_fn
和batch_sampler
. 然后我使用 torch.utils.data 加载数据。DataLoader
.
RNN 网络的实现很好,但数据加载器在一个 epoch 后就耗尽了,如下图所示。
我是否遵循正确的方法来加载这个可迭代数据集?以及为什么数据加载器在一个时期后耗尽,我该如何克服这个问题。
如果您想查看我的实现,请参阅共享的 colab 笔记本。
PS。我正在关注来自github的torchtext的官方变更日志
你可以在这里找到我的实现
在所附图像中,您可以看到数据加载器在单个 epoch 后耗尽。
python - 为什么当我更改 csv 文件中数据的位置时,torchtext.legecy.text 中相同数据集的结果不同?
我正在尝试学习 PyTorch NLP 基本文本分类并遵循 Lazy Programmer's Tutorial,我得到了与教程不同的结果,当我尝试更改数据时,我遇到了输出中的奇怪变化。
这是我的第一种代码,在数据中,如果你看到我在索引 1 中使用了“'ham and eggs or just morning'”。所以在运行代码之后,最后当我运行 vocab.stoi 时,我得到以下输出。 代码的输出。
现在在第二个代码中,我在第三个索引中更改了数据“'ham and eggs or just morning'”的索引,现在如果我运行代码,那么 第二个代码的 vocab.stoi 输出将得到不同的输出。我想知道原因以及 vocab_build 在 PyTorch 中的工作原理。另外,这是我的第一个问题,如果问题不清楚,请告诉我。
nlp - 在来自两个不同存储桶迭代器对象的批次之间切换
我有两个 BucketIterator 对象:Iterator1 和 Iterator2
对于训练,我必须使用两个迭代器(在我的情况下无法混合)现在在训练时我正在使用这两个迭代器的批次,比如来自 Iterator1 的 batch1 和来自 Iterator2 的 batch2 ...</p>
我想在训练时交替使用这些批次(batch1 和 batch2)……但我不能这样做……因为到目前为止我学到的关于桶迭代器的知识是……没有 next(),它只能迭代 for(itr在迭代器1) ...</p>
这就是为什么我目前在管道基础上使用……首先用 iterator1 完成训练,然后用 iterator2 完成训练……</p>
你能告诉我如何交替使用这些吗?谢谢……</p>
python - FileNotFoundError:[Errno 2] 没有这样的文件或目录:'.data/multi30k/train.fr'
我正在尝试Multi30k
使用 google colab 加载 torchtext 数据集。当我加载它时.de
它工作正常,但是一旦我改变.de
我得到这个错误:
这就是我加载的方式.de
并且它起作用了:
一旦我通过更改.de
为.fr
错误来更改此代码:
进口
种子
分词器spacy
字段
引发错误的单元格
python - 如何在 pytorch 中为机器翻译任务加载 torchtext 数据集?
我是新手,torchtext
我一直在使用Multi30k
数据集来学习基础知识。在学习基础知识的过程中,我想使用其他数据集,例如IWSLT2017
. 我阅读了文档,他们向我展示了如何加载数据。
这就是我加载Multi30k
数据集的方式
当我运行这个:
我明白了:
我的问题是我如何IWSLT2017
在调用时加载以获得类似的结果print(vars(train_data.examples[0]))
。
这是我尝试过的:
它返回给我一个如下所示的元组:
我的问题是我怎样才能从这一步转移到得到这样的东西的步骤:
任何帮助输入将不胜感激。