我正在处理句子建模问题,其中我将可变长度句子作为输入。我想用RNN编码句子(例如LSTM或GRU)。我发现的所有示例都使用某种填充或分段来编码句子,以确保批处理中的所有句子具有相同的长度。但我希望能够动态展开lstm。
通常,我只是定义一个LSTM单元格并使用OnPlatform
展开它。
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)
期望输入具有相同的长度。有没有办法在张量流中没有任何填充处理可变长度的句子?