我有一个seq2seq神经网络,用于翻译文本。我需要句子在批处理过程中保持不变,更准确地说,句子应该像一个不可分割的标记块。但是,看起来Torchtext提供的迭代器(BucketIterator和Iterator(不保留令牌的初始顺序。除了编写我自己的填充和批处理函数之外,有没有解决方案?
Iterator
和BucketIterator
都应该保持标记的顺序,只打乱数据集中的句子。
您的输入张量很可能形状不正确。火炬文本中的默认形状为:length
×batch_size
×features
。如果你先有批次,第二个序列长度,你的句子就会被打乱。