tensorflow dynamic_rnn和rnn有什么区别?

Mad*_*bat 31 tensorflow recurrent-neural-network

有几个类tf.nn与RNN有关.在这些例子中我在网上找到,tf.nn.dynamic_rnn而且tf.nn.rnn似乎可以互换使用,或者至少我似乎无法找出为什么一个代替其他的被使用.有什么不同?

Abh*_*hra 48

来自Tensorflow的RNNs,实用指南和 Denny Britz的未记载的功能,于2016年8月21日发布.

tf.nn.rnn为固定的RNN长度创建展开的图形.这意味着,如果您tf.nn.rnn使用具有200个时间步长的输入进行调用,则您将创建一个具有200个RNN步长的静态图形.首先,图形创建很慢.其次,您无法传递比您最初指定的更长的序列(> 200).

tf.nn.dynamic_rnn解决这个问题.它使用tf.While循环在执行时动态构造图形.这意味着图表创建速度更快,您可以提供可变大小的批量.

  • 如果动态RNN提供所有优势而实际上没有任何缺点,为什么仍然会使用静态RNN? (10认同)