我只是有一个关于 OpenNMT 的 pytorch 版本的简短问题。选项中似乎没有返回编码器和解码器隐藏状态的选项。我错过了一个标志还是这不是 OpenNMT-py 中的一个选项?
问问题
74 次
1 回答
1
编码器和解码器不返回隐藏状态是什么意思?
如果你看到RNNEncoder,它会返回代表隐藏状态的encoder_final, memory_bank, lengths
地方memory_bank
,它是 shape seq_len x batch_size x hidden_size
。并且encoder_final
通常由解码器在序列到序列模型中使用。
现在,让我们看看RNNDecoder。正如我们所见,forward() 方法返回一个 FlaotTensor 和一个 FlaotTensor 字典。
(FloatTensor, dict[str, FloatTensor]):
* dec_outs: output from the decoder (after attn)
``(tgt_len, batch, hidden)``.
* attns: distribution over src at each tgt
``(tgt_len, batch, src_len)``.
通常,我们使用dec_outs
序列到序列的任务。例如,在自然语言生成任务中,我们将其馈送dec_outs
到 softmax 层以预测标记。
您可以从以下两个链接中探索其他几种类型的编码器/解码器。
于 2019-06-23T23:49:37.343 回答