首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tensorflow dynamic_rnn和rnn有什么不同?

tensorflow dynamic_rnn和rnn有什么不同?
EN

Stack Overflow用户
提问于 2016-09-28 04:54:15
回答 2查看 16.1K关注 0票数 32

tf.nn中有几个与RNN相关的类。在我在网上找到的例子中,tf.nn.dynamic_rnntf.nn.rnn似乎可以互换使用,或者至少我不明白为什么要用其中一个来代替另一个。有什么关系?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-06 08:51:46

来自RNNs in Tensorflow, a Practical Guide and Undocumented Features,作者丹尼·布里茨,2016年8月21日出版。

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

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

票数 49
EN

Stack Overflow用户

发布于 2016-09-28 05:34:36

它们几乎是相同的,但在投入和产出的结构上略有不同。来自文档:

tf.nn.dynamic_rnn

此函数在功能上与上面的函数rnn相同,但>执行输入的完全动态展开。

rnn不同,输入输入不是Python张量列表,每个帧一个张量列表。相反,输入可以是单个张量,其中最大时间要么是第一维,要么是第二维(参见参数time_major)。或者,它可以是张量的元组(可能是嵌套的),每个张量都具有匹配的批次和时间维度。相应的输出要么是具有相同时间步数和批量大小的单个张量,要么是这些张量的元组(可能是嵌套的),与cell.output_size的嵌套结构匹配。

有关更多详细信息,请浏览source

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39734146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档