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共享引用(多个变量引用)示例代码
Dec 04 Python
Python3读取文件常用方法实例分析
May 22 Python
python中模块查找的原理与方法详解
Aug 11 Python
Python插件virtualenv搭建虚拟环境
Nov 20 Python
python 中if else 语句的作用及示例代码
Mar 05 Python
python基础教程项目二之画幅好画
Apr 02 Python
matplotlib subplots 调整子图间矩的实例
May 25 Python
详细介绍Python进度条tqdm的使用
Jul 31 Python
如何使用selenium和requests组合实现登录页面
Feb 03 Python
Python常用编译器原理及特点解析
Mar 23 Python
在python中利用pycharm自定义代码块教程(三步搞定)
Apr 15 Python
如何通过安装HomeBrew来安装Python3
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
PHP实现的贪婪算法实例
2017/10/17 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
jquery 必填项判断表单是否为空的方法
2008/09/14 Javascript
jquery中ajax学习笔记4
2011/10/16 Javascript
IE中图片的onload事件无效问题和解决方法
2014/06/06 Javascript
使用JSON.parse将json字符串转换成json对象的时候会出错
2014/09/04 Javascript
JS中字符串trim()使用示例
2015/05/26 Javascript
jQuery实现的鼠标滑过弹出放大图片特效
2016/01/08 Javascript
最丑的时钟效果!js canvas时钟制作方法
2016/08/15 Javascript
JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)
2017/06/19 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
2017/09/19 Javascript
Vue+webpack项目基础配置教程
2018/02/12 Javascript
微信小程序数据分析之自定义分析的实现
2018/08/17 Javascript
jQuery实现轮播图效果
2019/11/26 jQuery
基于vue实现图片验证码倒计时60s功能
2019/12/10 Javascript
Vue中使用JsonView来展示Json树的实例代码
2020/11/16 Javascript
原生JavaScript实现幻灯片效果
2021/02/19 Javascript
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
python 重定向获取真实url的方法
2018/05/11 Python
Python列表生成式与生成器操作示例
2018/08/01 Python
python感知机实现代码
2019/01/18 Python
如何用C代码给Python写扩展库(Cython)
2019/05/17 Python
用Python画一个LinkinPark的logo代码实例
2019/09/10 Python
Python调用Redis的示例代码
2020/11/24 Python
英国电子产品购物网站:TobyDeals
2018/07/30 全球购物
美国第一大药店连锁机构:Walgreens(沃尔格林)
2019/10/10 全球购物
求最大连续递增数字串(如"ads3sl456789DF3456ld345AA"中的"456789")
2015/09/11 面试题
医学检验专业大学生求职信
2013/11/18 职场文书
考试不及格检讨书
2014/01/09 职场文书
优秀护士获奖感言
2014/02/20 职场文书
计算机毕业生自荐信
2014/06/12 职场文书
副校长竞聘演讲稿
2014/09/01 职场文书
五一劳动节演讲稿
2014/09/12 职场文书
党员干部形式主义个人整改措施
2014/09/17 职场文书
2016春季运动会通讯稿
2015/07/18 职场文书
SpringBoot中获取profile的方法详解
2022/04/08 Java/Android