我正在处理句子建模问题,其中我有可变长度的句子作为输入 . 我想用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
期望输入具有相同的长度 . 有没有办法在张量流中没有任何填充处理可变长度的句子?