tf.nn.dynamic_rnn对其输入参数进行了哪种计算?

时间:2017-06-10 22:53:19

标签: python tensorflow deep-learning recurrent-neural-network

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

我查了documentation,但我没有找到解释。

1 个答案:

答案 0 :(得分:0)

tf.nn.static_rnntf.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/