趋近智
requires_grad)backward()).grad)torch.nn 搭建模型torch.nn.Module 基类torch.nn 损失)torch.optim)torch.utils.data.Datasettorchvision.transforms)torch.utils.data.DataLoader有效地训练神经网络需要调整模型参数以最小化损失函数,这通常使用梯度下降或其变体。这个过程的主要部分是计算损失函数相对于每个参数的梯度,数学上表示为损失 L 和参数 w 的 ∂w∂L。对于复杂模型,手动推导和实现这些梯度计算是不切实际的。
本章介绍 PyTorch 的自动微分引擎 Autograd,它旨在自动计算这些梯度。我们将了解 PyTorch 如何在对张量执行操作时动态构建计算图。你将学习如何使用 requires_grad=True 标记张量以进行梯度计算,使用 .backward() 触发反向传播以计算梯度,以及查看存储在 .grad 属性中的结果梯度。我们还将涉及梯度累积,使用 optimizer.zero_grad() 清零梯度的必要性,以及如何使用 torch.no_grad() 等上下文临时禁用梯度计算,以提高推理或评估期间的效率。
3.1 自动微分的原理
3.2 PyTorch 计算图
3.3 张量与梯度计算 (`requires_grad`)
3.4 执行反向传播 (`backward()`)
3.5 访问梯度(`.grad`)
3.6 禁用梯度追踪
3.7 梯度累积
3.8 动手实践:Autograd 运用
© 2026 ApX Machine Learning用心打造