PyTorch 框架简介

PyTorch框架简介

PyTorch 是一个基于 Python 的深度学习框架,核心数据结构是张量(Tensor)。它兼顾灵活性和工程可用性,常用于计算机视觉、自然语言处理、强化学习等任务。

PyTorch特点

  • 张量计算:张量和 NumPy 数组很像,但可以直接放到 GPU 上跑,适合做大规模数值计算。
  • 自动求导autograd 能自动计算梯度,是模型训练的基础。
  • 搭建方便torch.nn 提供常用网络层、损失函数和优化器,继承 torch.nn.Module 就能定义模型。
  • 动态图机制:边运行边构图,写法更直观,调试和做实验更方便。
  • CUDA 支持:用 tensor.to(device) 就能把数据和模型切到 GPU。
  • 工程适配较好:支持多平台、分布式训练,也能用于实际部署。

PyTorch与TensorFlow

  • 早期 PyTorch 因动态图和更接近 Python 的写法,在研究和原型验证里更受欢迎。
  • TensorFlow 2.x 也支持动态图,但 PyTorch 在易用性和调试体验上通常更直接。

PyTorch发展历史

  • Torch / Torch7:PyTorch 的前身,早期使用 Lua,在深度学习领域有一定影响。
  • PyTorch 0.1.0(2016):FAIR 发布首个版本,正式转向 Python 生态。
  • PyTorch 0.2.0:引入动态图,灵活性明显提升,这也是它后续流行的重要原因。
  • PyTorch 1.0.0(2018):首个稳定版本发布,训练和部署流程更成熟。
  • PyTorch 2.0:引入 torch.compile 和 TorchDynamo,重点提升编译与训练性能。

1733816358935