深度学习手记(一)之会话操作

Tensorflow中,如何使用会话(session)来执行定义好的运算。

import tensorflow as tf
# 创建一个会话。
sess = tf.Session()
# 使用这个创建好的会话来得到关心的运算的结果
sess.run(...)
# 关闭会话释放本次运行的资源
sess.close()
使用这种模式时,在所有计算完成之后,需要明确调用Session.close函数来关闭会话并释放资源。但是,为了解决异常退出时资源释放的问题,可以通过python上下文管理器来使用会话

with tf.Session() as sess:
    sess.run(...)
# 不需要再调用“Session.close()”函数来关闭会话。
Tensorflow中不会自动生成默认的会话,而是需要手动指定。当默认的会话被指定了后可以通过tf.Tensor.eval函数来计算一个张量的取值。

a = tf.constant([1.0, 2.0])
b = tf.constant([2.0, 3.0])
result = a + b
sess = tf.Session()
with sess.as_default():
    print(result.eval())
# 也可以使用sess.run()
    print(sess.run(result))
在交互环境下,通过设置默认会话的方法来获取张量的取值更加方便。

# 使用InteractiveSession代替Session类,使用Tensor.eval()和Operation.run() 方法代替 Session.run()。这样可以避免使用一个变量来持有会话。
sess = tf.InteractiveSession()
print(result.eval())
sess.close()




你可能感兴趣的:(深度学习手记)