在Linux環境下,PyTorch與CUDA的協同工作主要涉及以下幾個步驟:
首先,你需要安裝CUDA Toolkit,這是NVIDIA提供的用于深度學習的并行計算平臺和API。你可以從NVIDIA官網下載適合你GPU型號的CUDA Toolkit。
# 下載CUDA Toolkit安裝包(例如cuda_11.7.0_515.43.04_linux.run)
wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run
# 安裝CUDA Toolkit
sudo sh cuda_11.7.0_515.43.04_linux.run
安裝過程中,選擇安裝CUDA Toolkit和驅動程序。
cuDNN是NVIDIA提供的深度神經網絡庫,用于加速深度學習框架的計算。你需要下載并安裝與CUDA Toolkit版本兼容的cuDNN庫。
# 下載cuDNN(例如cudnn-11.7-linux-x64-v8.4.1.50.tgz)
wget https://developer.nvidia.com/compute/machine-learning/cudnn/secure/8.4.1.50/11.7_20210301/cudnn-11.7-linux-x64-v8.4.1.50.tgz
# 解壓cuDNN
tar -xzvf cudnn-11.7-linux-x64-v8.4.1.50.tgz
# 復制cuDNN文件到CUDA目錄
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*
為了使系統能夠找到CUDA和cuDNN庫,你需要配置環境變量。
# 編輯~/.bashrc文件
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
# 使環境變量生效
source ~/.bashrc
你可以使用pip或conda來安裝支持CUDA的PyTorch版本。
# 安裝支持CUDA 11.7的PyTorch
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117
# 創建一個新的conda環境(可選)
conda create -n pytorch_env python=3.9
# 激活環境
conda activate pytorch_env
# 安裝支持CUDA 11.7的PyTorch
conda install pytorch torchvision torchaudio cudatoolkit=11.7 -c pytorch
安裝完成后,你可以驗證PyTorch是否能夠檢測到CUDA。
import torch
# 檢查是否有可用的GPU
print(torch.cuda.is_available())
# 獲取GPU數量
print(torch.cuda.device_count())
# 獲取當前GPU名稱
print(torch.cuda.get_device_name(0))
如果輸出顯示True
,并且列出了GPU的名稱,說明PyTorch已經成功配置并與CUDA協同工作。
通過以上步驟,你可以在Linux環境下成功安裝并配置PyTorch與CUDA,從而利用GPU加速深度學習模型的訓練和推理。