TensorFlow学习 -2
来源:互联网 发布:b2b数据采购平台 编辑:程序博客网 时间:2024/06/05 17:41
- 会话(TensorFlow运行模型)
会话拥有并管理TensorFlow程序运行时的所有资源。
两种使用会话的方式:
(1)需要调用明确调用会话生成函数和关闭会话函数
#创建一个会话sess = tf.Session()sess.run(...)#关闭会话是的本次运行中使用到的资源得到释放。sess.close()
(2)通过Python的上下文管理器来使用会话
#创建一个会话,并通过Python中的上下文管理器来管理会话with tf.Session() as sess: sess.run()#不需要在调用Session.close()函数来关闭会话#当上下文退出时关闭和资源释放也就自动完成了
TensorFlow不会自动生成默认的会话,需要手动指定。当默认的会话被指定之后可以通过tf.Tensor.eval函数计算一个张量的取值。
sess = tf.Session()with sess.as_default(): print(result.eval())
以下代码也可以完成相同的功能:
sess = tf.Session()#下面的两个命令有相同的功能print(sess.run(result))print(result.eval(session=sess))
通过设置默认会话的方式来获得张量的取值更为方便,即tf.InteractiveSession函数。使用这个函数会自动生成的会话注册为默认会话。
sess = tf.InteractiveSession()print(result.eval())sess.close()
无论使用哪种方法都可以通过ConfigProto Protocol Buffer来配置需要生成的会话。
config = tf.ConfigProto(allow_soft_placement=True, log_device_placement=True)sess1 = tf.InteractiveSession(config=config)sess2 = tf.Session(config=config)
通过ConfigProto可以配置并行的线程数、CPU分配策略、运算超时时间等参数。
其中,allow_soft_placement,当一下任意一个条件成立后,GPU上的运算可以放大CPU进行:
1,运算无法在GPU上执行。
2,没有GPU资源。
3,运算输入包含对CPU计算结果的引用。
参数默认值为False。
第二个参数为log_device_placement。当其为True时日志中将会记录每个节点被安排在哪个设备上用以方便调试。
阅读全文
0 0
- Tensorflow学习笔记(2)
- tensorflow 入门学习(2)
- TensorFlow学习日记2
- TensorFlow-mnist-学习-2
- Tensorflow学习笔记2
- TensorFlow学习 -2
- TensorFlow学习笔记2
- Tensorflow学习(2)
- [TensorFlow学习手记] 2
- tensorflow 学习笔记 2
- tensorflow学习(2)TensorFlow Mechanics 101
- 2、Tensorflow:TensorFlow深度学习入门(上)
- Tensorflow学习笔记(2)
- TensorFlow实战学习笔记2
- tensorflow 学习(2) cnn例子
- tensorflow 学习笔记(2)-basic_example
- tensorflow 学习2--- mnist测试
- TensorFlow 学习
- js 一些时间之间的转换
- CodeForces
- docker 出现 Error response from daemon
- Java集合类详解
- js中数组的一些使用
- TensorFlow学习 -2
- QPSK 调制与解调(Matlab仿真)
- C#实现对图片文件的压缩、裁剪操作实例
- 斐讯K2路由器刷固件实现校园网可使用
- mysql navicat编码保持一致不乱码
- 一个基于UDP的回显C/S(二)
- GSON的坑
- 用原生HTML5控件实现输入框自动提示(下拉列表)
- 精华文章——Web 研发模式演变