会话模式一:

需要明确调用会话生成函数和关闭函数

# 创建一个会话
sess = tf.Session()
# 使用创建好的会话进行运算
sess.run("要运算的对象")
# 关闭会话使本次运行使用的资源得以释放
sess.close()

会话模式二:

创建一个会话,并通过python上下文管理器管理会话

with tf.Session() as sess:
sess.run(...) # 括号里是要运行的对象
# 计算结束后会自动关闭会话(仅能在with内部使用)

通过会话获取张量的取值tf.Tensor.eval函数

sess = tf.Session()
with sess.as_default():
print(result.eval()) """
输出
[4. 6.]
"""

TensorFlow提供了一个在交互式环境下直接构建默认的会话函数(tf.InteractiveSession)

sess = tf.InteractiveSession()
print(result.eval())
# 也是需要关闭的
sess.close()

通过tf.InteractiveSession()可以省去将产生的会话注册为默认会话的过程,可直接使用result.eval()获取张量值
以上会话都可以使用Config Proto Buffer来配置需要生成的会话

config = tf.ConfigProto(allow_soft_placement=True, log_device_placement=True)
sess1 = tf.InteractiveSession(config=config)
sess2 = tf.Session(config=config)

通过配置ConfigProto可以配置类似并行的线程数、GPU分配策略、运算超时计算等参数。这些参数中最常用的有两个:

第一个是allow_soft_placement:这是一个bool型参数,当设置为True时GPU上的运算可以放到CPU上进行

  1. 运算无法在GPU上执行
  2. 没有相应的GPU资源(找不到指定的GPU)
  3. 运算输入包括对CPU计算结果的引用

这个参数默认值为False、但是为了提高代码的可移植性,在GPU环境下一般设置为True,这样可以让计算可以在不同版本的GPU,不同数量的GPU设备上运行

第二个是log_device_placement:是一个bool型参数。当其为True时,日志中会记录每个节点会被安排到哪个设备上以便调试,在生产环境中通常设置False以减少日志量

TensorFlow 运行模型--会话(Session)的更多相关文章

  1. Tensorflow会话Session

    转载自: http://blog.csdn.net/Hanging_Gardens/article/details/72784392 https://www.cnblogs.com/hypnus-ly ...

  2. tensorflow+入门笔记︱基本张量tensor理解与tensorflow运行结构

    Gokula Krishnan Santhanam认为,大部分深度学习框架都包含以下五个核心组件: 张量(Tensor) 基于张量的各种操作 计算图(Computation Graph) 自动微分(A ...

  3. 第五节,TensorFlow编程基础案例-session使用(上)

    在第一节中我们已经介绍了一些TensorFlow的编程技巧;第一节,TensorFlow基本用法,但是内容过于偏少,对于TensorFlow的讲解并不多,这一节对之前的内容进行补充,并更加深入了解讲解 ...

  4. [tensorflow] 线性回归模型实现

    在这一篇博客中大概讲一下用tensorflow如何实现一个简单的线性回归模型,其中就可能涉及到一些tensorflow的基本概念和操作,然后因为我只是入门了点tensorflow,所以我只能对部分代码 ...

  5. 学习笔记CB014:TensorFlow seq2seq模型步步进阶

    神经网络.<Make Your Own Neural Network>,用非常通俗易懂描述讲解人工神经网络原理用代码实现,试验效果非常好. 循环神经网络和LSTM.Christopher ...

  6. 『TensorFlow』模型保存和载入方法汇总

    『TensorFlow』第七弹_保存&载入会话_霸王回马 一.TensorFlow常规模型加载方法 保存模型 tf.train.Saver()类,.save(sess, ckpt文件目录)方法 ...

  7. TensorFlow 自定义模型导出:将 .ckpt 格式转化为 .pb 格式

    本文承接上文 TensorFlow-slim 训练 CNN 分类模型(续),阐述通过 tf.contrib.slim 的函数 slim.learning.train 训练的模型,怎么通过人为的加入数据 ...

  8. 【转载】 TensorFlow函数:tf.Session()和tf.Session().as_default()的区别

    原文地址: https://blog.csdn.net/Enchanted_ZhouH/article/details/77571939 ------------------------------- ...

  9. Python之TensorFlow的模型训练保存与加载-3

    一.TensorFlow的模型保存和加载,使我们在训练和使用时的一种常用方式.我们把训练好的模型通过二次加载训练,或者独立加载模型训练.这基本上都是比较常用的方式. 二.模型的保存与加载类型有2种 1 ...

随机推荐

  1. wps表格开发C#

    1.需要添加引用etapi.dll,这个dll在你的wps的安装目录下面可以找到. 2.主要的类: Excel.Application:顶层对象 WorkBook:工作簿 WorkSheet:表 Ra ...

  2. pyton unittest

    在说unittest之前,先说几个概念: TestCase 也就是测试用例 TestSuite 多个测试用例集合在一起,就是TestSuite TestLoader是用来加载TestCase到Test ...

  3. python中 函数名加括号与不加括号

    加括号是返回函数的结果,不加括号相当于函数的调用.

  4. Hive表种map字段的查询取用

    建表可以用 map<string,string> 查询时可以按照 aaa[bbb], aaa 是map字段名,bbb是其中的参数名,就可以取到这个参数的值了 当参数名bbb是string时 ...

  5. Rhythmk 一步一步学 JAVA(6): JSP 语法学习笔记

    1.修改JSP页面模版: 找到MyEclips安装目录,搜索“Jsp.vtl”,找到该文件修改编码,以及一些不需要用到的代码. 2.查找项目生成的Servlet文件路径: 查看当前项目父级目录搜索 . ...

  6. 下载安装 STS(Spring Tool Suite),推荐对应 Eclipse 版本号,适用于Windows32位(xp、2003)

    sts下载地址:https://spring.io/tools/sts/legacy 虽然sts内置了版本对应的eclipse,仍推荐使用当前环境下稳定使用的eclipse版本. Start 找到ec ...

  7. ps命令详解

    1.简介: ps 命令有两种不同的语法风格 —— BSD 与 UNIX 两种风格.新手常常对这两种形式产生误解,因此我们有必要在这里作一个简单的说明: ps aux 与 ps -aux 是不同的,例如 ...

  8. linux shell并发执行命令

    一般我们在linux上十一shell命令的批量执行操作,一般使用for或者while 循环进行操作,但是这样有一个问题,for或者while本质上是串行的,并不能,如果某一个命令执行耗费的时间比较长, ...

  9. 手工搭建web项目

    https://www.cnblogs.com/skyblue-li/p/5966311.html

  10. easyui的datagrid改变单元格颜色

    另一种方法:https://www.cnblogs.com/raitorei/p/10395233.html easyui的datagrid改变整行颜色:https://www.cnblogs.com ...