如何在 TensorFlow 中构建一个带有循环的简单 RNN?

2023-12-19

我刚刚开始使用 TensorFlow,正在尝试实现一个非常简单的 RNN。 RNN 有x作为输入,y作为输出,仅由一个层组成,该层需要x并将之前的输出作为输入。这是我想到的事情的图片:

问题是,我看不到任何通过 TensorFlow API 构建包含循环的图的方法。每当我定义一个张量时,我都必须指定它的输入是什么,这意味着我必须已经定义了它的输入。所以这就存在先有鸡还是先有蛋的问题。

我什至不知道想要定义一个带有循环的图是否有意义(首先计算什么?我必须定义 softmax 节点的初始值吗?)。我尝试使用变量来表示先前的输出,然后手动获取值y并在每次输入训练样本后将其存储在变量中。但这会非常慢,除非有一种方法可以在图表本身中表示这个过程(?)。

我知道 TensorFlow 教程展示了 RNN 的示例实现,但他们作弊并从已经包含循环的库中提取了 LSTM 模块。总的来说,这些教程非常适合指导您如何构建某些东西,但它们可以更好地解释这个野兽的真正工作原理。

那么,TensorFlow 专家们,有没有办法构建这个东西呢?我该怎么做呢?


事实上,所有机器学习框架中的前向和后向传递都假设您的网络没有循环。实现循环网络的一种常见方法是及时将其展开几个步骤(例如 50 个步骤),从而将具有循环的网络转换为没有循环的网络。

例如,在您引用的文档中:

https://www.tensorflow.org/versions/r0.7/tutorials/recurrent/index.html https://www.tensorflow.org/versions/r0.7/tutorials/recurrent/index.html

他们提到

为了使学习过程易于处理,通常的做法是将反向传播的梯度截断为固定数量 (num_steps) 的展开步骤。

它实际上意味着他们将创造num_stepsLSTM 单元,其中每个单元都将值作为输入x对于当前时间步长,以及输出previousLSTM 模块。

The BasicLSTMCell他们使用的并且您认为有循环的实际上没有循环。 LSTM 单元只是单个 LSTM 步骤(具有两个输入 [输入和内存] 和两个输出 [输出和内存] 的块,并使用门根据输入计算输出)的实现,而不是整个 LSTM 网络。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 TensorFlow 中构建一个带有循环的简单 RNN? 的相关文章

随机推荐

  • 不同回文子串的数量

    给定一个字符串 我知道如何找到回文子串的数量使用 Manacher 算法在线性时间内完成 但现在我需要找到数量独特 独特回文子串 现在 这可能会导致 O n n 2 算法 一个 n 用于查找所有此类子字符串 而 n 2 用于将这些子字符串中
  • SQLite 中的 CEIL 和 FLOOR

    找到最干净的方法是什么ciel and floor中的一个数SQLite 不幸的是 SQLite 只有ROUND 功能 Formulas Ceil cast x as int x gt cast x as int 取x的整数部分 如果小数值
  • FileReader.readAsBinaryString 返回二进制还是基于 ASCII 的字符集?

    简而言之 我想将图像的二进制数据发送到我的处理程序 该处理程序将作为字节数组保存在数据库中 使用读取文件输入的值在我的 Javascript 中 我会得到如下输出 GIF89a 2c 3f Sma c T At X c 8 fj I Q q
  • 如何在 React.js 中修改现有的 PDF?

    我的反应状态数组中几乎没有值通过 props 传递给当前组件 但我不想像下面的代码中当前显示的那样显示 而是想使用文件系统中的 PDF 模板 因此 我的预期结果是能够在给定 x y 坐标的原始 PDF 副本上从状态 文本或图像 绘制给定数据
  • 多行之间的 SQLite SUM()

    我需要一些有关 Android 应用程序中的 SUM 功能的帮助 我有一张如下所示的表 我有需要SUM最后两条记录注释和最后一条带注释记录之间的数量 我需要对第 31 32 行和 33 行的数量求和 它将返回 90 我已经尝试过 SELEC
  • 为什么我不能将匿名类型作为参数传递给函数?

    我试图做类似下面的事情 但它不起作用 为什么 NET 不让我这样做 private void MyFunction var items whatever 从 Visual C 3 0 开始 在方法作用域中声明的变量可以具有隐式类型 var
  • tfs 服务器上身份验证失败

    我有一个非常奇怪的问题git bash在窗户上 当我在 Visual Studio 中工作时 使用存储在 tfs 服务器中的 git 存储库没有问题 我只是分支 承诺并推动 但是当我尝试在我的系统中执行相同的操作 获取 拉动 推送 时git
  • Ionic PWA 部署

    我正在尝试将 Ionic 2 项目的渐进式 Web 应用程序版本部署到 Heroku 但它似乎不起作用 我正在尝试使用 Ionic build browser prod 然后部署 www 文件夹 但我没有收到 Heroku 的任何响应 似乎
  • ClickOnce 认为 Windows 更新 KB5029649 之后有可用更新,即使没有可用更新

    你好 StackOverflow 社区 我在使用 ClickOnce 部署的 VB NET 应用程序时遇到了一个不寻常的问题 尽管没有发布任何最新更新 我们的一些用户仍会被提示更新应用程序 当他们继续进行时 它的行为就像是全新安装一样 会清
  • 在 FormInput 组件下方反应本机元素行

    我正在使用 React Native Elements 中的 FormInput 元素 它似乎在每个 FormInput 组件下方生成一条线 一个比另一个更微弱 表格如下
  • 在纯 NumPy 中重写 for 循环以减少执行时间

    I 最近询问有关尝试优化科学应用程序的 Python 循环的问题 https stackoverflow com questions 2586749 what is the most platform and python version
  • 现场(“点击”)和表演

    我有一个网格 有一列包含 a 带有一些附加信息的锚标记 a
  • 如何在内存中创建文件供用户下载,而不是通过服务器?

    有没有办法在客户端创建一个文本文件并提示用户下载它而无需与服务器进行任何交互 我知道我不能直接写入他们的机器 安全性和所有 但我可以创建文件并提示他们保存它吗 适用于 HTML5 浏览器的简单解决方案 function download f
  • PowerMock 何时新替代方案

    我不想再使用 powermock 了 因为junit5开始模拟静态类 所以我试图摆脱 powermock 方法 如您所知 您可以使用whenNew关键字创建类的实例 Junit5中对于whenNew有什么替代方案吗 这是我的代码的一部分 w
  • 在 PowerShell 中创建临时目录?

    PowerShell 5 引入了New TemporaryFile cmdlet https learn microsoft com en us powershell module microsoft powershell utility
  • 多态性的真正意义(用途)是什么

    我是面向对象编程的新手 虽然我明白什么是多态 但我无法得到它的真正用途 我可以有不同名称的函数 为什么我应该尝试在我的应用程序中实现多态性 经典答案 想象一个基类Shape 它暴露了一个GetArea方法 想象一个Square类和一个Rec
  • 安装 Android Wear 示例应用时失败 [INSTALL_FAILED_OLDER_SDK]

    我按照以下说明进行操作这个链接 http developer android com training wearables apps creating html在 Android Studio 中创建一个简单的移动 可穿戴应用程序 但是 在
  • 斐波那契数的迭代算法

    我对斐波那契数的迭代算法感兴趣 所以我在 wiki 上找到了这个公式 它看起来很简单 所以我在 Python 中尝试了它 它没有编译问题 公式看起来正确 不是确定为什么它给出错误的输出 我没有正确实施它吗 def fib n if n 0
  • 如何在pythonplot_surface中设置Z轴的比例等于X轴和Y轴

    我尝试使用 matplotlib 中的plot surface 来绘制 3D 曲面 我的代码是 fig plt figure ax fig gca projection 3d ax set aspect equal ax plot surf
  • 如何在 TensorFlow 中构建一个带有循环的简单 RNN?

    我刚刚开始使用 TensorFlow 正在尝试实现一个非常简单的 RNN RNN 有x作为输入 y作为输出 仅由一个层组成 该层需要x并将之前的输出作为输入 这是我想到的事情的图片 问题是 我看不到任何通过 TensorFlow API 构