了解tf.contrib.seq2seq.dynamic_decode的最终输出

问题描述 投票:2回答:1

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

本教程使用sample_id = outputs.sample_idand logits = self.output_layer(outputs.rnn_output)在推理中访问解码器使用的输出,logits = outputs.rnn_outputand sample_id = outputs.sample_idlogitssample_id代表什么?功能final_outputstf.contrib.seq2seq.dynamic_docode的内容是什么?

tensorflow seq2seq
1个回答
2
投票

好的,抱歉这么天真的问题。从here中找出来。所以outputstf.contrib.seq2seq.BasicDecoderclass BasicDecoderOutput(rnn_output, sample_id)的一个例子。我认为官方文件应该提供这些信息。

而且更详细:

rnn_output是解码单元的输出。

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

© www.soinside.com 2019 - 2024. All rights reserved.