tf.nn.dynamic_rnn
执行什么样的计算?它如何使用参数cell
和inputs
(创建结果)?
我查了documentation,但我没有找到解释。
答案 0 :(得分:0)
tf.nn.static_rnn
与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/