跳转至

PyTorch 实战

Tensor / autograd / Module / DataLoader / 分布式

核心 API

  • torch.Tensor — 张量操作
  • torch.autograd — 自动求导
  • torch.nn.Module — 模型定义
  • torch.utils.data.DataLoader — 数据加载
  • torch.nn.functional — 函数式 API

模型开发流程

  1. 定义 DatasetDataLoader
  2. 构建 nn.Module 子类
  3. 定义损失函数和优化器
  4. 训练循环:前向 → 损失 → 反向 → 更新
  5. 验证与测试

进阶

  • torch.jit.script / torch.jit.trace — TorchScript 导出
  • LibTorch (C++ API) — C++ 推理部署
  • torch.distributed — DDP / FSDP 分布式训练
  • torch.compile — PyTorch 2.0 编译加速

练习

  • 用 PyTorch 训练一个两层网络拟合 y = x²
  • 从零训练 ResNet-18 分类 CIFAR-10
  • 用 TorchScript 导出模型,LibTorch C++ 推理
  • 使用 torch.compile 加速训练

资源

资源 链接
PyTorch 官方教程 https://pytorch.org/tutorials/
PyTorch C++ 文档 https://pytorch.org/cppdocs/
《动手学深度学习》 https://d2l.ai/