PyTorch在Ubuntu上支持多GPU,主要通過數據并行或模型并行的方式實現。數據并行是將模型和數據分布在多個GPU上進行訓練,而模型并行則是將模型的不同部分放在不同的GPU上進行訓練。以下是在Ubuntu上配置PyTorch以支持多GPU的基本步驟:
首先,確保安裝了正確版本的NVIDIA顯卡驅動??梢酝ㄟ^以下命令安裝推薦的驅動:
sudo ubuntu-drivers autoinstall
接下來,安裝與PyTorch兼容的CUDA和cuDNN版本??梢酝ㄟ^PyTorch官網或NVIDIA官網下載并安裝。
建議使用Conda來管理Python環境,因為它可以更好地處理依賴關系。創建一個新的Conda環境并激活它:
conda create -n pytorch_env python=3.8
conda activate pytorch_env
在Conda環境中安裝PyTorch,可以通過以下命令安裝支持多GPU的PyTorch版本:
conda install pytorch torchvision torchaudio cudatoolkit -c pytorch -c conda-forge
安裝完成后,可以通過以下代碼驗證PyTorch是否支持多GPU:
import torch
print(torch.cuda.device_count()) # 輸出GPU數量
print(torch.cuda.is_available()) # 輸出True,表示CUDA可用
此外,PyTorch提供了torch.nn.DataParallel
和torch.nn.parallel.DistributedDataParallel
類來實現多GPU訓練。使用DataParallel
可以輕松地在多個GPU上并行化模型,而DistributedDataParallel
則提供了更強大的分布式訓練支持。
請注意,具體的安裝步驟和命令可能會隨著PyTorch和CUDA版本的更新而發生變化,因此在安裝時請參考最新的官方文檔。