tf.nn.dynamic_rnn对其输入参数进行什么样的计算



tf.nn.dynamic_rnn执行什么样的计算?它如何使用参数cellinputs(创建结果(?

我已经在文档中查找了,但我没有找到解释。

tf.nn.static_rnn vs. tf.nn.dynamic_rnn

在内部,tf.nn.static_rnn为固定的 RNN 长度创建一个展开的图。这意味着,如果你调用具有 200 个时间步长的输入的tf.nn.static_rnn,你正在创建一个具有 200 个 RNN 步长的静态图。首先,图形创建速度很慢。其次,您无法传入比最初指定的序列更长的序列 (> 200(。

tf.nn.dynamic_rnn解决了这个问题。它使用tf.while_loop在执行时动态构造图形。这意味着图形创建速度更快,您可以喂入可变大小的批次。

性能如何?

您可能认为tf.nn.static_rnn比其动态对应物更快,因为它预先构建了图形。

请注意,强烈建议使用tf.nn.dynamic_rnn

参考: http://www.wildml.com/2016/08/rnns-in-tensorflow-a-practical-guide-and-undocumented-features/

最新更新