0

我有一个用于翻译文本的 seq2seq 神经网络。我需要句子在批处理期间保持不变,更准确地说,一个句子应该像一个不可分割的标记块。但是,看起来 Torchtext 提供的迭代器(BucketIterator 和 Iterator)不保持令牌的初始顺序。除了编写我自己的填充和批处理功能之外,是否有解决方案?

4

1 回答 1

0

两者都Iterator应该BucketIterator保持标记的顺序,并且只打乱数据集中的句子。

您很可能输入张量的形状不正确。TorchText 中的默认形状为:length× batch_size× features。如果您首先有批次,然后是序列长度,那么您的句子就会被打乱。

于 2020-02-10T09:07:39.030 回答