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调用SQLPlus来操作和解析Oracle数据库的方法
Apr 09 Python
python 含子图的gif生成时内存溢出的方法
Jul 07 Python
使用python画社交网络图实例代码
Jul 10 Python
简单了解python数组的基本操作
Nov 26 Python
关于Python 中的时间处理包datetime和arrow的方法详解
Mar 19 Python
Python requests及aiohttp速度对比代码实例
Jul 16 Python
解决selenium+Headless Chrome实现不弹出浏览器自动化登录的问题
Jan 09 Python
详解Python Celery和RabbitMQ实战教程
Jan 20 Python
pytorch实现线性回归以及多元回归
Apr 11 Python
Python实现排序方法常见的四种
Jul 15 Python
Python可视化学习之matplotlib内置单颜色
Feb 24 Python
Python 统计序列中元素的出现频度
Apr 26 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安全配置
2006/10/09 PHP
PHP 组件化编程技巧
2009/06/06 PHP
php+jquery编码方面的一些心得(utf-8 gb2312)
2010/10/12 PHP
浅谈php+phpStorm+xdebug配置方法
2015/09/17 PHP
php语言的7种基本的排序方法
2020/12/28 PHP
Yii框架数据库查询、增加、删除操作示例
2019/10/14 PHP
ArrayList类(增强版)
2007/04/04 Javascript
Mootools 1.2教程 输入过滤第一部分(数字)
2009/09/15 Javascript
一些相见恨晚的 JavaScript 技巧
2010/04/25 Javascript
使用Javascript接收get传递的值的代码
2011/11/30 Javascript
JavaScript简单实现网页回到顶部功能
2013/11/12 Javascript
confirm的用法示例用于按钮操作时确定是否执行
2014/06/19 Javascript
jQuery中:has选择器用法实例
2014/12/30 Javascript
JS实现一个按钮的方法
2015/02/05 Javascript
JS判断字符串字节数并截取长度的方法
2016/03/05 Javascript
弹出遮罩层后禁止滚动效果【实现代码】
2016/04/29 Javascript
微信小程序 css使用技巧总结
2017/01/09 Javascript
React-router v4 路由配置方法小结
2017/08/08 Javascript
vue 实现边输入边搜索功能的实例讲解
2018/09/16 Javascript
解决微信授权成功后点击按返回键出现空白页和报错的问题
2020/06/08 Javascript
python中sleep函数用法实例分析
2015/04/29 Python
Python2中的raw_input() 与 input()
2015/06/12 Python
Python中的if、else、elif语句用法简明讲解
2016/03/11 Python
Python随机生成数据后插入到PostgreSQL
2016/07/28 Python
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
2017/12/12 Python
python numpy数组的索引和切片的操作方法
2018/10/20 Python
Python 格式化打印json数据方法(展开状态)
2020/02/27 Python
python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法
2020/11/05 Python
使用HTML5 Canvas API中的clip()方法裁剪区域图像
2016/03/25 HTML / CSS
专门出售各种儿童读物的网站:Put Me In The Story
2016/08/07 全球购物
小学学雷锋活动总结
2014/04/25 职场文书
小学语文教学经验交流材料
2014/06/02 职场文书
相亲大会策划方案
2014/06/05 职场文书
2015初中政教处工作总结
2015/07/21 职场文书
MySQL学习之基础操作总结
2022/03/19 MySQL
Redis实战之Lettuce的使用技巧详解
2022/12/24 Redis