🔥 PyTorch 入门指南
PyTorch 是由 Facebook 推出的深度学习框架,特点是动态计算图和 Pythonic 的编程风格,广泛用于科研、教学和生产环境。
✅ PyTorch 能解决什么问题?
| 应用方向 | 示例任务 | 适用场景 |
|---|---|---|
| 图像处理 | 图像分类、目标检测、分割 | 医疗影像、自动驾驶等 |
| 自然语言 | 情感分析、翻译、问答系统 | AI客服、语言模型 |
| 时间序列 | 股价预测、温度预测 | 金融、气象、IoT |
| 强化学习 | 游戏智能体、策略优化 | 智能机器人、游戏AI |
| 定制任务 | 可控生成模型、图神经网络等 | 学术研究、创新开发 |
📦 安装
pip install torch torchvision
🚀 第一个 PyTorch 示例:线性回归
1️⃣ 导入模块和数据准备
导入 torch
从 torch 导入 nn
X = torch.tensor([[1.0], [2.0], [3.0], [4.0]])
y = torch.tensor([[2.0], [4.0], [6.0], [8.0]])
2️⃣ 定义模型
模型 = nn.Linear(输入特征数=1, 输出特征数=1)
3️⃣ 训练模型
损失函数 = nn.MSELoss()
优化器 = torch.optim.SGD(模型.参数(), 学习率=0.01)
循环 500 次:
优化器.zero_grad()
输出 = 模型(X)
损失 = 损失函数(输出, y)
损失.反向传播()
优化器.step()
4️⃣ 使用模型预测
预测 = 模型(torch.tensor([[10.0]]))
打印(预测)
🧱 构建神经网络结构
类 神经网络(nn.Module):
定 初始化(self):
调用 super()
self.全连接 = nn.Sequential(
nn.Linear(784, 128),
nn.ReLU(),
nn.Linear(128, 10)
)
定 前向(self, x):
返回 self.全连接(x)