Tensorflow版本大于V1.0和V1.0版本之间还是存在一些区别,这次主要记录自己在使用dynamic_decode时发现的问题。
在构造Decoder的过程中,一般顺序为:
1、得到help对象
training_helper = tf.contrib.seq2seq.TrainingHelper
2、构造decoder
training_decoder = tf.contrib.seq2seq.BasicDecoder
3、调用dynamic_decode
training_decoder_output, final_state, final_sequence_lengths = tf.contrib.seq2seq.dynamic_decode
我的问题就出现在第三步上面,Tensorflow的V1.0里面dynamic_decode返回两个结果,training_decoder_output, final_state,一般写成training_decoder_output, _ ;
但是在V1.1版本及以上(我的是V1.3)时,其实已经返回training_decoder_output,final_state, final_sequence_lengths,
可以写成training_decoder_output,_,_;
我直接在这个问题上切换Tensorflow版本上耗费了不少的时间。