TensorFlow 中的 RNN 实时实现

Posted

技术标签:

【中文标题】TensorFlow 中的 RNN 实时实现【英文标题】:RNN in TensorFlow realtime implementation 【发布时间】:2016-07-03 10:35:24 【问题描述】:

我想在 TensorFlow 中实现一个 RNN 来跟踪一些对象的位置。我想要一个实时实现,所以我当时会给网络一个数据点。我在 TensorFlow 中看到的示例输入始终是不同时间的一系列数据点。.. 我怎样才能一次只输入一个数据点?

【问题讨论】:

我相信你可以改变输入占位符的大小来采用一个数据。或者,您可以为可变批量大小制作占位符和图表。您能否提供您的代码或示例,以便我们指出如何更改它? 或者,对于RNN,你可以只设置第一个数据,其他数据填空什么的。然后获取第一个输出数据作为结果。 【参考方案1】:

作为 TensorFlow 文档, https://www.tensorflow.org/api_docs/python/tf/nn/dynamic_rnn

您可以指定初始状态作为 RNN 网络的输入, 此外,Tensorflow RNN 网络输出最终状态。

因此,您可以将输入作为 [batchsize, 1, inputsize] 的形状(不要忘记初始状态;),并且将收到具有以下形状的输出 [batchsize, 1, outputsize] 和最终状态。

然后可以输入上一次执行的最终状态作为下一次执行的初始状态。

这将允许您创建一个可以实时运行的 RNN ;)

【讨论】:

以上是关于TensorFlow 中的 RNN 实时实现的主要内容,如果未能解决你的问题,请参考以下文章

Tensorflow 损失在我的 RNN 中有所不同

对 Tensorflow 中的多层双向 RNN 感到困惑

Tensorflow动态seq2seq使用总结(r1.3)

TensorFlow2 手把手教你实现 RNN

TensorFlow2 手把手教你实现 RNN

深度学习(08)_RNN-LSTM循环神经网络-03-Tensorflow进阶实现