因为做毕设用到seq2seq框架,网上关于seq2seq的资料很多,但关于seq2seq的代码则比较少,阅读tensorflow的源码则需要跳来跳去比较麻烦(其实就是博主懒)。踩了很多坑后,形成了一些个人的理解,在这里记录下,如果有人恰好路过,欢迎指出错误~
seq2seq图解如下:
上图中,C是encoder输出的最终状态,作为decoder的初始状态;W是encoder的最终输出,作为decoder的初始输入。
具体到tensorflow代码中(tensorflow r1.1.0cpu版本),查阅tf.contrib.rnn.BasicLSTMCell的源码如下:
class BasicLSTMCell(RNNCell):
def __init__