返回笔记
基础概念
PyTorch 入门:从张量到神经网络
PyTorch
张量
自动微分
神经网络
深度学习框架
PyTorch 是目前 AI 研究和工程的第一框架。几乎所有大模型都是用 PyTorch 训练的。这篇文章帮你 30 分钟上手。
为什么是 PyTorch
- Pythonic:代码风格跟普通 Python 一样,学习曲线平缓
- 动态计算图:可以随时打印调试,不需要先定义后执行
- 生态强大:HuggingFace、PyTorch Lightning、TorchServe 都基于它
- 学术界标配:99% 的 AI 论文用 PyTorch 实现
张量基础
张量就是多维数组。PyTorch 的张量和 NumPy 几乎一样:
import torch
x = torch.tensor([1, 2, 3]) # 1D 张量
y = torch.randn(2, 3) # 2x3 随机张量
z = torch.zeros(3, 4, dtype=torch.long) # 全零张量
x + y # 加法
x @ y.T # 矩阵乘法
x.cuda() # 搬到 GPU
自动微分
这是 PyTorch 最强大的特性。设置 requires_grad=True 后,PyTorch 会自动追踪所有运算,帮你算出梯度:
w = torch.randn(1, requires_grad=True)
loss = (w - 3) ** 2 # 损失函数
loss.backward() # 自动求梯度
print(w.grad) # 梯度 = 2*(w-3)
搭建第一个神经网络
class Net(torch.nn.Module):
def __init__(self):
super().__init__()
self.fc1 = torch.nn.Linear(784, 128)
self.fc2 = torch.nn.Linear(128, 10)
def forward(self, x):
x = torch.relu(self.fc1(x))
x = self.fc2(x)
return x
一个最简单的两层全连接网络就写好了。训练循环就十来行代码。
学习路径建议
先掌握张量操作 → 理解自动微分 → 手写一个分类器 → 用 DataLoader 管理数据 → 上 GPU 训练 → 保存和加载模型 → 看论文复现代码。