1 小时入门 PyTorch:从张量到多 GPU 神经网络训练
Sebastian Raschka(极客时间编译)
ML/AI Research Engineer
32 人已学习
免费领取
1 小时入门 PyTorch:从张量到多 GPU 神经网络训练
15
15
1.0x
00:00/00:00
登录|注册

03|将模型视为计算图

在上一节中,我们介绍了 PyTorch 的三大主要组件之一,即它的张量库。接下来要介绍的是 PyTorch 的自动微分引擎,也称为 autograd。PyTorch 的 autograd 系统提供了在动态计算图中自动计算梯度的功能。但在我们在下一节深入探讨梯度计算之前,让我们先定义计算图的概念。
计算图(computational graph,简称 computation graph)是一种有向图,用于表示和可视化数学表达式。在深度学习领域,计算图会清晰呈现神经网络输出结果所需的一系列计算步骤——这一点在后续通过反向传播(神经网络的主要训练算法)计算所需梯度时至关重要。
简单来说,计算图中的每个节点代表一个变量(如输入数据、中间结果、参数等)或一种运算(如加法、乘法、激活函数等),而节点之间的有向边则表示变量与运算之间的依赖关系,即数据在计算过程中的流向。通过这种结构化的表示,我们可以直观地追踪从输入到输出的整个计算流程,为自动求导等关键操作提供了清晰的路径依据。
让我们通过一个具体示例来说明计算图的概念。以下代码实现了一个简单逻辑回归分类器的前向传播(预测步骤),逻辑回归可以看作是单层神经网络,它返回一个介于 0 和 1 之间的分数,在计算损失时将该分数与真实类别标签(0 或 1)进行比较:
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. PyTorch 的自动微分引擎 autograd 提供了在动态计算图中自动计算梯度的功能,计算图是一种有向图,用于表示和可视化数学表达式。 2. 计算图清晰呈现神经网络输出结果所需的一系列计算步骤,为自动求导等关键操作提供了清晰的路径依据。 3. 计算图中的每个节点代表一个变量或一种运算,节点之间的有向边表示变量与运算之间的依赖关系,即数据在计算过程中的流向。 4. 通过计算图的结构化表示,可以直观地追踪从输入到输出的整个计算流程。 5. PyTorch 可以在后台构建计算图,利用它来计算损失函数相对于模型参数的梯度,从而进行模型训练。

该试读文章来自《1 小时入门 PyTorch:从张量到多 GPU 神经网络训练》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部