Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在递归循环中分配给TensorFlow变量

在递归循环中分配给TensorFlow变量
EN

Stack Overflow用户
提问于 2018-08-20 11:35:59
回答 1查看 132关注 0票数 2

在Tensorflow 1.9中,我希望创建一个网络,然后递归地将网络的输出(预测)反馈到网络的输入中。在这个循环中,我希望将网络所做的预测存储在一个列表中。

以下是我的尝试:

代码语言:javascript
运行
AI代码解释
复制
    # Define the number of steps over which to loop the network
    num_steps = 5

    # Define the network weights
    weights_1 = np.random.uniform(0, 1, [1, 10]).astype(np.float32)
    weights_2 = np.random.uniform(0, 1, [10, 1]).astype(np.float32)

    # Create a variable to store the predictions, one for each loop
    predictions = tf.Variable(np.zeros([num_steps, 1]), dtype=np.float32)

    # Define the initial prediction to feed into the loop
    initial_prediction = np.array([[0.1]], dtype=np.float32)
    x = initial_prediction

    # Loop through the predictions
    for step_num in range(num_steps):
        x = tf.matmul(x, weights_1)
        x = tf.matmul(x, weights_2)
        predictions[step_num-1].assign(x)

    # Define the final prediction
    final_prediction = x

    # Start a session
    sess = tf.Session()
    sess.run(tf.global_variables_initializer())

    # Make the predictions
    last_pred, all_preds = sess.run([final_prediction, predictions])
    print(last_pred)
    print(all_preds)

这个打印出来:

代码语言:javascript
运行
AI代码解释
复制
[[48.8769]]

[[0.]
 [0.]
 [0.]
 [0.]
 [0.]]

因此,虽然final_prediction的值看起来是正确的,但predictions的值并不如我所期望的那样。predictions似乎从来没有被实际分配给,尽管行predictions[step_num-1].assign(x)

请有人给我解释一下为什么这不管用,我该做什么呢?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-20 13:14:09

之所以会发生这种情况,是因为assign ist和其他任何TF一样只是一个TF op,因此只有在需要时才会执行。由于到final_prediction的路径上没有任何东西依赖于赋值op,而且predictions只是一个变量,所以分配永远不会执行。

我认为最直截了当的解决办法是替换这条线路

代码语言:javascript
运行
AI代码解释
复制
predictions[step_num-1].assign(x)

通过

代码语言:javascript
运行
AI代码解释
复制
x = predictions[step_num-1].assign(x)

这是因为assign还返回它正在赋值的值。现在,要计算final_prediction TF,实际上需要“通过”assign操作,因此应该执行任务。

另一种选择是使用tf.control_dependencies,这是一种在计算其他操作时“强迫”TF计算特定操作的方法。但是,在这种情况下,它可能有点不舒服,因为我们要强制的op (assign)取决于循环中正在计算的值,而且我不确定TF在这种情况下执行操作的顺序。下列措施应能发挥作用:

代码语言:javascript
运行
AI代码解释
复制
for step_num in range(num_steps):
    x = tf.matmul(x, weights_1)
    x = tf.matmul(x, weights_2)
    with tf.control_dependencies([predictions[step_num-1].assign(x)]):
        x = tf.identity(x)

我们使用tf.identity作为noop,只是为了用control_dependencies包装一些东西。我认为这是两者之间比较灵活的选择。然而,它附带了在医生们中讨论的一些注意事项。

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

https://stackoverflow.com/questions/51937445

复制
相关文章
【HTML5】HTML5 新增 input 表单 ( 邮箱输入表单 | 网址输入表单 | 日期输入表单 | 时间输入表单 | 电话输入表单 | 搜索栏输入表单 | 颜色选择器输入表单 )
一、HTML5 新增 input 表单 ---- HTML5 新增 input 表单 : 邮箱输入表单 : 必须输入邮箱 , 如果输入格式错误 , 提交时会在对话框中报错 ; <input type="email" /> URL 输入表单 : 只能输入网址 , 格式错误会在对话框中报错 ; <input type="url" /> 日期输入表单 : 右侧的下拉菜单选择日期 ; 如果在手机中打开 , 会弹出手机中自带的日期选择对话框 ; <input type="date" /> 时间输入表
韩曙亮
2023/04/24
3.4K0
【HTML5】HTML5 新增 input 表单 ( 邮箱输入表单 | 网址输入表单 | 日期输入表单 | 时间输入表单 | 电话输入表单 | 搜索栏输入表单 | 颜色选择器输入表单 )
HTML 表单和输入
表单元素是允许用户在表单中输入内容,比如:文本域(textarea)、下拉列表、单选框(radio-buttons)、复选框(checkboxes)等等。
用户8442333
2021/08/21
2K0
在HTML中如何使用CSS?
一、前言 在 HTML 中使用 CSS,包括内联式、内嵌式、链接式和导入式。 二、分类 2.1 内联式 内联式是所有样式应用方式中最为直接的一种,它通过对 HTML 标记使用 属性,将 CSS 代码直接写在其中。 内联式是最简单、直接的 CSS 使用方法,但它的针对性很明显,只能作用于当前标记,造成代码冗余,维护比较困难。 2.2 内嵌式 内嵌式与内联式使用方法不同,它将 CSS 代码写在 标记之间,并需要采用 标记进行声明。 使用内嵌式 CSS 用法时 CSS 代码将被集中放在 标记中,这样方便查
企鹅号小编
2018/02/01
8.6K0
AngularJS中使用表单输入的应用设计
在Angular中使用表单元素非常方便。正如我们在前面几个例子中看到的,你可以使用ng-model属性把元素绑定到你的模型属性上。这一机制对于所有标准的表单元素都可以起作用,例如文本框、单选按钮、复选
企鹅号小编
2018/01/08
2.1K0
AngularJS中使用表单输入的应用设计
php将表单中数据传入到数据库
1 <html> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 4 <title>无标题文档</title> 5 </head> 6 7 <body> 8 <form action="" method="post">//创建表单 9 姓名 10 <input type="text" name="str"> 11 <input type="submit" name="submit
码缘
2019/09/11
2.2K0
HTML中的表单
表单的用途很多。表单的用途主要用来收集客户端提供的相关信息,是网页具有相互交互的功能,是用户与网站实现交互的重要手段。当用户填写完信息后做提交操作,将表单的信息从客户端的浏览器传送到服务器上,经过服务器处理后,再将用户所需要的信息传送回客户端的浏览器上。在网页中,最常见的表单形式有文本框,密码文本框,单选按钮,复选框,按钮(普通,提交,重置),文件域或图像域,文本域和列表(菜单)。
小末快跑
2019/07/03
5.4K0
如何使用JS将 HTML 页面或表单转化为 PDF文档
PDF 是一种流行的文件格式,我们用来在不同平台和设备上呈现和共享具有固定布局的文档。
前端达人
2023/08/31
5920
如何使用JS将 HTML 页面或表单转化为 PDF文档
通过Bootstrap 输入框组,表单控件的使用案例
Bootstrap 支持的另一个特性,输入框组。输入框组扩展自 表单控件。使用输入框组,您可以很容易地向基于文本的输入框添加作为前缀和后缀的文本或按钮。
好派笔记
2021/09/18
2K0
layui表单提交参数如何传递_HTML中form表单数据提交方式
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/08
3.3K0
如何是HTML页面中的表单居中显示[通俗易懂]
在进行前端页面设置的时候,发现写完的form表单始终无法居中显示,详细如图1所示:
全栈程序员站长
2022/09/20
7.8K0
如何是HTML页面中的表单居中显示[通俗易懂]
如何创建HTML表单?html表单代码怎么写[通俗易懂]
html表单代码是什么?如何创建HTML表单?这些对于新手会感到陌生,下面我们为你总结一下html表单代码怎么写?以及html表单的创建?
全栈程序员站长
2022/09/22
6.7K0
数据是如何输入到神经网络中
我们在做深度学习任务的时候,总会有这样的困惑? 比如我们做的CV项目,那么我们采集的图像数据集是如何输入到神经网络中去的呢?图像中的特征又是如何提取的呢?
杨鹏伟
2022/07/17
7540
数据是如何输入到神经网络中
如何使用 Tailwind CSS 设计高级自定义动画
Tailwind CSS,一款流行的实用型CSS框架,提供了一套强大的工具,可以轻松地创建令人惊艳的动画效果。
前端达人
2023/08/31
1.8K0
如何使用 Tailwind CSS 设计高级自定义动画
如何仅使用 JavaScript 将任何 HTML 页面或表单转化为 PDF文件
PDF 是一种流行的文件格式,我们用来在不同平台和设备上呈现和共享具有固定布局的文档。
winty
2023/08/23
1.6K0
如何仅使用 JavaScript 将任何 HTML 页面或表单转化为 PDF文件
将pandas数据显示到现有的flask html表中
2 pandas读写数据库 在python连接好数据库后,pandas可以利用read_sql()方法将数据读入DataFrame。这里可以看一下代码。
赵云龙龙
2020/12/15
4.3K0
将pandas数据显示到现有的flask html表中
如何使用免费控件将Word表格中的数据导入到Excel中
我通常使用MS Excel来存储和处理大量数据,但有时候经常会碰到一个问题—我需要的数据存储在word表格中,而不是在Excel中,这样处理起来非常麻烦,尤其是在数据比较庞大的时候,
全栈程序员站长
2022/07/05
4.4K0
如何使用免费控件将Word表格中的数据导入到Excel中
6.HTML输入表单标签元素介绍
描述: 表单是一个包含表单元素的区域,表单元素是允许用户在表单中输入内容,其包含 文本框、文本域(textarea)、按钮、下拉列表、单选框(radio-buttons)、复选框(checkboxes)等元素都要放在form标签里面或者进行form的id值的调用,否则提交的数据到不了后端。
全栈工程师修炼指南
2023/03/21
4.7K0
表单提交后端如何接收数据_html怎么接收表单提交的内容
然而,我们可以采取引入模块的做法来简化原生代码,并且可以实现文件上传的: 首先,我们需要在cmd或者powershell中安装这个模块:
全栈程序员站长
2022/11/08
5.9K0
表单提交后端如何接收数据_html怎么接收表单提交的内容
点击加载更多

相似问题

将HTML表单数据发布到Google电子表格

10

如何使用Google电子表格作为后端创建HTML数据输入表单

45

如何将数据从google表单输入到

12

将HTML表单发布到Google Docs电子表格

12

如何通过java将数据发布到html表单?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文