刚遇到,先记录下。
Session()是 Tensorflow 控制和输出文件的执行的语句. 运行 session.run()
可以获得你要得知的运算结果, 或者是你所要运算的部分。
这里有三种用法:
先看一个例子
import tensorflow as tf
matrix1 = tf.constant([[2, 2]])
matrix2 = tf.constant([[2], [2]])
product = tf.matmul(matrix1, matrix2)
因为 product
不是直接计算的步骤, 所以我们会要使用 Session
来激活 product
并得到计算结果. 有两种形式使用会话控制 Session
。
1
# method 1
sess = tf.Session()
result = sess.run(product)
print(result)
sess.close()
2
# method 2
with tf.Session() as sess:
result2 = sess.run(product)
print(result2)
方法一需要close释放。
另外还有 一个tf.Session().as_default()。对比下面两个图代码:
1
2
tf.Session()创建一个会话,当上下文管理器退出时会话关闭和资源释放自动完成。
tf.Session().as_default()创建一个默认会话,当上下文管理器退出时会话没有关闭,还可以通过调用会话进行run()和eval()操作