返回笔记
基础概念

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 训练 → 保存和加载模型 → 看论文复现代码。