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操作Elasticsearch数据索引的教程
Apr 08 Python
python paramiko利用sftp上传目录到远程的实例
Jan 03 Python
python实现电子产品商店
Feb 26 Python
用pyqt5 给按钮设置图标和css样式的方法
Jun 24 Python
python 实现GUI(图形用户界面)编程详解
Jul 17 Python
python判断自身是否正在运行的方法
Aug 08 Python
python for循环remove同一个list过程解析
Aug 14 Python
python实现人机猜拳小游戏
Feb 03 Python
Tensorflow中k.gradients()和tf.stop_gradient()用法说明
Jun 10 Python
Python计算信息熵实例
Jun 18 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
Jul 02 Python
python 制作网站小说下载器
Feb 20 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
深入理解用mysql_fetch_row()以数组的形式返回查询结果
2013/06/05 PHP
PHP加密技术的简单实现
2016/09/04 PHP
Laravel 框架控制器 Controller原理与用法实例分析
2020/04/14 PHP
关于juqery radio写法的兼容性问题(新老版本jquery)
2010/06/14 Javascript
jQuery Validation实例代码 让验证变得如此容易
2010/10/18 Javascript
克隆javascript对象的三个方法小结
2011/01/12 Javascript
jquery getScript动态加载JS方法改进详解
2012/11/15 Javascript
html a标签-超链接中confirm方法使用介绍
2013/01/04 Javascript
jQuery调用ajax请求的常见方法汇总
2015/03/24 Javascript
分享9点个人认为比较重要的javascript 编程技巧
2015/04/27 Javascript
详解JavaScript的AngularJS框架中的作用域与数据绑定
2016/03/04 Javascript
Javascript实现鼠标框选操作  不是点击选取
2016/04/14 Javascript
Angularjs 制作购物车功能实例代码
2016/09/14 Javascript
jquery实现点击页面回到顶部
2016/11/23 Javascript
js常用DOM方法详解
2017/02/04 Javascript
详解Vue源码中一些util函数
2019/04/24 Javascript
小程序云开发教程如何使用云函数实现点赞功能
2019/05/18 Javascript
浅谈Vue3.0之前你必须知道的TypeScript实战技巧
2019/09/11 Javascript
vue(2.x,3.0)配置跨域代理
2019/11/27 Javascript
微信小程序 scroll-view的使用案例代码详解
2020/06/11 Javascript
python读写文件操作示例程序
2013/12/02 Python
Python实现二维有序数组查找的方法
2016/04/27 Python
python多进程提取处理大量文本的关键词方法
2018/06/05 Python
Python用于学习重要算法的模块pygorithm实例浅析
2018/08/16 Python
python设定并获取socket超时时间的方法
2019/01/12 Python
python打造爬虫代理池过程解析
2019/08/15 Python
python 求两个向量的顺时针夹角操作
2021/03/04 Python
浅谈HTML5 FileReader分布读取文件以及其方法简介
2017/11/09 HTML / CSS
H5 video poster属性设置视频封面的方法
2020/05/25 HTML / CSS
生产经理的自我评价分享
2013/11/07 职场文书
贷款承诺书范文
2014/05/19 职场文书
2014年法院个人工作总结
2014/12/17 职场文书
中秋节慰问信
2015/02/15 职场文书
车辆管理制度范本
2015/08/05 职场文书
企业廉洁教育心得体会
2016/01/20 职场文书
详细聊聊Oracle表碎片对性能有多大的影响
2022/03/19 Oracle