仓库简介#
PyTorch 是当前 最主流的深度学习框架 之一,由 Meta AI 主导、Linux 基金会管理,强调 Python 优先 · 动态计算图 · GPU 加速 Tensor,是学术界研究大模型与产业界训练深度模型的默认工具。这份 PyTorch 入门手册 + 实战教程 把「快速上手 PyTorch 必须掌握的函数与类」浓缩成一张 8 大类速查表,每一类直接给出必会函数清单与本站对应章节,从 PyTorch 快速入门 一路走到 PyTorch 实战教程 落地,覆盖 90% 高频代码片段。
快速上手 8 大函数类#
下面把 PyTorch 快速入门 中绕不开的 8 大函数类压缩成一张速查表。第 1 列是函数类别,第 2 列是高频 API,第 3 列直接跳转到本站对应章节,做到 PyTorch 入门教程一站式导航与 PyTorch 基础教程速查。
| 函数类 · 用途 | 必会函数清单 | 本站对应章节 · pytorch 入门教程 |
|---|---|---|
| 1. torch.Tensor 张量操作(PyTorch 张量基础) 构造、形状、数学运算、设备迁移 |
torch.tensor torch.zeros torch.arangetensor.item tensor.reshape tensor.viewtensor.squeeze tensor.unsqueeze @tensor.matmul tensor.sum tensor.mean tensor.to('cuda') torch.ones_like |
这部分内容主要是遵循遇到再学 第 1.3 节 深度学习框架发展史:PyTorch、TensorFlow 与 Caffe、Keras 演进 第 3.2 节 线性回归简洁实现:PyTorch 回归模型快速入门 |
| 2. torch.autograd 自动微分(PyTorch 自动微分教程) 梯度计算、上下文管理 |
l.backward() tensor.requires_grad_(True)tensor.detach() with torch.no_grad():with torch.inference_mode(): |
第 3.6 节 Softmax 回归简洁实现 |
| 3. torch.nn 神经网络模块(PyTorch 神经网络教程) 网络层、损失函数、容器 |
nn.Module nn.Linear nn.Conv2d nn.LSTMnn.ReLU nn.Sigmoid nn.Tanh nn.Dropoutnn.CrossEntropyLoss nn.MSELossnn.Sequential nn.Transformer |
第 4.4 节 LeNet5 网络:经典卷积神经网络结构入门 第 4.9 节 ResNet 原理:残差结构、退化问题与网络实现 图解 Transformer 第 1 讲 Multi-Head Attention 图解教程 |
| 4. torch.optim 与学习率调度 (PyTorch 优化器入门) 梯度更新、warmup、cosine |
optim.SGD() optim.Adam optim.AdamWoptim.lr_scheduler.CosineAnnealingLRoptimizer.zero_grad() optimizer.step() |
第 5.2 节 TensorBoard 使用教程:训练日志可视化与监控 图解 Transformer 第 7 讲 Transformer 动态学习率教程:详解 warmup 公式与 PyTorch LambdaLR 自定义实现 |
| 5. torch.utils.data 数据加载(PyTorch DataLoader教程) Dataset、采样、批处理 |
torch.utils.data.DataLoader(batch_size= shuffle= num_workers= drop_last=) |
第 3.6 节 Softmax 回归实现:PyTorch DataLoader 与 MNIST 手写体分类 第 5.7 节 训练数据预处理与缓存:Python 修饰器与数据加载优化 |
| 6. 模型训练循环 (PyTorch 实战教程) fit / evaluate / predict 三段式 |
optimizer.zero_grad() → loss = criterion()→ loss.backward() → optimizer.step()model.eval() → with torch.no_grad():model.train() |
第 5.4 节 迁移学习教程:预训练模型微调与图像分类实战 第 5.5 节 torchvision 预训练模型:ResNet18 微调与 CIFAR10 分类实战 |
| 7. GPU 与多卡并行(PyTorch 多 GPU 训练教程) | torch.cuda.is_available() x.to('cuda')model.cuda() nn.DataParallel(model) |
第 5.6 节 多 GPU 训练:数据并行、模型并行与 PyTorch 实现 |
| 8. tensorboard + 模型保存(PyTorch 可视化与持久化) 训练监控、checkpoint |
torch.utils.tensorboard.SummaryWriterwriter.add_scalar writer.add_image writer.add_graph(model, x)torch.save(model.state_dict(),'ckpt.pt') model.load_state_dict() |
第 5.3 节 PyTorch 模型保存与加载:模型复用与权重管理 第 5.2 节 TensorBoard 使用教程:训练日志可视化与监控 玩转 BERT 第 3 讲 PyTorch 模型保存与迁移教程:BERT 预训练权重加载、推理与增量训练实战 |
这 8 大函数类覆盖了 pytorch 入门教程 / pytorch 入门手册 中 90% 的高频代码片段——拿到陌生数据集时,按此清单逐项对照,就能写出一份完整的 PyTorch 训练脚本。
入门到上手 3 步路径#
| 阶段 | PyTorch 入门教程 关键步骤 | 本站对应章节 |
|---|---|---|
| 第 1 步 安装与环境 | pip install torch torchvision 或 conda install pytorch-cuda=12.1,验证 torch.cuda.is_available() |
第 2.2 节 深度学习环境安装:CUDA、PyTorch 与依赖配置教程 第 2.3 节 深度学习开发环境安装配置:Jupyter Notebook 与 PyCharm 使用教程 |
| 第 2 步 跑通最小模型 | nn.Linear → criterion → loss.backward() → optimizer.step() 四行训练循环,跑通 MNIST 或线性回归 |
第 3.2 节 线性回归简洁实现 第 3.7 节 从零实现 MNIST 分类 |
| 第 3 步 上 CNN / Transformer | 引入 nn.Conv2d / nn.Transformer,加 DataLoader + TensorBoard + checkpoint |
第 4 章 PyTorch 卷积神经网络实战 图解 Transformer 第 4 讲 Transformer PyTorch 完整实现教程 |
最小上手代码(pytorch 入门教程标配)#
import torch
from torch import nn, optim
from torch.utils.data import DataLoader, TensorDataset
# 第 1 步 准备数据
X = torch.randn(1024, 784)
y = torch.randint(0, 10, (1024,))
loader = DataLoader(TensorDataset(X, y), batch_size=64, shuffle=True)
# 第 2 步 定义模型:nn.Module + nn.Sequential
model = nn.Sequential(nn.Linear(784, 256), nn.ReLU(), nn.Linear(256, 10))
device = 'cuda' if torch.cuda.is_available() else 'cpu'
model.to(device)
# 第 3 步 损失 + 优化器
criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(model.parameters(), lr=1e-3)
# 第 4 步 训练循环
for epoch in range(5):
for xb, yb in loader:
xb, yb = xb.to(device), yb.to(device)
loss = criterion(model(xb), yb)
optimizer.zero_grad() # 关键:清梯度
loss.backward() # autograd 反向
optimizer.step() # 更新参数
print(f"epoch {epoch}: loss={loss.item():.4f}")更多训练套路可视化、可对比的实战案例,直接看 第 5 章 PyTorch 模型保存、迁移学习与多 GPU 训练 与 玩转 BERT 第 2 讲 BERT 模型 PyTorch 从零实现教程。
相关链接#
- 站内 PyTorch 入门教程入口:深度学习整套章节 · 图解 Transformer 入门教程 · 玩转 BERT 详解六大下游任务
- 相关仓库页:GPT2-Chinese · BertWithPretrained · TransformerTranslation · DeepLearningWithMe