转自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 中三种启动图用法相关推荐

  1. Spring Boot项目(Maven\Gradle)三种启动方式及后台运行详解

    Spring Boot项目三种启动方式及后台运行详解 1 Spring Boot项目三种启动方法 运行Application.java类中的Main方法 项目管理工具启动 Maven项目:mvn sp ...

  2. Tomcat介绍及三种启动方式的区别

    一.Tomcat的下载 二.Tomcat目录说明 三.Tomcat常用命令 四.Tomcat服务的安装 五.Tomcat启动的三种方式 六.三种启动方式的区别 七.Tomcat端口占用问题 一.Tom ...

  3. zynq学习03 zynq中三种实现GPIO的方式

    http://m.blog.csdn.net/article/details?id=52123465 http://blog.chinaaet.com/songhuangong/p/43084 本文介 ...

  4. C#中三种定时器对象的比较

    ·关于C#中timer类 在C#里关于定时器类就有3个 1.定义在System.Windows.Forms里 2.定义在System.Threading.Timer类里 3.定义在System.Tim ...

  5. STM32三种启动模式 boot0 boot1

    STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存=芯片内置的Flash. 2)SRAM=芯片内置的RAM区,就是内存啦. 3)系统存储器=芯片内部一块特定的区域,芯片出厂时在 ...

  6. .NetCore中三种注入方式的思考

    .NetCore中三种注入方式的思考 原文:.NetCore中三种注入方式的思考 该篇内容由个人博客点击跳转同步更新!转载请注明出处! .NetCore彻底诠释了"万物皆可注入"这 ...

  7. tomcat中三种部署项目的方法(转)

    tomcat中三种部署项目的方法 第一种方法:在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加:  <Context path="/h ...

  8. QT中三种构建菜单栏的方法

    QT中三种构建菜单栏的方法 方法1 <C++ GUI programming with Qt 4, Second Edition>给出的一种方法:QMenum定义单个菜单,调用menuBa ...

  9. GPS接收机热启动、温启动、冷启动三种启动方式的区别

    众所周知GPS接收机定位的时候,需要两种基本信息,一种卫星星历和卫星的观测数据(伪距.载波相位.测距码).定位的条件星历和卫星的观测数据,缺一不可. 卫星星历是用来描述卫星轨道的参数,用这些参数可以计 ...

最新文章

  1. ubuntu16.04 安装CAJViewer 以及 安装wine /deepin-wine 图标异常的解决
  2. CoreSight介绍篇
  3. Django中url匹配规则的补充
  4. PHP不及格标红,php语言编写switch判断成绩代码。分别输出优秀、良好、中等、及格和不及格。...
  5. 平安保险基于 SPI 机制的 RocketMQ 定制化应用
  6. 【转】Android 带checkbox的listView 实现多选,全选,反选 -- 不错
  7. 近期资料分享汇总,还不快来看看你漏了哪份没拿?
  8. python函数和方法的编写原则_跟老齐学Python之传说中的函数编写条规
  9. 化学人学python有前途吗-用Python解析化学公式
  10. 魅族魅蓝note3完美开启usb调试模式的经验
  11. PHP执行系统外部命令函数:exec()、passthru()、system()、shell_exec()
  12. 如何调整转场时间和移动转场效果
  13. php显示上一次登陆的时间长,cookie实现显示上次登录时间的问题
  14. VC++6显示行号插件+VC6LineNumberAddin.dll+注册机
  15. SQL Server 2008 R2永久激活秘钥
  16. window双开微信
  17. FPGA控制_步进电机模块使用说明
  18. CURD同事狂刷阿里面试指南(恒山版),直接斩获七个offer
  19. [AHK]按住左键可以移动鼠标下的窗口
  20. 去中心化和中心化哪个才是未来,Dex.top教你熊市生存指南

热门文章

  1. 桩筏有限元中的弹性板计算_采用PKPM系列JCCAD软件桩筏筏板有限元方法计算的模型参数 -...
  2. Spring Cloud构建微服务架构:分布式服务跟踪(跟踪原理)【Dalston版】
  3. 美团点评境外度假团队前端项目开发实践总结
  4. 领域应用 | 小米在知识表示学习的探索与实践
  5. 领域应用 | 智能导购?你只看到了阿里知识图谱冰山一角
  6. 基于裁判文书与犯罪案例文本挖掘项目
  7. 给计算机处理器做手术来研究大脑
  8. 知识图谱最新权威综述论文解读:关系抽取
  9. java之spring mvc之拦截器
  10. Java 代码复用 —— 泛型