手把手教你升級(jí)PyTorch 2.0和CUDA
為什么要升級(jí)?
- PyTorch 2.x更快,更符合Python語言習(xí)慣,仍然具有動(dòng)態(tài)性。
- 棄用CUDA 11.6和Python 3.7支持。
升級(jí)目標(biāo)
升級(jí)之后,使Python、CUDA、CUDNN、PyTorch的版本如下所示:
- Python ≥ 3.8,≤ 3.11
- CUDA ≥ 11.7.0
- CUDNN ≥ 8.5.0.96
- PyTorch ≥ 2.0.0
使用PyTorch 2后,人們將大大提升日常使用PyTorch的方式。
數(shù)據(jù)科學(xué)家將能夠在PyTorch 2.x中完成與1.x相同的任務(wù),并且可以更快速、更大規(guī)模地完成任務(wù)。
升級(jí)步驟
如果你的Python版本≥ 3.8,≤ 3.11,請?zhí)较乱徊糠?/h3>
將Python從≤3.8升級(jí)到3.10的步驟:
- 對于全新安裝,請刪除所有現(xiàn)有的Python相關(guān)文件
# 用實(shí)際的版本號(hào)替換X
sudo apt --purge remove python3.X
sudo apt-get autoremove
sudo apt-get autoclean
- 預(yù)安裝操作
sudo apt update
# 安裝所需的依賴項(xiàng)
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget
- 從源代碼安裝Python 3.10.6
從Python網(wǎng)站下載所需的版本(這里是3.10.6)。
【網(wǎng)址】:https://www.python.org/downloads/source/
# 提取源代碼
tar -xvf Python-3.10.6.tgz
# 配置構(gòu)建
cd python-3.10.6
./configure --enable-optimizations --prefix=/usr/local
# 開始構(gòu)建過程
make -j $(nproc)
# 構(gòu)建完成后,安裝Python
sudo make install
打開./bashrc文件,并在末尾添加以下行:
export PATH="/usr/local/bin:$PATH"
保存文件并通過運(yùn)行以下命令更新當(dāng)前會(huì)話的環(huán)境變量:
source ~/.bashrc
驗(yàn)證Python版本:
python3 --version
which python3
如果CUDA≥11.7.0,請?zhí)较乱徊糠?/h3>
使用Nvidia Geforce RTX顯卡在Ubuntu 22.04上升級(jí)Cuda ≤ 11.7的步驟:
- 對于全新安裝,請刪除所有現(xiàn)有的CUDA相關(guān)文件
sudo apt-get --purge remove "*cuda*" "*cublas*" "*cufft*" "*cufile*" "*curand*" "*cusolver*" "*cusparse*" "*gds-tools*" "*npp*" "*nvjpeg*" "nsight*"
sudo apt-get --purge remove "*nvidia*"
sudo apt-get autoremove
sudo apt-get autoclean
- 預(yù)安裝操作:
# 驗(yàn)證你是否擁有支持CUDA的GPU
lspci | grep -i nvidia
# 驗(yàn)證系統(tǒng)是否已安裝gcc
gcc --version
# 驗(yàn)證系統(tǒng)是否已安裝正確的內(nèi)核頭文件和開發(fā)包
sudo apt-get install linux-headers-$(uname -r)
- 安裝NVIDIA CUDA工具包11.7.1(推薦使用Debian安裝程序)
# 安裝存儲(chǔ)庫元數(shù)據(jù),更新GPG密鑰,更新apt-get緩存并安裝CUDA
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.7.1/local_installers/cuda-repo-ubuntu2204-11-7-local_11.7.1-515.65.01-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-11-7-local_11.7.1-515.65.01-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-11-7-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
有關(guān)更多關(guān)于在Ubuntu 22.04上升級(jí)CUDA的詳細(xì)步驟,你可以參考以下鏈接:https://developer.nvidia.com/cuda-toolkit-archive。
在安裝CUDA時(shí),可能要求你為MOK管理創(chuàng)建密碼,請執(zhí)行此操作。
重新啟動(dòng)系統(tǒng)以加載NVIDIA驅(qū)動(dòng)程序。如果出現(xiàn)藍(lán)屏,請不要繼續(xù)啟動(dòng),而是登記提供你之前創(chuàng)建的密碼的密鑰,然后繼續(xù)啟動(dòng)。
打開./bashrc文件,并在末尾添加以下行:
export PATH=/usr/local/cuda-11.7/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
保存文件并通過運(yùn)行以下命令更新當(dāng)前會(huì)話的環(huán)境變量:
source ~/.bashrc
驗(yàn)證CUDA版本:
nvcc --version
nvidia-smi
如果已經(jīng)CUDNN≥8.5.0.96,請?zhí)较乱徊糠?/h3>
升級(jí)CUDNN≤ 8.5.0.96的步驟:
- 安裝CUDNN 8.5.0.96(建議使用Debian安裝程序)
wget https://developer.nvidia.com/compute/cudnn/secure/8.5.0/local_installers/11.7/cudnn-local-repo-ubuntu2204-8.5.0.96_1.0-1_amd64.deb
sudo dpkg -i cudnn-local-repo-ubuntu2204-8.5.0.96_1.0-1_amd64.deb
# 導(dǎo)入CUDA GPG密鑰
sudo cp /var/cudnn-local-repo-ubuntu2204-8.5.0.96/cudnn-local-*-keyring.gpg /usr/share/keyrings/
# 刷新存儲(chǔ)庫元數(shù)據(jù)
sudo apt-get update
# 安裝運(yùn)行時(shí)的庫
sudo apt-get install libcudnn8=8.5.0.96-1+cuda11.7
# 安裝開發(fā)人員庫
sudo apt-get install libcudnn8-dev=8.5.0.96-1+cuda11.7
有關(guān)詳細(xì)信息,請參見此處(https://developer.nvidia.com/rdp/cudnn-archive)。
如果你已經(jīng)有PyTorch≥ 2.0.0,則非常棒。
升級(jí)PyTorch≤ 2.0.0的步驟:
# 如果你有virtualenv并使用pip作為管理器
pip install torch==2.0.0+cu117 torchvision==0.15.1+cu117 torchaudio==2.0.1 --index-url https://download.pytorch.org/whl/cu117
對于其他操作系統(tǒng)或包管理器,請參見此處(https://pytorch.org/get-started/previous-versions/)。
有關(guān)下載wheel文件的詳細(xì)信息,請參見此處(https://download.pytorch.org/whl/cu117)。
驗(yàn)證PyTorch 2.0的安裝:
python3 -c "import torch; print(torch.__version__)"