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操作使用MySQL数据库的实例代码
May 25 Python
Python3中使用PyMongo的方法详解
Jul 28 Python
python的多重继承的理解
Aug 06 Python
tensorflow创建变量以及根据名称查找变量
Mar 10 Python
python样条插值的实现代码
Dec 17 Python
python+numpy实现的基本矩阵操作示例
Jul 19 Python
基于Python的Jenkins的二次开发操作
May 12 Python
浅谈django 重载str 方法
May 19 Python
Python引入多个模块及包的概念过程解析
Sep 21 Python
python IP地址转整数
Nov 20 Python
TensorFlow2.0使用keras训练模型的实现
Feb 20 Python
python - timeit 时间模块
Apr 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
php中处理模拟rewrite 效果
2006/12/09 PHP
PHP foreach循环使用详解与实例代码
2010/05/08 PHP
PHP递归创建多级目录
2015/11/05 PHP
支付宝支付开发――当面付条码支付和扫码支付实例
2016/11/04 PHP
php防止sql注入的方法详解
2017/02/20 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
2018/05/23 PHP
Yii框架安装简明教程
2020/05/15 PHP
javascript真的不难-回顾一下基础知识
2013/01/15 Javascript
JS定时关闭窗口的实例
2013/05/22 Javascript
jquery实现多级下拉菜单的实例代码
2013/10/02 Javascript
JavaScript实现检查页面上的广告是否被AdBlock屏蔽了的方法
2014/11/03 Javascript
使用mini-define实现前端代码的模块化管理
2014/12/25 Javascript
JavaScript仿静态分页实现方法
2015/08/04 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
2015/12/08 Javascript
Web前端开发工具——bower依赖包管理工具
2016/03/29 Javascript
微信小程序 122100版本更新问题解决方案
2016/12/22 Javascript
JavaScript基本类型值-Number类型
2017/02/24 Javascript
JavaScript实现简单精致的图片左右无缝滚动效果
2017/03/16 Javascript
微信小程序实战之自定义模态弹窗(8)
2017/04/18 Javascript
JavaScript生成简单等差数列
2017/11/28 Javascript
Node错误处理笔记之挖坑系列教程
2018/06/05 Javascript
Vue中的组件及路由使用实例代码详解
2019/05/22 Javascript
javascript触发模拟鼠标点击事件
2019/06/26 Javascript
原生JavaScript之es6中Class的用法分析
2020/02/23 Javascript
Python函数中*args和**kwargs来传递变长参数的用法
2016/01/26 Python
使用XML库的方式,实现RPC通信的方法(推荐)
2017/06/14 Python
python脚本开机自启的实现方法
2019/06/28 Python
python Django框架实现web端分页呈现数据
2019/10/31 Python
利用python绘制中国地图(含省界、河流等)
2020/09/21 Python
Django路由层URLconf作用及原理解析
2020/09/24 Python
澳大利亚电商Catch新西兰站:Catch.co.nz
2020/05/30 全球购物
工商管理专业应届生求职信
2013/11/04 职场文书
yy婚礼司仪主持词
2014/03/14 职场文书
在宿舍喝酒的检讨书
2014/09/28 职场文书
感恩母亲节活动总结
2015/02/10 职场文书
2015年领班工作总结
2015/04/29 职场文书