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基础教程之分支、循环简单用法
Jun 16 Python
Python爬虫包 BeautifulSoup  递归抓取实例详解
Jan 28 Python
python 读取excel文件生成sql文件实例详解
May 12 Python
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
Jun 21 Python
Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能示例
Mar 22 Python
对Python3 序列解包详解
Feb 16 Python
pandas 如何分割字符的实现方法
Jul 29 Python
pandas和spark dataframe互相转换实例详解
Feb 18 Python
浅谈keras中loss与val_loss的关系
Jun 22 Python
python else语句在循环中的运用详解
Jul 06 Python
浅析Python 条件控制语句
Jul 15 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
Dec 23 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
ThinkPHP模板比较标签用法详解
2014/06/30 PHP
PHP获取文件行数的方法
2015/06/10 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
2016/07/28 PHP
PHP错误和异常处理功能模块示例
2016/11/12 PHP
Laravel框架学习笔记之批量更新数据功能
2019/05/30 PHP
JavaScript基本概念初级讲解论坛贴的学习记录
2009/02/22 Javascript
Js获取事件对象代码
2010/08/05 Javascript
javascript中call和apply方法浅谈
2013/09/27 Javascript
JavaScript的常见兼容问题及相关解决方法(chrome/IE/firefox)
2013/12/31 Javascript
jQuery中$.click()无效问题分析
2015/01/29 Javascript
深入理解JavaScript系列(22):S.O.L.I.D五大原则之依赖倒置原则DIP详解
2015/03/05 Javascript
jQuery获取table行数并输出单元格内容的实现方法
2016/06/30 Javascript
js基本算法:冒泡排序,二分查找的简单实例
2016/10/08 Javascript
Vue.js教程之计算属性
2016/11/11 Javascript
深入理解Vue2.x的虚拟DOM diff原理
2017/09/27 Javascript
微信小程序自定义prompt组件步骤详解
2018/06/12 Javascript
在layui中使用form表单监听ajax异步验证注册的实例
2019/09/03 Javascript
VUEX 数据持久化,刷新后重新获取的例子
2019/11/12 Javascript
原生Vue 实现右键菜单组件功能
2019/12/16 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
[07:59]2014DOTA2叨叨刀塔 林熊猫称被邀请赛现场盛况震撼
2014/07/21 DOTA
Python将DataFrame的某一列作为index的方法
2018/04/08 Python
改变 Python 中线程执行顺序的方法
2020/09/24 Python
HTML5适合的情人节礼物有纪念日期功能
2021/01/25 HTML / CSS
Coach澳大利亚官方网站:美国著名时尚奢侈品牌
2017/05/24 全球购物
Arti-shopping中文官网:大型海外商品一站式直邮平台
2020/03/23 全球购物
大学生的自我鉴定范文
2014/01/21 职场文书
三年级音乐教学反思
2014/01/28 职场文书
村长贪污检举信
2014/04/04 职场文书
音乐节策划方案
2014/06/09 职场文书
2014年安全工作总结范文
2014/11/13 职场文书
优秀员工推荐材料
2014/12/20 职场文书
统计工作个人总结
2015/03/03 职场文书
运动会闭幕式主持词
2015/07/01 职场文书
ztree+ajax实现文件树下载功能
2021/05/18 Javascript
部分武汉产收音机展览
2022/04/07 无线电