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 获取新浪微博的最新公共微博实例分享
Jul 03 Python
基于python(urlparse)模板的使用方法总结
Oct 13 Python
windows10下python3.5 pip3安装图文教程
Apr 02 Python
python通过伪装头部数据抵抗反爬虫的实例
May 07 Python
Django实现分页功能
Jul 02 Python
详解python实现小波变换的一个简单例子
Jul 18 Python
django框架中间件原理与用法详解
Dec 10 Python
使用tensorboard可视化loss和acc的实例
Jan 21 Python
解决 jupyter notebook 回车换两行问题
Apr 15 Python
python 实现分组求和与分组累加求和代码
May 18 Python
Python内存泄漏和内存溢出的解决方案
Sep 26 Python
Python中npy和mat文件的保存与读取
Apr 24 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
PHP中动态显示签名和ip原理
2007/03/28 PHP
PHP无法访问远程mysql的问题分析及解决
2013/05/16 PHP
JavaScript 解析读取XML文档 实例代码
2009/07/07 Javascript
javascript 语法基础 想学习js的朋友可以看看
2009/12/16 Javascript
iframe 上下滚动条如何默认在下方实现原理
2012/12/10 Javascript
js与jQuery 获取父窗、子窗的iframe
2013/12/20 Javascript
jQuery实现友好的轮播图片特效
2015/01/12 Javascript
jQuery实现渐变下拉菜单的简单方法
2015/03/11 Javascript
javascript字符串与数组转换汇总
2015/05/26 Javascript
JS实现淡蓝色简洁竖向Tab点击切换效果
2015/10/06 Javascript
javascript实现鼠标点击页面 移动DIV
2016/12/02 Javascript
使用jquery DataTable和ajax向页面显示数据列表的方法
2018/08/09 jQuery
微信小程序中遇到的iOS兼容性问题小结
2018/11/14 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
2019/05/08 Javascript
python实现html转ubb代码(html2ubb)
2014/07/03 Python
对Python新手编程过程中如何规避一些常见问题的建议
2015/04/01 Python
python中随机函数random用法实例
2015/04/30 Python
python查找指定具有相同内容文件的方法
2015/06/28 Python
Python 读写文件和file对象的方法(推荐)
2016/09/12 Python
Python实现的弹球小游戏示例
2017/08/01 Python
python通过opencv实现批量剪切图片
2017/11/13 Python
python @property的用法及含义全面解析
2018/02/01 Python
Python错误处理操作示例
2018/07/18 Python
Python 实现两个服务器之间文件的上传方法
2019/02/13 Python
django之使用celery-把耗时程序放到celery里面执行的方法
2019/07/12 Python
关于sys.stdout和print的区别详解
2019/12/05 Python
澳大利亚婴儿喂养品牌:Cherub Baby
2018/11/01 全球购物
美国花园雕像和家居装饰网上商店:Design Toscano
2019/03/09 全球购物
大学毕业自我评价
2014/02/02 职场文书
工作评语大全
2014/04/26 职场文书
乡镇八一建军节活动方案
2014/08/24 职场文书
地震捐款倡议书
2014/08/29 职场文书
2014年领导班子专项整治整改方案
2014/09/28 职场文书
教学副校长工作总结
2015/08/13 职场文书
MySQL快速插入一亿测试数据
2021/06/23 MySQL
适合后台管理系统开发的12个前端框架(小结)
2021/06/29 Javascript