趋近智
requires_grad)backward()).grad)torch.nn 搭建模型torch.nn.Module 基类torch.nn 损失)torch.optim)torch.utils.data.Datasettorchvision.transforms)torch.utils.data.DataLoaderPyTorch 是一个主要由 Meta AI 开发的开源机器学习库。它在研究和工业界都受到了广泛欢迎,用于构建和训练深度学习模型。它是一个强大的工具集,专门为满足现代机器学习应用的需求而设计。
其核心功能在于,PyTorch 提供了两个使其非常有效的基本功能:
张量计算: 与 NumPy 数组类似,PyTorch 提供了称为张量的多维数组。然而,PyTorch 张量带有一个主要优势:它们可以方便地在图形处理器(GPU)或其他专用硬件加速器上处理。这种能力显著加快了训练大型神经网络所需的数值计算,与仅使用 CPU 执行相比,通常能将速度提高几个数量级。如果你使用过 NumPy,你会发现操作这些张量的 API 会让你感到熟悉,从而简化了转换过程。
自动微分: 训练神经网络涉及根据损失函数的梯度调整模型参数。手动计算这些梯度既复杂又容易出错,特别是对于深层架构。PyTorch 包含一个复杂的自动微分引擎,称为 Autograd。当对张量执行操作时,Autograd 会动态构建一个计算图。这个图会记录操作序列,允许 PyTorch 在需要时(通常通过调用 .backward())使用链式法则自动计算梯度。与需要预先定义静态图的框架相比,这种动态特性在模型设计上提供了相当大的灵活性。
有几个因素促成了 PyTorch 的广泛使用:
torchvision、torchaudio 和 torchtext 这样的库针对特定应用领域(分别是计算机视觉、音频和自然语言处理)提供预构建的数据集、模型架构和数据转换。与 TensorBoard 等可视化工具的集成进一步提升了开发流程。本章将带你开始了解 PyTorch,通过关注第一个基本功能:张量。你将学习如何创建它们、操作它们、执行基本运算,并理解它们与 NumPy 数组的关系。掌握这些基础元素是第一步,以使用 PyTorch 的强大功能构建和训练复杂的深度学习模型。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造