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 元组(Tuple)操作详解
Mar 11 Python
Python数组条件过滤filter函数使用示例
Jul 22 Python
python 随机数使用方法,推导以及字符串,双色球小程序实例
Sep 12 Python
11月编程语言排行榜 Python逆袭C#上升到第4
Nov 15 Python
Python实现九宫格式的朋友圈功能内附“马云”朋友圈
May 07 Python
python将字母转化为数字实例方法
Oct 04 Python
Python可变参数会自动填充前面的默认同名参数实例
Nov 18 Python
python使用配置文件过程详解
Dec 28 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
Jul 07 Python
Python Unittest原理及基本使用方法
Nov 06 Python
Python如何利用正则表达式爬取网页信息及图片
Apr 17 Python
4种方法python批量修改替换列表中元素
Apr 07 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 mail 通过Windows的SMTP发送邮件失败的解决方案
2009/05/27 PHP
php 函数中使用static的说明
2012/06/01 PHP
php实现文件上传及头像预览功能
2017/01/15 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
Laravel中validation验证 返回中文提示 全局设置的方法
2019/09/29 PHP
基于jquery的15款幻灯片插件
2011/04/10 Javascript
JSON.stringify 语法实例讲解
2012/03/14 Javascript
javascript学习笔记(十三) js闭包介绍(转)
2012/06/20 Javascript
jQuery插件开发全解析
2012/10/10 Javascript
JS小功能(列表页面隔行变色)简单实现
2013/11/28 Javascript
jQuery.position()方法获取不到值的安全替换方法
2015/03/13 Javascript
JavaScript中常用的验证reg
2016/10/13 Javascript
微信小程序 slider的简单实例
2017/04/19 Javascript
JavaScript实现选中文字提示新浪微博分享效果
2017/06/15 Javascript
JavaScript实现省市联动过程中bug的解决方法
2017/12/04 Javascript
Vue微信项目按需授权登录策略实践思路详解
2018/05/07 Javascript
详解解决使用axios发送json后台接收不到的问题
2018/06/27 Javascript
原生JS实现随机点名项目的实例代码
2019/04/30 Javascript
js代码编写无缝轮播图
2020/09/13 Javascript
关于Python元祖,列表,字典,集合的比较
2017/01/06 Python
基于python内置函数与匿名函数详解
2018/01/09 Python
Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
2018/02/13 Python
java中两个byte数组实现合并的示例
2018/05/09 Python
python使用Matplotlib画饼图
2018/09/25 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
2018/11/29 Python
Python实现二叉搜索树BST的方法示例
2019/07/30 Python
Django 拆分model和view的实现方法
2019/08/16 Python
python生成大写32位uuid代码
2020/03/03 Python
Python如何将将模块分割成多个文件
2020/08/04 Python
python高级特性简介
2020/08/13 Python
如何用python写个模板引擎
2021/01/14 Python
世界上最好的帽子:Tilley
2016/11/27 全球购物
减负增效提质方案
2014/05/23 职场文书
工作收入住址证明
2014/10/28 职场文书
left join、inner join、right join的区别
2021/04/05 MySQL
Elasticsearch6.2服务器升配后的bug(避坑指南)
2022/09/23 Servers