PyTorch 是一个流行的开源深度学习框架,由 Facebook 的 AI 研究团队开发。它提供了灵活的架构和动态计算图,使得深度学习模型的开发变得更加简单和高效。
安装 PyTorch
在安装 PyTorch 之前,请确保你的系统中已安装 Python。以下是在不同操作系统上安装 PyTorch 的步骤:
- Windows:
- 打开命令行工具,输入
pip install torch torchvision torchaudio
- 打开命令行工具,输入
- Linux:
- 打开终端,输入
pip install torch torchvision torchaudio
- 打开终端,输入
- macOS:
- 打开终端,输入
pip install torch torchvision torchaudio
- 打开终端,输入
PyTorch 的基本概念
张量 (Tensor)
在 PyTorch 中,所有数据都是以张量的形式存储的。张量类似于多维数组,可以存储任何类型的数据,如整数、浮点数等。
自动微分 (Autograd)
PyTorch 的自动微分功能使得计算梯度变得非常简单。只需将函数应用于张量,PyTorch 就会自动计算梯度。
模型构建
PyTorch 提供了丰富的神经网络模块,可以轻松构建各种深度学习模型。
示例:构建一个简单的神经网络
以下是一个使用 PyTorch 构建简单神经网络的示例:
import torch
import torch.nn as nn
import torch.optim as optim
# 定义网络结构
class SimpleNet(nn.Module):
def __init__(self):
super(SimpleNet, self).__init__()
self.fc1 = nn.Linear(784, 128)
self.relu = nn.ReLU()
self.fc2 = nn.Linear(128, 10)
def forward(self, x):
x = self.fc1(x)
x = self.relu(x)
x = self.fc2(x)
return x
# 实例化网络
net = SimpleNet()
# 定义损失函数和优化器
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(net.parameters(), lr=0.01)
# 训练网络
for epoch in range(2):
optimizer.zero_grad()
output = net(torch.randn(64, 784))
loss = criterion(output, torch.randint(0, 10, (64,)))
loss.backward()
optimizer.step()