9 基础概念之会话的使用
系列进度
TensorFlow 入门 · 第 9 / 25 篇
整理说明
这篇内容怎么整理
郭震 · 2026-06-04
阅读路线
先按这条路线读
先抓住主线,再回到代码、配置和图文细节,读起来会更稳。
TensorFlow 学习要把张量、模型、训练和部署放在一条线上,而不是只看单段代码。阅读时可以按「什么是会话? -> 创建会话 -> 使用占位符和变量 -> 使用 TensorFlow 2.x 的 Eager Execution」建立结构,再回到正文里的代码、案例或指标做验证。
读完后,用一个真实小任务复查:输入是什么,处理环节在哪里,输出是否可验收;失败时先查「什么是会话?」,再查「创建会话」。
在上一节中,我们深入探讨了操作与计算图的概念。理解了计算图的结构后,我们接下来要学习如何执行这个计算图,即如何使用 TensorFlow 中的会话。
1. 什么是会话?
在 TensorFlow 中,会话(Session)是执行计算图中操作的环境。简单来说,会话是 TensorFlow 进行计算的接口,它负责启动计算图,并通过提供操作和张量的实际值来运行计算。
理解会话使用时,先看计算图如何定义、变量如何初始化、运行时如何取回张量结果。
会话的主要功能是:
- 执行计算图中的操作
- 管理设备(CPU/GPU)
- 管理状态和资源(变量等)
2. 创建会话
在 TensorFlow 中创建会话非常简单。以下是一个示例代码,展示了如何创建一个会话并执行计算:
读完《基础概念之会话的使用》不要只停在“看懂了”。回头挑一个步骤动手做一遍,再记录哪里卡住,后面的学习会更稳。
import tensorflow as tf
# 创建一个简单的常量操作
a = tf.constant(2)
b = tf.constant(3)
c = tf.add(a, b)
# 创建会话并执行计算
with tf.Session() as sess:
result = sess.run(c)
print("Result of addition:", result)
在上面的代码中,我们首先导入了 TensorFlow,然后创建了三个常量 a 和 b,以及一个添加操作 c。使用 tf.Session() 创建会话,然后调用 sess.run(c) 来执行该操作并获取计算结果。
3. 使用占位符和变量
除了常量,TensorFlow 中的会话还可以运行包含占位符(Placeholder)和变量(Variable)的计算图。下面是一个示例,展示了如何在会话中使用占位符和变量:
# 创建一个占位符和一个变量
x = tf.placeholder(tf.float32)
y = tf.Variable(5, dtype=tf.float32)
z = tf.add(x, y)
# 初始化变量
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init) # 初始化所有变量
# 使用占位符传递值
result = sess.run(z, feed_dict={x: 10})
print("Result of addition with placeholder:", result)
在这个例子中,我们定义了一个占位符 x 和一个变量 y。在会话中,我们首先运行 sess.run(init) 对变量进行初始化,然后使用 feed_dict 来传递占位符的值。
4. 使用 TensorFlow 2.x 的 Eager Execution
在 TensorFlow 2.x 版本中,默认启用了 Eager Execution,意味着你可以在不显式创建会话的情况下执行操作。以下是一个在 TensorFlow 2.x 中的例子:
import tensorflow as tf
# 直接执行操作
a = tf.constant(2)
b = tf.constant(3)
c = tf.add(a, b)
# 打印结果
print("Result of addition in TensorFlow 2.x:", c.numpy())
在这个例子中,我们直接执行操作,使用 c.numpy() 方法获得结果,而不需要创建会话。
复习《基础概念之会话的使用》时,建议把关键概念、操作步骤和可见结果放在同一页里回看。
练习《基础概念之会话的使用》时,建议把输入条件、处理动作和可见结果写在一起,方便下次复查。
5. 结论
通过本节的学习,我们掌握了如何使用会话来执行 TensorFlow 中的计算图。无论是传统的 TensorFlow 1.x 还是更为简化的 TensorFlow 2.x,理解会话的使用都对我们执行计算至关重要。在实际应用中,会话不仅仅是个窗口,它还让我们灵活地处理模型训练、数据流和资源管理。
在下一节中,我们将进入 TensorFlow 的核心数据结构,重点讲解张量的创建与操作,在那里,我们将探索张量在计算中的重要性与灵活性。
继续阅读
从这篇继续找到相关教程
常见问题
读前先确认这三点
基础概念之会话的使用适合谁读?
这是 TensorFlow 入门 系列第 9 / 25 篇,适合正在学习TensorFlow 入门,并且需要把概念落到操作步骤或判断标准里的读者。
读这篇TensorFlow 入门教程要多久?
按中文技术文章阅读速度估算,通读大约 3 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。
这篇文章里的图文节点怎么用?
正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。
分享文章
转发到常用平台
微信/朋友圈可先复制链接
相关教程
从相近问题继续读
继续阅读