TensorFlow Session会话控制&Variable变量详解

yipeiwu_com6年前Python基础

这篇文章主要讲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变量详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

PyQt4 treewidget 选择改变颜色,并设置可编辑的方法

PyQt4 treewidget 选择改变颜色,并设置可编辑的方法

如下所示: # -*- coding: utf-8 -*- import sys from PySide.QtGui import * from PySide.QtCore impo...

Python中dictionary items()系列函数的用法实例

本文实例讲述了Python中dictionary items()系列函数的用法,对Python程序设计有很好的参考借鉴价值。具体分析如下: 先来看一个示例: import html...

numpy和pandas中数组的合并、拉直和重塑实例

合并 在numpy中合并两个array numpy中可以通过concatenate,参数axis=0表示在垂直方向上合并两个数组,等价于np.vstack;参数axis=1表示在水平方向...

使用Python标准库中的wave模块绘制乐谱的简单教程

使用Python标准库中的wave模块绘制乐谱的简单教程

在本文中,我们将探讨一种简洁的方式,以此来可视化你的MP3音乐收藏。此方法最终的结果将是一个映射你所有歌曲的正六边形网格地图,其中相似的音轨将处于相邻的位置。不同区域的颜色对应不同的音乐...

PyQt 图解Qt Designer工具的使用方法

PyQt 图解Qt Designer工具的使用方法

前言 Qt Designer是PyQt程序UI界面的实现工具,Qt Designer工具使用简单,可以通过拖拽和点击完成复杂界面设计,并且设计完成的.ui程序可以转换成.py文件供pyt...