3

当我在这里阅读 seq2seq 教程时,我无法理解函数的输出tf.contrib.seq2seq.dynamic_docode

本教程使用sample_id = outputs.sample_idlogits = self.output_layer(outputs.rnn_output)在推理中访问解码器在训​​练中使用的输出,logits = outputs.rnn_output以及sample_id = outputs.sample_idlogits和在这里代表什么sample_idfinal_outputsof 函数的内容是什么tf.contrib.seq2seq.dynamic_docode

4

1 回答 1

6

好吧,抱歉这么幼稚的问题。从这里想通了。所以outputsoftf.contrib.seq2seq.BasicDecoder是 的一个实例class BasicDecoderOutput(rnn_output, sample_id)。我认为官方文件应该已经给出了这个信息。

更详细地说:

rnn_output是解码单元的输出。

sample_id是 a 返回的 id Helper。对于GreedyEmbeddingHelpersample_idargmax(outputs, axis=-1, output_type=dtypes.int32)。如果使用sample_id的话outputstf.contrib.seq2seq.BasicDecoder应该是形状。[num_timesteps]GreedyEmbeddingHelper

于 2018-05-24T14:12:14.990 回答