PyTorch 是一个流行的开源机器学习库,特别适合于应用在深度学习项目中。本教程将为您介绍 PyTorch 的基础知识。
安装 PyTorch
首先,您需要安装 PyTorch。您可以从 PyTorch 官网 获取安装指南。
基础概念
张量 (Tensors)
PyTorch 中的所有数据都是以张量的形式存储的。张量类似于 NumPy 中的数组,但具有动态大小和自动微分能力。
- 创建张量:
import torch tensor = torch.tensor([1, 2, 3])
自动微分
PyTorch 的一个强大功能是自动微分。这意味着您可以为您的模型计算梯度,而不需要手动编写梯度计算代码。
- 计算梯度:
y = x ** 2 y.backward()
神经网络
PyTorch 提供了构建和训练神经网络的简单方式。
- 构建一个简单的神经网络:
import torch.nn as nn class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.conv1 = nn.Conv2d(1, 6, 3) self.conv2 = nn.Conv2d(6, 16, 3) self.fc1 = nn.Linear(16 * 6 * 6, 120) self.fc2 = nn.Linear(120, 84) self.fc3 = nn.Linear(84, 10) def forward(self, x): x = torch.relu(self.conv1(x)) x = torch.max_pool2d(x, (2, 2)) x = torch.relu(self.conv2(x)) x = torch.max_pool2d(x, 2) x = x.view(-1, self.num_flat_features(x)) x = torch.relu(self.fc1(x)) x = torch.relu(self.fc2(x)) x = self.fc3(x) return x def num_flat_features(self, x): size = x.size()[1:] # 除批次大小外的所有维度 num_features = 1 for s in size: num_features *= s return num_features net = Net()
学习资源
如果您想深入了解 PyTorch,以下是一些推荐的学习资源:
希望这个教程能帮助您开始使用 PyTorch。祝您学习愉快!🎉