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程序中进行文件读取和写入操作的教程
Apr 28 Python
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
Aug 07 Python
使用matplotlib画散点图的方法
May 25 Python
Centos 升级到python3后pip 无法使用的解决方法
Jun 12 Python
Python3.6实现带有简单界面的有道翻译小程序
Apr 16 Python
python实现比较类的两个instance(对象)是否相等的方法分析
Jun 26 Python
python用线性回归预测股票价格的实现代码
Sep 04 Python
Win 10下Anaconda虚拟环境的教程
May 18 Python
Python打印不合法的文件名
Jul 31 Python
Python unittest装饰器实现原理及代码
Sep 08 Python
pandas中对文本类型数据的处理小结
Nov 01 Python
python可视化分析绘制带趋势线的散点图和边缘直方图
Jun 25 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
磨咖啡豆的密诀
2021/03/03 冲泡冲煮
PHP中变量引用与变量销毁机制分析
2014/11/15 PHP
怎样搭建PHP开发环境
2015/07/28 PHP
一个可绑定数据源的jQuery数据表格插件
2010/07/17 Javascript
Angular用来控制元素的展示与否的原生指令介绍
2015/01/07 Javascript
JavaScript实现列表分页功能特效
2015/05/15 Javascript
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
Bootstrap 实现查询的完美方法
2016/10/26 Javascript
textarea 在浏览器中固定大小和禁止拖动的实现方法
2016/12/03 Javascript
jquery实现表单获取短信验证码代码
2017/03/13 Javascript
基于vue+ bootstrap实现图片上传图片展示功能
2017/05/17 Javascript
angular中使用Socket.io实例代码
2017/06/03 Javascript
Angularjs过滤器实现动态搜索与排序功能示例
2017/12/13 Javascript
Vue2.4+新增属性.sync、$attrs、$listeners的具体使用
2020/03/08 Javascript
小程序使用分包的示例代码
2020/03/23 Javascript
js cavans实现静态滚动弹幕
2020/05/21 Javascript
vue element ui validate 主动触发错误提示操作
2020/09/21 Javascript
手机浏览器唤起微信分享(JS)
2020/10/11 Javascript
[01:02:20]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
[47:43]完美世界DOTA2联赛PWL S3 Magama vs GXR 第二场 12.19
2020/12/24 DOTA
[01:16:28]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第二场 2月23日
2021/03/11 DOTA
python共享引用(多个变量引用)示例代码
2013/12/04 Python
[原创]Python入门教程1. 基本运算【四则运算、变量、math模块等】
2018/10/28 Python
对Python w和w+权限的区别详解
2019/01/23 Python
浅谈Python中的继承
2020/06/19 Python
如何写出高性能的JSP和Servlet
2013/01/22 面试题
什么是反射
2012/03/17 面试题
师范毕业生自我鉴定
2014/01/15 职场文书
渡河少年教学反思
2014/02/12 职场文书
会计岗位职责范本
2014/03/07 职场文书
终止劳动合同证明书样本
2014/11/19 职场文书
护士节慰问信
2015/02/15 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
学校学习型党组织建设心得体会
2019/06/21 职场文书
一次项目中Thinkphp绕过禁用函数的实战记录
2021/11/17 PHP
【海涛七七解说】DCG第二周:DK VS 天禄
2022/04/01 DOTA