动态图(Eager Execution)是TensorFlow 2.x中引入的核心特性,允许开发者以更直观的方式进行计算。以下是关键知识点:

1. 动态图特点

  • 即时执行:操作立即返回具体值,无需构建计算图
  • 调试友好:可直接使用Python调试工具(如pdb)
  • 灵活原型设计:适合快速实验和算法开发
  • 自然控制流:支持if/for等语句嵌套
TensorFlow_Eager_Execution

2. 快速入门示例

import tensorflow as tf

# 启用动态图模式
tf.config.run_config.experimental_relaxations = True

# 直接操作张量
x = tf.constant([[1., 2.], [3., 4.]])
print(x.numpy())  # 输出: [[1. 2.][3. 4.]]

3. 与静态图对比

特性 动态图 静态图
执行方式 即时执行 延迟执行(需要会话)
可视化 更直观 需要额外工具(如TensorBoard)
适用场景 研究、调试、小规模模型 生产环境、大规模分布式训练
TensorFlow_Dynamic_vs_Static

4. 进阶应用

  • 条件分支tf.cond() 实现动态控制流
  • 循环结构tf.while_loop() 处理迭代计算
  • 自动微分:直接使用 tf.GradientTape() 记录操作

建议扩展阅读:TensorFlow静态图教程 了解两种模式的差异与选择场景。