如何使用 while_loop 和 tensorflow 在每个步骤中保存输出?

How to save outputs in every step using while_loop with tensorflow?

我想构建一个具有数千个时间步长的 RNN,所以正确的方法是使用 while_loop 函数,因为 GPU 会在 for 循环中耗尽内存。

但我找不到在每一步都保存 rnn 输出的方法。我尝试使用全局列表或使用 tf.concat() 来累积输出。都没有用。好像 while_loop() 只能用来得到最终的输出。

有什么办法可以得到所有的输出吗?

尝试 tf.nn.dynamic_rnn,它使用 while_loopTensorArray 对象来完成此操作。