刚遇到,先记录下。

Session()是 Tensorflow 控制和输出文件的执行的语句. 运行 session.run() 可以获得你要得知的运算结果, 或者是你所要运算的部分。

这里有三种用法:

先看一个例子

import tensorflow as tf

matrix1 = tf.constant([[2, 2]])
matrix2 = tf.constant([[2], [2]])

product = tf.matmul(matrix1, matrix2)

tf.Session()、 tf.Session().as_default()

因为 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

tf.Session()、 tf.Session().as_default()

 tf.Session()、 tf.Session().as_default()

 2

 tf.Session()、 tf.Session().as_default()

tf.Session()创建一个会话,当上下文管理器退出时会话关闭和资源释放自动完成。

tf.Session().as_default()创建一个默认会话,当上下文管理器退出时会话没有关闭,还可以通过调用会话进行run()和eval()操作

 tf.Session()、 tf.Session().as_default()

相关文章: