问题标签 [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 投票
1 回答
2071 浏览

python - 将纯文本文件加载到 PyTorch

我有两个单独的文件,一个是文本文件,每一行都是一个文本。另一个文件包含相应行的类标签。如何将其加载到 PyTorch 并进行进一步的标记化、嵌入等?

0 投票
1 回答
2368 浏览

python - 无法在 torchtext 迭代器中加载 one-hot 标签(ValueError: too many dimensions 'str')

我的“标签”字段是一个长度为 201 的单热向量。但是,我无法使用这种单热表示创建迭代器。如果我尝试迭代迭代器,我会收到以下错误。


() 中的 ValueError Traceback (最近一次调用最后一次) ----> 1 用于 train_iter 中的批处理:2 print(batch)

/usr/local/lib/python3.6/dist-packages/torchtext/data/iterator.py in iter (self) 155 else: 156 minibatch.sort(key=self.sort_key, reverse=True) --> 157 yield Batch(minibatch, self.dataset, self.device) 158 如果不是 self.repeat: 159 返回

/usr/local/lib/python3.6/dist-packages/torchtext/data/batch.py​​ in init (self, data, dataset, device) 32 如果字段不是 None: 33 batch = [getattr(x, name) for x in data] ---> 34 setattr(self, name, field.process(batch, device=device)) 35 36 @classmethod

/usr/local/lib/python3.6/dist-packages/torchtext/data/field.py in process(self, batch, device) 199 """ 200 padded = self.pad(batch) --> 201 tensor = self.numericalize(padded, device=device) 202 返回张量 203

/usr/local/lib/python3.6/dist-packages/torchtext/data/field.py in numericize(self, arr, device) 321 arr = self.postprocessing(arr, None) 322 --> 323 var = torch .tensor(arr, dtype=self.dtype, device=device) 324 325 如果 self.sequential 而不是 self.batch_first:

ValueError:太多维度“str”

0 投票
1 回答
301 浏览

python - 使用带有文本序列的torchtext作为输入

我正在尝试使用 torchtext 进行序列标记,其中序列是句子。所以每个Example都是句子及其标签的列表:

当然,我仍然想要单词级别的标记化和词汇,但似乎没有明显的方法可以做到这一点。例如,TabularDataset需要一个Field适用于每个示例元素的 s 列表,但我想将文本字段映射到构成输入的句子列表中。

我想也许这就是NestedField目的,但它似乎专门针对字符嵌入。

我错过了什么吗?使用torchtext这可能(没有太多麻烦)吗?我完全愿意接受不作为答案:)

0 投票
0 回答
808 浏览

python - BucketIterator 没有返回正确大小的批次

我正在实现一个简单的 LSTM 语言模型PyTorch,并想查看BucketIteratortorchtext.

事实证明,返回的批次有我整个语料库的大小,所以我在初始化期间一定做错了什么。

我已经开始BPTTIterator工作了,但是因为我也希望能够训练成批的完整句子,所以我认为BucketIterator应该是这样。

我使用以下设置,我的语料库是一个简单的 txt 文件,每行都包含句子。

我希望这个迭代器的一批具有 shape (batch_size, max_len),但它将整个语料库附加到 1 张量 shape(1, corpus_size)中。

我的设置中缺少什么?

编辑:似乎该PennTreebank对象与 a 不兼容BucketIterator(它只包含 1 Example,如此处所述http://mlexplained.com/2018/02/15/language-modeling-tutorial-in-torchtext-practical-torchtext-part-2 /)。只使用TabularDataset1Field就可以了。

如果有人知道如何torchtext以更优雅的方式使用填充句子批次进行语言建模,我很想听听!

0 投票
1 回答
7322 浏览

python - BucketIterator 抛出 'Field' 对象没有属性 'vocab'

这不是一个新问题,我发现没有任何解决方案的参考文献firstsecond对我有用。我是 PyTorch 的新手,AttributeError: 'Field' object has no attribute 'vocab'PyTorch使用torchtext.

跟进这本书Deep Learning with PyTorch,我写了与书中解释的相同示例。

这是片段:

这是堆栈跟踪:

如果不使用 BucketIterator,我还能用什么来获得类似的输出?

0 投票
1 回答
1292 浏览

python-3.x - torchtext 的 BucketIterator 可以将所有批次填充到相同的长度吗?

我最近开始使用 torchtext 来替换我的胶水代码,我遇到了一个问题,我想在我的架构中使用注意力层。为了做到这一点,我需要知道我的训练数据的最大序列长度。

问题在于,torchtext.data.BucketIterator它会按批次进行填充:

是否有某种方法可以确保所有训练示例都填充到相同的长度;即训练中的maxlen?

0 投票
0 回答
181 浏览

python - 自定义 torchtext 数据集

我想在自定义数据集中使用 Torch 文本提供的 BucketIterator 函数。

我有几个列表,源和目标,其中包含文本。

我没有找到任何明确的指南来构建您自己的 torchtext.data.Dataset。

0 投票
1 回答
1316 浏览

vector - 如何将 BERT 词嵌入保存为 .vec,类似于 word2vec

我想使用生成的 BERT 词嵌入作为在 Torchtext 中构建词汇的向量 我可以加载诸如 GloVe 或 word2vec 之类的向量,但我不知道如何将 BERT 中的词嵌入保存为 Torchtext 词汇可接受的格式

当我尝试这段代码时

我收到此错误:

0 投票
1 回答
5767 浏览

python - pytorch/torchtext 中的 one-hot 编码

我有一个Bucketiterator从中torchtext提供给模型的pytorch. 如何构造迭代器的示例:

然后将数据馈送到这样的模型,我在其中使用该nn.Embedding层。

但是,如果我希望嵌入是一次性编码的呢?我从事形式语言的工作,保留令牌之间的正交性会很好。它似乎没有pytorchtorchtext没有任何功能可以做到这一点。

0 投票
5 回答
4982 浏览

anaconda - 如何在 conda 上安装 torchtext 0.4.0

torchtext 0.4.0 库存在(可以通过 pip 下载),但conda install torchtext=0.4.0不会工作。如何将 torchtext 下载到 anaconda 环境?