神经网络是深度学习中的一种核心模型,而 PyTorch 是一个流行的深度学习框架,非常适合于构建和训练神经网络。以下是一些基础教程,帮助您入门 PyTorch 神经网络。
快速开始
安装 PyTorch
首先,您需要在您的系统上安装 PyTorch。您可以从PyTorch官网下载并安装最新版本的 PyTorch。创建一个简单的神经网络
下面是一个简单的神经网络示例:import torch import torch.nn as nn import torch.optim as optim # 定义一个简单的神经网络 class SimpleNN(nn.Module): def __init__(self): super(SimpleNN, self).__init__() self.fc1 = nn.Linear(784, 128) self.fc2 = nn.Linear(128, 10) def forward(self, x): x = torch.relu(self.fc1(x)) x = self.fc2(x) return x # 实例化神经网络 model = SimpleNN() # 定义损失函数和优化器 criterion = nn.CrossEntropyLoss() optimizer = optim.SGD(model.parameters(), lr=0.01)
训练神经网络
在训练神经网络之前,您需要准备一些数据。这里我们使用 MNIST 数据集作为例子:# 加载 MNIST 数据集 train_loader = torch.utils.data.DataLoader( datasets.MNIST(root='./data', train=True, download=True, transform=transforms.ToTensor()), batch_size=64, shuffle=True)
然后您可以开始训练模型:
# 训练模型 for epoch in range(5): # 5 个训练周期 running_loss = 0.0 for i, data in enumerate(train_loader, 0): inputs, labels = data optimizer.zero_grad() outputs = model(inputs) loss = criterion(outputs, labels) loss.backward() optimizer.step() running_loss += loss.item() if i % 100 == 99: # 每 100 个 mini-batch 打印一次 print(f'[{epoch + 1}, {i + 1}] loss: {running_loss / 100:.3f}') running_loss = 0.0 print('Finished Training')
深入阅读
如果您想要深入了解 PyTorch 和神经网络,以下是一些推荐的资源:
希望这些基础教程能够帮助您开始使用 PyTorch 进行神经网络的学习和实践!