TensorFlow Session会话控制&Variable变量详解


Posted in Python onJuly 30, 2018

这篇文章主要讲TensorFlow中的Session的用法以及Variable。

Session会话控制

Session是TensorFlow为了控制和输出文件的执行语句,运行session.run()就能获得运算结果或者部分运算结果。我们在这里使用一个简单的矩阵相乘的例子来解释Session的两个用法。

首先我们要加载TensorFlow并建立两个矩阵以及两个矩阵所做的运算。这里我们建立一个一行两列的matrix1和一个两行一列的matrix2,让它们做矩阵的乘法。tf.matmul相当于numpy中的dot方法,都是做矩阵的product。

import tensorflow as tf

matrix1 = tf.constant([[2, 2]])
matrix2 = tf.constant([[2], [2]])

product = tf.matmul(matrix1, matrix2)

接下来我们使用第一种会话控制Session来激活product并得到计算结果:

sess = tf.Session()
result = sess.run(product)
print(result)
sess.close()

运行结果为:[[8]]

还有另外一种Session的打开模式同样可以激活product:

with tf.Session() as sess:
 result2 = sess.run(product)
 print(result2)

运行结果同样是[[8]]。在这里我们不需要我们单独做sess.close()的操作。

variable变量

与python的变量不同,在TensorFlow中如果我们要定义一个变量,必须使用tf.Variable()来定义它才是个变量,括号中可以包含的参数有变量的值,变量的名称等。这里我们用一个简单的加法运算来解释变量的用法。

首先导入tensorflow并定义变量state, 常量one,以及运算方法tf.add, tf.assign

import tensorflow as tf

state = tf.Variable(0, name='counter')
# 输出变量名
print(state.name)
one = tf.constant(1)

new_value = tf.add(state, one)
# 将new_value加载到state里面,这时state的值就是new_value
update = tf.assign(state, new_value)

我们可以将变量打印出来得到变量的信息:

init = tf.global_variables_initializer()

接下来我们就要用Session来将变量激活进行运算,并打印出state的结果:

with tf.Session() as sess:
 sess.run(init)
 for _ in range(3):
  sess.run(update)
  print(sess.run(state))

这里我们让update运行3次,也就是做3次加法,运行结果为:

TensorFlow Session会话控制&Variable变量详解

以上这篇TensorFlow Session会话控制&Variable变量详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现Windows上气泡提醒效果的方法
Jun 03 Python
Python日期的加减等操作的示例
Aug 15 Python
Python实现的双色球生成功能示例
Dec 18 Python
Pycharm设置界面全黑的方法
May 23 Python
python爬虫实现中英翻译词典
Jun 25 Python
PyQtGraph在pyqt中的应用及安装过程
Aug 04 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
Oct 21 Python
python文字转语音的实例代码分析
Nov 12 Python
Tensorflow设置显存自适应,显存比例的操作
Feb 03 Python
在django中form的label和verbose name的区别说明
May 20 Python
Python 如何在字符串中插入变量
Aug 01 Python
Python使用永中文档转换服务
May 06 Python
TensorFlow Session使用的两种方法小结
Jul 30 #Python
教你利用Python玩转histogram直方图的五种方法
Jul 30 #Python
对TensorFlow中的variables_to_restore函数详解
Jul 30 #Python
Python实现模拟浏览器请求及会话保持操作示例
Jul 30 #Python
tensorflow 打印内存中的变量方法
Jul 30 #Python
Python实现的多叉树寻找最短路径算法示例
Jul 30 #Python
tensorflow: variable的值与variable.read_value()的值区别详解
Jul 30 #Python
You might like
收音机怀古---春雷3P7图片欣赏
2021/03/02 无线电
PHP新手用的Insert和Update语句构造类
2012/03/31 PHP
win7计划任务定时执行PHP脚本设置图解
2014/05/09 PHP
调试WordPress中定时任务的相关PHP脚本示例
2015/12/10 PHP
thinkPHP5 tablib标签库自定义方法详解
2017/05/10 PHP
PHP实现防止表单重复提交功能【基于token验证】
2018/05/24 PHP
浅析PHP7 的垃圾回收机制
2019/09/06 PHP
从javascript语言本身谈项目实战
2006/12/27 Javascript
js 获取input点选按钮的值的方法
2014/04/14 Javascript
多引号嵌套的变量命名的问题
2014/05/09 Javascript
js实现简单随机抽奖的方法
2015/01/27 Javascript
jQuery实现html表格动态添加新行的方法
2015/05/28 Javascript
jQuery自动添加表单项的方法
2015/07/13 Javascript
AngularJS入门教程之模块化操作用法示例
2016/11/02 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
2017/01/08 Javascript
使用vue实现点击按钮滑出面板的实现代码
2017/01/10 Javascript
js中如何完美的解析数据
2018/03/18 Javascript
原生JS使用Canvas实现拖拽式绘图功能
2019/06/05 Javascript
javascript-hashchange事件和历史状态管理实例分析
2020/04/18 Javascript
[01:14:35]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第一局
2016/02/26 DOTA
python实现的文件夹清理程序分享
2014/11/22 Python
python任务调度实例分析
2015/05/19 Python
Python 常用 PEP8 编码规范详解
2017/01/22 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
2017/05/19 Python
Python实现随机生成有效手机号码及身份证功能示例
2017/06/05 Python
python利用正则表达式排除集合中字符的功能示例
2017/10/10 Python
Python开发虚拟环境使用virtualenvwrapper的搭建步骤教程图解
2018/09/19 Python
PyQt5实现五子棋游戏(人机对弈)
2020/03/24 Python
Python namedtuple命名元组实现过程解析
2020/01/08 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
2020/01/19 Python
简单了解Java Netty Reactor三种线程模型
2020/04/26 Python
HTML5实现锚点时请使用id取代name
2013/09/06 HTML / CSS
Pop In A Box英国:Funko POP搪胶公仔
2019/05/27 全球购物
材料专业毕业生求职信
2014/02/26 职场文书
PL350与SW11的比较
2021/04/22 无线电
MySQL 覆盖索引的优点
2021/05/19 MySQL