Pytorch入门教程
一、安装 PyTorch
推荐去 pytorch.org 官网生成适合你系统的安装命令。页面会根据你的系统、包管理器(pip/conda)、CUDA 版本给出精确命令。
最常见的安装方式(CPU 版,适合入门):
pip install torch torchvision torchaudio
带 GPU 加速(CUDA 11.8 示例):
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
建议:先装 CPU 版跑通代码,等需要训练大模型时再切 GPU 版。配合 Jupyter Notebook 或 VS Code 写代码体验更好。
二、学习路线(由浅入深,约 4-8 周)
第 1 阶段:打好基础(1-2 周)
目标:熟悉 Tensor 操作,像用 NumPy 一样用 PyTorch。
核心内容:
- 张量创建:
torch.tensor,torch.zeros,torch.randn等 - 基本运算:加减乘除、矩阵乘法
@或torch.mm - 索引切片、形状变换
view/reshape - CPU ↔ GPU 切换:
.to('cuda')或.cpu() - 与 NumPy 互转:
.numpy()和torch.from_numpy()
学习资源:
- 官方教程:张量入门(有中文版)
- 找几个 NumPy 练习题,用 PyTorch 重写一遍
第 2 阶段:理解自动求导(3-5 天)
目标:搞懂 autograd 是怎么回事。
核心内容:
requires_grad=True是什么- 前向计算后调用
.backward()获取梯度 - 梯度会累积,所以要
optimizer.zero_grad() - 用
with torch.no_grad():暂时关闭梯度计算
小练习:手动实现一个线性回归,用梯度下降更新参数,感受整个流程。
第 3 阶段:搭建神经网络(2-3 周)
目标:能用 nn.Module 搭出各种网络结构。
核心内容:
nn.Linear,nn.Conv2d,nn.RNN/LSTM等常用层- 激活函数:
nn.ReLU,nn.Sigmoid,nn.Softmax - 损失函数:
nn.MSELoss,nn.CrossEntropyLoss - 优化器:
optim.SGD,optim.Adam - 标准训练循环的写法
必经项目:
- MNIST 手写数字识别(最简单,一个全连接网络就行)
- CIFAR-10 图像分类(上卷积神经网络 CNN)
- 使用
torchvision加载预训练模型做迁移学习
资源:
第 4 阶段:实战进阶(持续)
选一个你感兴趣的方向深入:
| 方向 | 推荐内容 |
|---|---|
| CV | 目标检测(YOLO 系列)、图像分割(U-Net)、GAN |
| NLP | 用 nn.Transformer 做个翻译 / 情感分析,或直接上手 Hugging Face + PyTorch |
| 强化学习 | 实现 DQN、PPO 玩 Gym 游戏 |
| 部署 | 模型转 ONNX、TorchScript,用 TorchServe 或 Flask 上线 |
好习惯:
- 把训练好的模型存下来:
torch.save(model.state_dict(), 'model.pth') - 用 TensorBoard 可视化训练曲线
- 多在 GitHub / PapersWithCode 上找开源代码跟着跑
三、给你一个 4 周参考计划
- 第 1 周:安装 + 张量操作 + 自动求导 + 手写线性回归
- 第 2 周:学习
nn.Module、损失函数、优化器;跑通 MNIST 分类 - 第 3 周:学习 CNN,用 CIFAR-10 训练并调参,观察过拟合
- 第 4 周:选一个进阶方向,跑一个完整项目(比如迁移学习做图像分类),并保存/加载模型

浙公网安备 33010602011771号