pytorch如何在seq2seq模型中使用 pack_padded_sequence?

我想在seq2seq中建一个会话模型,使用pack_padded_sequence我们需要长句子排序。在我的例子中,我有2个txt文件(编码器,解码器),每行对应一个句子,因此,例如,编码器文件中的第一个问题对应于解码器中的第一个答案。
q: [5] | a: [1,2,3,4]
q: [6,7,8] | a: [1,2]
然后,当我按长度排序时,我得到:
q: [6,7,8] | a: [1,2,3,4]
q: [5] | a: [1,2]
因此,译码器中的H(隐藏状态)和C(细胞状态)对解码器中相应语句的错误是不正确的。我该怎么解决呢?是不是我不应该使用pack_padded_sequence?
已邀请:
匿名用户

匿名用户

赞同来自:

你应该以某种方式跟踪订单。对于seq2seq模型使用某种注意输入的解码器,防止nn.lstm被在一个呼吁所有解码器用于喂养时间是很普遍的;在这种情况下,我只是基于源语言句子长度的批量和解码器使用打开LSTM细胞。代码分类分批按源句子长度将在不久torchtext。

要回复问题请先登录注册