TensorFlow Session会话控制&Variable变量详解
作者:诗蕊 发布时间:2023-06-21 12:37:42
这篇文章主要讲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次加法,运行结果为:
来源:https://blog.csdn.net/Katherine_hsr/article/details/79211688


猜你喜欢
- 链表链表(linked list)是由一组被称为结点的数据元素组成的数据结构,每个结点都包含结点本身的信息和指向下一个结点的地址。由于每个结
- Python 正则表达式是什么学习 Python 正则表达式离不开 re 模块,所以本篇博客会配合 re 模块进行编写。re 库是 Pyth
- 微软今天发布了SQL Server 2005 SP3的正式版,而这也将是该软件的最后一次升级服务,不过暂时只有英文版本,需要简体中文版的用户
- 要注意的是记得要先引用element操作模块 ,否则是无法绑定的格式:$(document).on(事件,标识,function(){});
- ORA-00600:internal error code,arguments:[num],[?],[?],[?],[?] 产生原因:这种错
- 解释机器学习模型是一个困难的过程,因为通常大多数模型都是一个黑匣子,我们不知道模型内部发生了什么。创建不同类型的可视化有助于理解模型是如何执
- 本文实例讲述了python每次处理一个字符的三种方法。分享给大家供大家参考。具体方法如下:a_string = "abccdea&
- 在生活和工作中,我们每个人每天都在和时间打交道:早上什么时候起床?地铁几分钟来一趟?中午什么时候开始午休?明天是星期几?距离上次买衣服已经2
- 对于一些快速迭代的产品来说,特别是移动端 C端产品,基于用户运营的目的,在 app首页给用户展示各种各样的弹窗是很常见的事情,在产品初期,由
- 经常看见MOP上有人贴那种动态的图片,就是把一个字符串作为参数传给一个 * 页,就会生成一个带有这个字符串的图片,这个叫做文字水印。像什么原
- Scrapy是什么?先看官网上的说明,http://scrapy-chs.readthedocs.io/zh_CN/latest/intro
- 程序员周末都喜欢做什么?在公司加班?在家里加班?看电影?睡觉?程序员都怎么找女朋友?百分之八十的程序员表示,女朋友是啥,有好 * 就够了。程序
- 本文实例为大家分享了opencv实现图像旋转效果的具体代码,供大家参考,具体内容如下图像旋转:在opencv中首先根据旋转角度和中心获取旋转
- 记录下如何远程使用服务器上的jupyter notebook。主要是在服务器端执行以下操作:激活需要使用的环境使用pip list 或con
- 项目需要就在现有的服务器上面重新安装了个mysql服务器,还挺费劲儿呢,因为之前都是在我的笔记本上面试验的,它的系统是Ubuntu的,什么路
- 以此文记录Python与Tensorflow及其开发环境的安装与配置过程,以备以后参考。1 硬件与系统条件 Win7 64位系统,显卡为NV
- 一、背景近期项目即将开展,计划第一步就是实现数据的可视化,所以先学习一下数据展示相关Demo。选用Python2.7与Matplotlib来
- 如下所示:<?php$dir = dirname(__FILE__);$open_dir = opendir($dir);echo &
- 一). ubuntu下mysql安装布局:/usr/bin  
- 如下所示:#-*- coding:utf-8 -*-import numpy as npimport matplotlib.pyplot a