tensorflow的api doc tf.contrib.legacy_seq2seq.basic_rnn_seq2seq说:
(outputs, states) = basic_rnn_seq2seq(
encoder_inputs,
decoder_inputs,
cell,
dtype=tf.float32,
scope=None
)
其中,
encoder_inputs:2D张量列表[batch_size x input_size]。
decoder_inputs:2D张量列表[batch_size x input_size]。
问题1:为什么encoder_inputs和decoder_inputs的序列大小(input_size)相同。在我的例子中,有不等长度的seq - to - seq映射。例如,“你在做什么”(长度4) - > “wie gehts(长度2)”。是否有必要在使用此张量流模块时填充并制作相等长度的序列?
问题2:如果我使用
cell = tf.nn.rnn_cell.LSTMCell(num_units = 128)
输出的大小(batch_size x 128 [lstm中的隐藏单位数])真的让我感到困惑。它不应该等于(batch_size x output_size)吗?我在这里错过了什么?我真的很困惑解码器如何工作。