TensorFlow2 Python深度学习 - TensorFlow2框架入门 - 计算图和 tf.function 简介

锋哥原创的TensorFlow2 Python深度学习视频教程:

https://www.bilibili.com/video/BV1X5xVz6E4w/

课程介绍

本课程主要讲解基于TensorFlow2的Python深度学习知识,包括深度学习概述,TensorFlow2框架入门知识,以及卷积神经网络(CNN),循环神经网络(RNN),生成对抗网络(GAN),模型保存与加载等。

TensorFlow2 Python深度学习 - TensorFlow2框架入门 - 计算图和 tf.function 简介

在 TensorFlow 2 中,计算图和 tf.function 的概念被大大简化和自动化。与 TensorFlow 1.x 中的静态计算图不同,TensorFlow 2 引入了 立即执行(Eager Execution) ,默认情况下会立即执行操作,使得调试和开发更为直观。然而,对于性能优化,TensorFlow 仍然允许用户通过 tf.function 将 Python 函数转换为静态计算图来进行优化。

1. TensorFlow 2 的计算图

计算图是一种图结构,其中每个节点表示一个操作(operation),边表示数据流(如张量)。通过这种方式,TensorFlow 可以将计算分解为一系列的节点和边,并执行这些操作以获得结果。

在 TensorFlow 2 中,计算图是通过 tf.function 来创建的。当使用 tf.function 时,TensorFlow 会将 Python 函数自动转换为计算图,并为这个图进行优化。这样可以显著提高性能,特别是在涉及大量数据和复杂计算的场景中。

2. tf.function

tf.function 是一个装饰器,它将 Python 函数转化为图(Graph),并通过 TensorFlow 自动执行优化,从而提升性能。这个图表示静态计算图,可以在训练和推理时使用。

tf.function 的优点:
  • 性能优化:通过将 Python 函数转换为图,TensorFlow 可以进行优化,从而提高计算效率。

  • 跨平台支持:图可以在不同的设备上高效运行,比如 CPU、GPU、TPU。

  • 符号执行:TensorFlow 会自动处理类型和形状信息,从而避免了频繁的动态计算。

3. 示例代码

复制代码
import tensorflow as tf
​
# 使用 tf.function 将其转化为计算图
@tf.function
def add_numbers(x, y):
    return x + y
​
# 执行加法操作并记录计算图
x = tf.constant(1)
y = tf.constant(2)
​
# 计算图执行
result = add_numbers(x, y)
print(result)

运行结果:

复制代码
tf.Tensor(3, shape=(), dtype=int32)

4. Eager Execution 与 Graph Execution 区别

  • Eager Execution(立即执行)是 TensorFlow 2 的默认行为,意味着操作会立即执行并返回结果。

  • Graph Execution (图执行)是通过 tf.function 将 Python 函数转换为静态计算图,优化计算并延迟执行。

相关推荐
一一哥Sun11 小时前
第06课:Transformer与注意力机制——大模型背后的秘密武器
人工智能·深度学习·transformer
卡梅德生物科技小能手12 小时前
卡梅德生物科普CD124(IL-4Rα):2型免疫炎症的核心调控靶点
人工智能·经验分享·深度学习
青山如墨雨如画12 小时前
【北邮-无线通信中的人工智能】物理层技术中AI的应用实践:基于KNN的调制识别(1)理论基础
人工智能·python·机器学习·matlab·jupyter
MATLAB代码顾问12 小时前
Python Matplotlib数据可视化实战指南
python·信息可视化·matplotlib
LaughingZhu12 小时前
Product Hunt 每日热榜 | 2026-06-12
人工智能·经验分享·深度学习·神经网络·产品运营
数据门徒12 小时前
神经网络原理 第十一章:植根于统计力学的随机机器和它们的逼近
人工智能·深度学习·神经网络
AI 编程助手GPT12 小时前
用 Python 做一个世界杯赛前分析脚本:以巴西 vs 摩洛哥为例
开发语言·网络·人工智能·python·chatgpt
万事大吉CC12 小时前
Python 笔试输入模板总结
python·算法
Java患者·13 小时前
《Python 人脸识别入门实践:从人脸检测到人脸比对完整实现》
开发语言·python·opencv·目标检测·计算机视觉·目标跟踪·视觉检测
宸丶一13 小时前
Day 10:LangGraph - Agent 的图执行引擎
java·windows·python