tensorflow学习笔记(1):sess.run()

原址:https://www.2cto.com/kf/201610/559887.html

session.run()

session.run([fetch1, fetch2])

import tensorflow as tf
state = tf.Variable(0.0,dtype=tf.float32)
one = tf.constant(1.0,dtype=tf.float32)
new_val = tf.add(state, one)
update = tf.assign(state, new_val)
init = tf.initialize_all_variables()
with tf.Session() as sess:sess.run(init)for _ in range(10):u,s = sess.run([update,state])print s

在我的电脑上输出是 0.0, 2.0, 3.0, 4.0, 5.0, 5.0, 6.0, 8.0, 9.0, 10.0
是不是很奇怪为什么输出的不是0.0–9.0, 或1.0–10.0
我的猜测是:底层在fectch这两个值的时候,是并行运算的,第一次:程序先fetch “state”的值,然后fetch “update”(导致了assign op)。 第二次,程序先fetch “update”(导致了 assign op),然后fetch “state” . 所以导致了第一次输出是0.0, 第二次输出是2.0.
注:(update op 更新state的值, 而我在fetch update 的同时也fetch 了state, 只有在这种情况下才会出现上述的问题。 如果我不fetch state ,而去fetch add1的话, 就不会出现上述问题,可见底层是先更新了state的值,才去计算add1。这样的话我们经常使用的代码sess.run([train_op, loss]),获取的loss就是train_op执行完之后的loss了)

执行sess.run()时,tensorflow是否计算了整个图

我们在编写代码的时候,总是要先定义好整个图,然后才调用sess.run()。那么调用sess.run()的时候,程序是否执行了整个图

import tensorflow as tf
state = tf.Variable(0.0,dtype=tf.float32)
one = tf.constant(1.0,dtype=tf.float32)
new_val = tf.add(state, one)
update = tf.assign(state, new_val) #返回tensor, 值为new_val
update2 = tf.assign(state, 10000)  #没有fetch,便没有执行
init = tf.initialize_all_variables()
with tf.Session() as sess:sess.run(init)for _ in range(3):print sess.run(update)

和上个程序差不多,但我们这次仅仅是fetch “update”,输出是1.0 , 2.0, 3.0,可以看出,tensorflow并没有计算整个图,只是计算了与想要fetch 的值相关的部分

sess.run() 中的feed_dict

我们都知道feed_dict的作用是给使用placeholder创建出来的tensor赋值。其实,他的作用更加广泛:feed 使用一个 值(不能是tensor,可以是tensor.eval())临时替换一个 op 的输出结果. 你可以提供 feed 数据作为 run() 调用的参数. feed 只在调用它的方法内有效, 方法结束, feed 就会消失.

y = tf.Variable(1)
with tf.Session() as sess:tf.initialize_all_variables().run()print sess.run(y,feed_dict={y:3}) #使用3 替换掉tf.Variable(1)的输出结果,所以打印出来3print sess.run(y)  #由于feed只在调用他的方法范围内有效,所以这个打印的结果是 1

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/540126.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于MapReduce单词统计的例子:

要统计的文件的文件名为hello hello中的内容如下 hello  you hello  me 通过MapReduce程序统计出文件中的各个单词出现了几次.(两个单词之间通过tab键进行的分割) 1 import java.io.IOException;2 3 import mapreduce.WordCountApp.WordCountMapper.WordCountReducer;4 5 i…

朵朵糖故事机器人怎么更新_“故事贩卖机”专栏创始人温酒的新作,奇幻世界的暖心物语很治愈...

我有酒,你有故事吗?2015年,知乎上一个叫“故事贩卖机”的专栏横空出世,凭着一个个脑洞大开的故事,这个温吞而又温暖的专栏很快得到了读者的认可。而其中的创始人兼主打写手温酒,更是被粉丝们亲切地称呼为“…

python3 通过百度地图API获取城市POI点并存于CSV格式

原文信息: 作者:WenWu_Both 出处:http://blog.csdn.net/wenwu_both/article/ 版权:本文版权归作者和CSDN博客共有 转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中…

使用dropwizard(3)-加入DI-dagger2

前言 习惯了Spring全家桶,对spring的容器爱不释手。使用dropwizard,看起来确实很轻,然而,真正使用的时候不得不面临一个问题。我们不可能一个resource就能把所有的业务逻辑囊括!那么,必然就要有负责处理逻辑…

日历对象导哪个包_微信新表情瞬间炸裂,文物表情包永恒萌呆!

11月18日晚微信上架了6个全新表情瞬间炸裂网友一天时间阅读达16.2亿,讨论15.8万次#微信新表情#话题翻白眼、666、让我看看叹气、苦涩、裂开微信新表情虽然666但文物表情包的呆萌也能让人瞬间裂开更能完全诠释我的各(bu)种(wen ding)情绪先对比一下最新的6个表情[翻白…

Tensorflow一些常用基本概念与函数(1)

文章转至 作者:林海山波出处:https://me.csdn.net/lenbow版权:本文版权归作者和CSDN博客共有 写这篇博客只为自己学习路上做个笔记,方便自己学习记忆,大家如果想看详细文章可以去原作者主页去看,同时他…

Lineageos14 20180525更新

一、ROM注意事项 拒绝任何无意义二次打包! C大停止更新Lineageos14,我来接力。 二、ROM更新日志 20180525更新: 1、常规更新 2、安全补丁2018年5月5日 20180406更新: 1、增加通话录音,常规更新 2、安全补丁2018年3月…

蓝牙连接不上车要hfp_如何正确使用车载蓝牙播放器呢?

车载蓝牙是以无线蓝牙技术为基础而设计研发的车内无线免提系统。可以连接我们设计进行听歌和打电话十分方便,下面诺金小编带大家一起来看看!下面诺金小编带大家一起来看看一、首先是把手机和车载蓝牙播放器打开,搜索车载蓝牙播放器“809”&am…

使用Eclipse+PyDev创建Django项目一windows下

开发条件:eclipsepydev插件django editor插件 关于eclipse安装小编就不多做介绍,我自己用的版本如下 1.安装pydev插件 启动Eclipse, 点击Help->Install New Software 弹出如下框 点击add 分别在 Name中填:Pydev, Location中填http://pydev.org/up…

如何避免踩坑--初创技术团队组建风险预估

闲来无事翻翻微信,发现有不少朋友公司在招技术负责人,跟他们聊了几句,发现大多数认知都是技术部门的效率与进度达不到要求,机缘巧合下,有幸到了Y公司跟其Boss会面,得知其技术团队效率低下,总是不…

查询空缺_携程旅行2021校招开启,9大类职位,1000+岗位空缺,本科及以上学历...

携程旅行2021秋季校招正式开启!携程集团(纳斯达克股票代码:TCOM)是一家领先的在线旅游服务提供商,旗下品牌包括携程、Trip.com、天巡和去哪儿。携程集团能够整合复杂的旅游相关信息并通过其先进的移动端App、网站以及24小时无间断的免费客户服…

Django web开发笔记

一、Django开发环境搭建: 1.安装python:django可运行于版本python 2.7、3.x 2.安装相应的IDE 3.安装pip:sudo apt-get install python-pip(linux为例) 4.安装django:1)pip安装:sudo pip ins…

android 前置摄像头预览时 镜像翻转_全面屏时代,原来手机前置摄像头都隐藏着一些缺点,你发现了吗?...

随着真全面屏时代的到来,人们已经不再满足于刘海屏、水滴屏以及挖孔屏等,越来越多的手机厂商和消费者开始追求"100%全面屏"。于是如何解决手机前置摄像头便成了最大的难题,毕竟只要在屏幕上放置摄像头必然会影响屏占比,…

Java 调用 Python 方法学习笔记

文章转载自: 作者:IT_xiao_bai 来源:CSDN 原文:https://blog.csdn.net/IT_xiao_bai/article/details/79074988 前一阵自刚好用python做了一个sae的算法模型,结果公…

catia怎么将特征参数化_VSLAM中特征点的参数化表示

VSLAM中特征点的参数化表示有很多,最直接的是用三维坐标XYZ来表示,但通常大家更喜欢用逆深度表示,因为逆深度优势在于能够建模无穷远点。Open VINS文档中给出了五种特征参数化表示:Global XYZ,Global Inverse Depth&am…

【广州】Web前端工程师

互联网公司找人咯~ 我们公司:道乐科技(Dollar Tech)成立于2013年11月,是一家致力于为资产管理和财富管理行业提供技术、产品和运营服务的科技金融企业。三年来,道乐人始终坚持“以客户为中心,为客户提供高品…

Java 调用 Python 方法学习笔记---之---java调用python深度学习模型运算并返回运算结果给前端(2)

上一章写到Java 调用 Python 方法学习的三种方法,这里强调第三种方法。第三种方法本质上和第二种方法是一样的,都是应用到 Runtime.getRuntime().exec() 去执行文件。要深度理解这种方法,首先要先理解一下Runtime.getRuntime().exec() 。 R…

tbslog乱码转换_日文游戏乱码怎么办 乱码转换工具LocaleEmulator

by Nicho Feb.23,2017许多日文游戏有诸多地区限制,在 win7、win8、win10 上玩时候会经常遇到日文游戏乱码的情况,这时候就得用到乱码转换工具了,下面我们就来详细说明下使用方法。常用的有 microsoft locale、applocale、NTLEA 等&…

haarcascades---各种分类器xml文件下载地址

安装好opencv想找个人脸识别的小实验做做,后来发现没有配置文件,于是乎就找到了这个,所以就转载过来了。 下载地址:https://github.com/opencv/opencv/tree/master/data/haarcascades 转载地址:https://blog.csdn.ne…

vue 组件属性监听_vuejs组件内的对象属性监听问题

跟数据类型是有关的。当你把一个普通的 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 getter/setter。但是不是所有的变动都可以通过set/get捕捉到,比如一个数组l…