1

tensorflow 的 tf.contrib.legacy_seq2seq.basic_rnn_seq2seq 的 api doc 说:

(outputs, states) = basic_rnn_seq2seq(
    encoder_inputs,
    decoder_inputs,
    cell,
    dtype=tf.float32,
    scope=None
)

其中,
encoder_inputs:二维张量列表 [batch_size x input_size]。
解码器输入:二维张量列表 [batch_size x input_size]。

问题 1:为什么编码器输入和解码器输入的序列大小 (input_size) 相同。就我而言,存在不等长度的 seq - to - seq 映射。例如,“你在做什么”(长度 4)->“wie gehts(长度 2)”。使用这个 tensorflow 模块时是否需要填充和制作等长的序列?

问题 2:如果我使用

cell = tf.nn.rnn_cell.LSTMCell(num_units = 128)

输出的大小(batch_size x 128 [lstm 中隐藏单元的数量])真的让我感到困惑。它不应该等于(batch_size x output_size)吗?我在这里想念什么?我真的很困惑解码器如何在这里工作。

4

0 回答 0