PyTorch 实战¶
Tensor / autograd / Module / DataLoader / 分布式
核心 API¶
torch.Tensor— 张量操作torch.autograd— 自动求导torch.nn.Module— 模型定义torch.utils.data.DataLoader— 数据加载torch.nn.functional— 函数式 API
模型开发流程¶
- 定义
Dataset和DataLoader - 构建
nn.Module子类 - 定义损失函数和优化器
- 训练循环:前向 → 损失 → 反向 → 更新
- 验证与测试
进阶¶
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/ |