我只想问一个简短的问题,是关于OpenNMT的pytorch版本的。在选项中似乎没有返回编码器和解码器隐藏状态的选项。我是不是遗漏了一个标志,还是在OpenNMT中这不是一个选项?
发布于 2019-06-23 23:49:37
您所说的编码器和解码器不返回隐藏状态是什么意思?
如果您看到RNNEncoder,它将返回encoder_final, memory_bank, lengths,其中memory_bank表示形状为seq_len x batch_size x hidden_size的隐藏状态。encoder_final通常由解码器在序列到序列模型中使用.
现在,让我们看看RNNDecoder。正如我们所看到的,forward()方法返回一个FlaotTensor和一个FlaotTensors字典。
(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层来预测令牌。
还有几种其他类型的编码器/解码器,您可以从以下两个链接中探索它们。
https://stackoverflow.com/questions/56727702
复制相似问题