Tensorflow seq2seq

时间:2017-09-21 07:37:18

标签: tensorflow lstm rnn

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)吗?我在这里错过了什么?我真的很困惑解码器如何工作。

0 个答案:

没有答案