TensorFlow小白教程:Session基础教程

2,440 阅读2分钟

第一章 TensorFlow 基础概念

TensorFlow小白教程:深度学习的理解

TensorFlow小白教程:Tensor基础教程

TensorFlow小白教程:Session基础教程

TensorFlow小白教程:Graph计算图教程

Session

TensorFlow中的会话用于执行定义好的运算。会话拥有并管理 TensorFlow程序运 行时的所有资源。所有计算完成之后需要关闭会话来帮助系统回收资源,否则就可能出现资源泄漏的问题。

简单的理解TensorFlow在定义好变量和计算的时候,并不会马上进行计算,需要通过session来进行执行,这就好比我们搭电路图,当电路连接完,当插头通电的时候,整个电路才开始运作。

# 定义tensor
v1 = tf.constant(value=1,name='v1',shape=(1,2),dtype=tf.float32)
v2 = tf.constant(value=2,name='v1',shape=(1,2),dtype=tf.float32)
# 定义计算
add = v1 + v2
# 创建session
sess = tf.Session()
# 执行计算
result = sess.run(add)
print(reslut)
# 关闭session,避免资源泄漏
sess.close()

# 输出结果:[[3. 3.]]

使用这种方式调用session需要明确调用Session.close()来关闭session并释放资源避免资源泄漏问题。

当然,我们更多用到的是通过Python的上下文管理器来使用session,来自动释放所有资源。

# 定义tensor
v1 = tf.constant(value=1,name='v1',shape=(1,2),dtype=tf.float32)
v2 = tf.constant(value=2,name='v1',shape=(1,2),dtype=tf.float32)
# 定义计算
add = v1 + v2
# 创建session
with tf.Session() as sess:
    # 执行计算
    sess.run(add)

这样我们就可以不用手动的调用Session.close()来关闭会话了。

复盘

今天我们学习了Session会话的两种使用方式,别看它这么简单,但在之后教程里我们会经常看到它的身影。

在下一节我们将学习Graph计算图。计算图我们可以理解成一个电路板,我们在电路板定义好电路,然后通过插头进行通电,整个电路就开始运作了。就是这么简单!