我正在处理句子建模问题,其中我有可变长度的句子作为输入 . 我想用RNN编码句子(例如LSTM或GRU) . 我发现的所有示例都使用某种填充或分段来编码句子,以确保批处理中的所有句子具有相同的长度 . 但我希望能够动态展开lstm . 通常,我只是定义一个LSTM单元格并使用 tf.nn.dynamic_rnn 展开它 .

cell = tf.contrib.rnn.LSTMCell(num_units=64, state_is_tuple=True)
outputs, last_state = tf.nn.dynamic_rnn(
    cell=cell,
    sequence_length=X_lengths,
    inputs=X)

但是,似乎即使 tf.nn.dynamic_rnn 期望输入具有相同的长度 . 有没有办法在张量流中没有任何填充处理可变长度的句子?