TensorFlow 中三种启动图用法
转自https://blog.csdn.net/lyc_yongcai/article/details/73467480
TensorFlow 中有三种启动图的方法:tf.Session(),tf.InteractivesSession(),tf.train.Supervisor().managed_session()
它们各自的用法如下:
(1)tf.Session():构造阶段完成后, 才能启动图。启动图的第一步是创建一个 Session
对象, 如果无任何创建参数, 会话构造器将启动默认图。
(2)tf.InteractivesSession():为了便于使用诸如 IPython之类的 Python 交互环境, 可以使用InteractiveSession 代替 Session 类, 使用 Tensor.eval()和 Operation.run()方法代替Session.run(). 这样可以避免使用一个变量来持有会话。
import tensorflow as tfmatrix1 = tf.constant([[3., 3.]])
matrix2 = tf.constant([[2.], [2.]])preduct = tf.matmul(matrix1, matrix2)sess_ = tf.InteractiveSession()
tf.global_variables_initializer().run()
print preduct.eval()sess_.close()
(3)tf.train.Supervisor().managed_session() :
与上面两种启动图相比较来说,Supervisor() 帮助我们处理一些事情:
(a) 自动去 checkpoint 加载数据或者初始化数据
(b)自动有一个 Saver ,可以用来保存 checkpoint
eg: sv.saver.save(sess, save_path)
(c) 有一个 summary_computed 用来保存 Summary
因此我们可以省略了以下内容:
(a)手动初始化或者从 checkpoint 中加载数据
(b)不需要创建 Saver 类, 使用 sv 内部的就可以
(c)不需要创建 Summary_Writer()
import tensorflow as tfa = tf.Variable(1)
b = tf.Variable(2)
c = tf.add(a, b)update = tf.assign(a, c)init = tf.global_variables_initializer()sv = tf.train.Supervisor(logdir="./tmp/", init_op=init)
saver = sv.saver
with sv.managed_session() as sess:for i in range(1000):update_ = sess.run(update)#print("11111", update)if i % 100 == 0:sv.saver.save(sess, "./tmp/", global_step=i)
TensorFlow 中三种启动图用法相关推荐
- Spring Boot项目(Maven\Gradle)三种启动方式及后台运行详解
Spring Boot项目三种启动方式及后台运行详解 1 Spring Boot项目三种启动方法 运行Application.java类中的Main方法 项目管理工具启动 Maven项目:mvn sp ...
- Tomcat介绍及三种启动方式的区别
一.Tomcat的下载 二.Tomcat目录说明 三.Tomcat常用命令 四.Tomcat服务的安装 五.Tomcat启动的三种方式 六.三种启动方式的区别 七.Tomcat端口占用问题 一.Tom ...
- zynq学习03 zynq中三种实现GPIO的方式
http://m.blog.csdn.net/article/details?id=52123465 http://blog.chinaaet.com/songhuangong/p/43084 本文介 ...
- C#中三种定时器对象的比较
·关于C#中timer类 在C#里关于定时器类就有3个 1.定义在System.Windows.Forms里 2.定义在System.Threading.Timer类里 3.定义在System.Tim ...
- STM32三种启动模式 boot0 boot1
STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存=芯片内置的Flash. 2)SRAM=芯片内置的RAM区,就是内存啦. 3)系统存储器=芯片内部一块特定的区域,芯片出厂时在 ...
- .NetCore中三种注入方式的思考
.NetCore中三种注入方式的思考 原文:.NetCore中三种注入方式的思考 该篇内容由个人博客点击跳转同步更新!转载请注明出处! .NetCore彻底诠释了"万物皆可注入"这 ...
- tomcat中三种部署项目的方法(转)
tomcat中三种部署项目的方法 第一种方法:在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加: <Context path="/h ...
- QT中三种构建菜单栏的方法
QT中三种构建菜单栏的方法 方法1 <C++ GUI programming with Qt 4, Second Edition>给出的一种方法:QMenum定义单个菜单,调用menuBa ...
- GPS接收机热启动、温启动、冷启动三种启动方式的区别
众所周知GPS接收机定位的时候,需要两种基本信息,一种卫星星历和卫星的观测数据(伪距.载波相位.测距码).定位的条件星历和卫星的观测数据,缺一不可. 卫星星历是用来描述卫星轨道的参数,用这些参数可以计 ...
最新文章
- ubuntu16.04 安装CAJViewer 以及 安装wine /deepin-wine 图标异常的解决
- CoreSight介绍篇
- Django中url匹配规则的补充
- PHP不及格标红,php语言编写switch判断成绩代码。分别输出优秀、良好、中等、及格和不及格。...
- 平安保险基于 SPI 机制的 RocketMQ 定制化应用
- 【转】Android 带checkbox的listView 实现多选,全选,反选 -- 不错
- 近期资料分享汇总,还不快来看看你漏了哪份没拿?
- python函数和方法的编写原则_跟老齐学Python之传说中的函数编写条规
- 化学人学python有前途吗-用Python解析化学公式
- 魅族魅蓝note3完美开启usb调试模式的经验
- PHP执行系统外部命令函数:exec()、passthru()、system()、shell_exec()
- 如何调整转场时间和移动转场效果
- php显示上一次登陆的时间长,cookie实现显示上次登录时间的问题
- VC++6显示行号插件+VC6LineNumberAddin.dll+注册机
- SQL Server 2008 R2永久激活秘钥
- window双开微信
- FPGA控制_步进电机模块使用说明
- CURD同事狂刷阿里面试指南(恒山版),直接斩获七个offer
- [AHK]按住左键可以移动鼠标下的窗口
- 去中心化和中心化哪个才是未来,Dex.top教你熊市生存指南