【发布时间】:2017-06-10 22:53:18
【问题描述】:
tf.nn.dynamic_rnn 执行什么样的计算?它如何使用参数cell 和inputs(创建结果)?
我在documentation上查过,但没有找到解释。
【问题讨论】:
标签: python tensorflow deep-learning recurrent-neural-network
tf.nn.dynamic_rnn 执行什么样的计算?它如何使用参数cell 和inputs(创建结果)?
我在documentation上查过,但没有找到解释。
【问题讨论】:
标签: python tensorflow deep-learning recurrent-neural-network
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/
【讨论】: