1. 安装NVIDIA GPU驱动
确保系统安装了适配GPU型号的最新NVIDIA驱动(可通过nvidia-smi
命令验证驱动是否识别GPU)。若未安装,可通过以下步骤操作:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
nvidia-driver-470
及以上):sudo ubuntu-drivers autoinstall
2. 安装CUDA Toolkit
CUDA是PyTorch GPU加速的核心依赖,需匹配PyTorch支持的版本(如CUDA 11.7/11.8)。安装步骤:
.run
或.deb
格式)。.deb
包,执行:sudo dpkg -i cuda-repo-ubuntu2004-11-7-local_11.7.0-515.43.04-1_amd64.deb
;若使用.run
包,执行:sudo sh cuda_11.7.0_515.43.04_linux.run
(安装时勾选“CUDA Toolkit”组件)。~/.bashrc
:export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
source ~/.bashrc
。3. 安装cuDNN库
cuDNN是针对深度学习的GPU加速库,需与CUDA版本严格匹配(如cuDNN 8.4对应CUDA 11.7)。安装步骤:
cudnn-11.7-linux-x64-v8.4.1.50.tgz
)。tar -xzvf cudnn-11.7-linux-x64-v8.4.1.50.tgz sudo cp cuda/include/cudnn*.h /usr/local/cuda/include sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
4. 安装支持GPU的PyTorch版本
通过PyTorch官网获取与CUDA版本匹配的安装命令(如CUDA 11.7):
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117
conda install pytorch torchvision torchaudio cudatoolkit=11.7 -c pytorch
import torch print(torch.cuda.is_available()) # 应输出True print(torch.cuda.get_device_name(0)) # 显示GPU型号
5. 优化代码实现加速
device = torch.device("cuda" if torch.cuda.is_available() else "cpu") model = model.to(device) data = data.to(device) # 确保输入数据也在GPU上
torch.cuda.amp
模块减少内存占用、提升计算速度:from torch.cuda.amp import autocast, GradScaler scaler = GradScaler() for data, target in dataloader: optimizer.zero_grad() with autocast(): # 自动选择float16/float32计算 output = model(data) loss = criterion(output, target) scaler.scale(loss).backward() # 缩放梯度防止溢出 scaler.step(optimizer) scaler.update() # 更新缩放因子
DataLoader
中设置num_workers
(如num_workers=4
)启用多进程并行加载,避免数据预处理成为瓶颈。6. 其他加速技巧
torch.distributed
模块的DistributedDataParallel
(DDP)实现多卡并行,显著提升大规模模型训练速度。batch_size
(如从32增至64)可提高GPU利用率,但需避免超过GPU显存上限(可通过nvidia-smi
监控显存使用情况)。