tensorflow中Session的种类以及与计算图的对应关系
来源:互联网 发布:java web项目源码下载 编辑:程序博客网 时间:2024/06/17 03:44
参考博客:http://blog.csdn.net/lujiandong1/article/details/53448012
http://blog.csdn.net/lyc_yongcai/article/details/73467480
Session的种类:
(1)普通的tf.Session()
(2)tf.InteractivesSession()
为了便于使用诸如 IPython之类的 Python 交互环境, 可以使用InteractiveSession 代替 Session 类, 使用 Tensor.eval()和 Operation.run()方法代替Session.run(). 这样可以避免使用一个变量来持有会话。
(3)tf.train.Supervisor().managed_session()
与上面两种启动图相比较来说,Supervisor() 帮助我们处理一些事情:
(a) 自动去 checkpoint 加载数据或者初始化数据
(b) 自动有一个 Saver ,可以用来保存 checkpoint( sv.saver.save(sess, save_path))
(c) 有一个 summary_computed 用来保存 Summary
因此我们可以省略了以下内容:
(a)手动初始化或者从 checkpoint 中加载数据
(b)不需要创建 Saver 类, 使用 sv 内部的就可以
(c)不需要创建 Summary_Writer()
tensorflow使用图来定义计算,在session中来执行图中定义的计算
tensorflow会为我们指定一张默认的图.然后sesssion会直接和该默认图相关联.
如果新建一个张图,那么就存在2张图,
首先看如下程序:
import tensorflow as tfwith tf.Graph().as_default(): a = tf.constant([5], name='a')init = tf.global_variables_initializer()with tf.Session() as sess: sess.run(init) print(sess.run(a))
程序会报错,因为init = tf.global_variables_initializer()操作并没有被包含在tf.Graph()中,所以这个init操作是对于系统默认的计算图进行的,同时Session也是对应系统默认的计算图。
注:所有没被包含在我们新建图中的操作都默认存在系统创建的计算图中
以下2种修改方法:
1.将init操作和session都放到 with tf.Graph().as_default():中
import tensorflow as tfwith tf.Graph().as_default(): a = tf.constant([5], name='a') init = tf.global_variables_initializer() with tf.Session() as sess: sess.run(init) print(sess.run(a))
2.为新建的Graph()对象创建一个名字,在Session()对象中加入该名字,此时Session不需要放在Graph()域中
import tensorflow as tfgraph = tf.Graph()with graph.as_default(): a = tf.constant([5], name='a') init = tf.global_variables_initializer()with tf.Session(graph=graph) as sess: sess.run(init) print(sess.run(a))
错误:session既然已经成为graph的session,就不能执行除graph计算图之外的操作
import tensorflow as tfgraph = tf.Graph()with graph.as_default(): a = tf.constant([5], name='a')init = tf.global_variables_initializer()with tf.Session(graph=graph) as sess: sess.run(init) print(sess.run(a))
- tensorflow中Session的种类以及与计算图的对应关系
- Session与Cookie的对应关系
- Tensorflow中 Graph和Session的关系
- opencv中的数据类型以及与vc++中 的对应关系
- client、server process以及session的对应关系
- 简单记录Tensorflow中Graph和Session的关系
- OpenGL中glVertex2f函数与gluOrtho2D的参数的对应关系,以及常见函数的对应坐标系
- OpenGL中glVertex2f函数与gluOrtho2D的参数的对应关系,以及常见函数的对应坐标系
- OpenGL中glVertex2f函数与gluOrtho2D的参数的对应关系,以及常见函数的对应坐标系
- mapping文件的编写(以及实体类与xml中类型的对应关系)
- 组播中MAC与组播MAC的对应关系计算
- 组播中MAC与组播MAC的对应关系计算
- STM32内存大小与地址的对应关系以及计算方法
- session和ip的对应关系
- strust2中JavaBean与session的关系
- redis 的五种类型以及对应操作
- java中常见的session种类
- PHP中Session原理以及和Cookie的关系
- 逻辑分析(1)
- 终于完成LR12录制app脚本第一步~
- 常用图像数据集资源收集
- gcc工作原理(转)
- JDBC连接-插入操作-带注释
- tensorflow中Session的种类以及与计算图的对应关系
- Robot Framwork +Selenium2环境搭建
- Java 使用 Redis
- writev与readv系统调用
- 【数据挖掘算法】关联规则——Fp-tree算法
- 前端学习
- Hibernate的学习之路十七(HQL条件查询)
- java之数组的索引,排序以及二维数组
- Learning Big Data with Amazon Elastic MapReduce.pdf 英文原版 免费下载