TensorFlow Session会话控制&Variable变量详解
这篇文章主要讲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变量详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
详解tensorflow2.x版本无法调用gpu的一种解决方法
这篇文章主要介绍了详解tensorflow2.x版本无法调用gpu的一种解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-05-05MacOS安装python报错"zsh: command not found:python"的
这篇文章主要给大家介绍了关于MacOS安装python报错"zsh: command not found:python"的解决方法,文中将解决的办法介绍的非常详细,需要的朋友可以参考下2023-02-02在python中使用requests 模拟浏览器发送请求数据的方法
今天小编就为大家分享一篇在python中使用requests 模拟浏览器发送请求数据的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-12-12
最新评论