我正在尝试在Tensorflow中实现RNN以进行文本预测。我为此目的使用BasicLSTMCell,序列长度为100.
如果我理解正确,每次输入新序列时,LSTM的输出激活h_t
和激活c_t
都会重置(也就是说,它们会按顺序更新100次,但是一旦我们移动到批处理中的下一个序列,它们将重置为0)。
有没有办法使用Tensorflow防止这种情况发生?也就是说,要继续在批处理中的所有序列中使用更新的c_t
和h_t
? (然后在移动到下一批时重置它们。)
答案 0 :(得分:3)
我认为您不希望这样做,因为批处理中的每个示例都应该是独立的。如果不是,则应该只有批量大小为1且序列长度为100 * batch_size。通常,您可能希望在批次之间保存状态。在这种情况下,您需要将RNN状态保存到变量中,或者我希望允许用户使用占位符将其输入。