在 Ubuntu 上安装 PyTorch GPU
随着深度学习的兴起,PyTorch作为一款强大的开源机器学习库,受到了越来越多研究者和开发者的青睐。在本篇文章中,我们将在 Ubuntu 操作系统上安装支持 GPU 的 PyTorch,并展示如何进行简单的实验。同时,文中将包含一些使用代码的示例。
安装前的准备
在安装 PyTorch 之前,我们需要确认系统是否支持 NVIDIA GPU。我们可以通过以下命令检查 GPU 是否成功安装:
lspci | grep -i nvidia
若系统成功识别到了 NVIDIA GPU,那么接下来我们需要安装 NVIDIA 驱动和 CUDA Toolkit。这是使用 GPU 加速 PyTorch 所必需的。
安装 NVIDIA 驱动
首先,我们需要更新系统的包管理器:
sudo apt update
sudo apt upgrade
接下来,添加 NVIDIA 的 PPA(个人包档案)来获取最新的驱动:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
然后,我们可以安装推荐的 NVIDIA 驱动:
sudo apt install nvidia-driver-<version>
请将 <version>
替换为你要安装的驱动版本,如 470
。
安装 CUDA Toolkit
可以通过以下命令安装 CUDA Toolkit:
sudo apt install nvidia-cuda-toolkit
安装完成后,重启计算机以使驱动生效。
安装 PyTorch
现在我们已经设置好了 CUDA 环境,接下来可以通过 pip 安装 PyTorch。打开终端,创建一个虚拟环境是一个良好的做法:
python3 -m venv myenv
source myenv/bin/activate
然后我们用以下命令安装 PyTorch:
pip install torch torchvision torchaudio --extra-index-url
请根据你的 CUDA 版本选择合适的 <version>
(例如 117
,对应 CUDA 11.7)。
验证安装
为了确认 PyTorch 是否成功安装并能够使用 GPU,我们可以运行以下 Python 代码:
import torch
# 检查 GPU 是否可用
if torch.cuda.is_available():
print(f'CUDA可用,GPU索引为: {torch.cuda.current_device()}')
print(f'GPU名称为: {torch.cuda.get_device_name(torch.cuda.current_device())}')
else:
print('CUDA不可用')
运行上述代码后,若一切顺利,你将会看到类似如下的输出:
CUDA可用,GPU索引为: 0
GPU名称为: NVIDIA GeForce GTX...
通过 PyTorch 进行简单的深度学习任务
安装完成后,我们可以进行简单的深度学习实验。例如,下面是一个使用 PyTorch 创建简单神经网络进行 MNIST 手写数字识别的示例:
import torch
import torch.nn as nn
import torch.optim as optim
from torchvision import datasets, transforms
# 超参数设定
batch_size = 64
learning_rate = 0.01
num_epochs = 5
# 数据准备
transform = transforms.Compose([transforms.ToTensor()])
train_dataset = datasets.MNIST(root='./data', train=True, download=True, transform=transform)
train_loader = torch.utils.data.DataLoader(dataset=train_dataset, batch_size=batch_size, shuffle=True)
# 定义简单的神经网络
class SimpleNN(nn.Module):
def __init__(self):
super(SimpleNN, self).__init__()
self.fc1 = nn.Linear(28 * 28, 128) # 输入层
self.fc2 = nn.Linear(128, 10) # 输出层
def forward(self, x):
x = x.view(-1, 28 * 28)
x = torch.relu(self.fc1(x))
x = self.fc2(x)
return x
# 模型训练
model = SimpleNN().cuda()
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=learning_rate)
for epoch in range(num_epochs):
for data, target in train_loader:
data, target = data.cuda(), target.cuda()
optimizer.zero_grad()
output = model(data)
loss = criterion(output, target)
loss.backward()
optimizer.step()
print(f'Epoch {epoch + 1}, Loss: {loss.item()}')
这段代码展示了如何构建一个简单的神经网络,并使用 MNIST 数据集进行训练。
结尾
通过上述步骤,我们成功在 Ubuntu 上安装了支持 GPU 的 PyTorch,并运行了简单的示例代码。希望这篇文章能帮助你快速入门 PyTorch 的学习和使用,不论你是研究者、学生,还是开发者,都能在深度学习的旅程中找到乐趣和成就感。
journey
title 安装 PyTorch 的旅程
section 1. 准备工作
检查 GPU: 5: 了解是否具备支持条件
更新系统: 4: 更新包以安装最新驱动
section 2. 安装
安装 NVIDIA 驱动: 3: 安装最新驱动
安装 CUDA: 4: 设置加速环境
安装 PyTorch: 5: 使用 pip 安装
section 3. 运行
验证 GPU: 5: 确保环境正常
进行模型训练: 4: 开始深度学习实践
相信只有实践才能不断提升技能,让我们希望你在这条机器学习的路上,走得越远越好!