为什么要升级?
- PyTorch 2.x更快,更符合Python语言习惯,仍然具有动态性。
- 弃用CUDA 11.6和Python 3.7支持。
升级目标
升级之后,使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的方式。
数据科学家将能够在PyTorch 2.x中完成与1.x相同的任务,并且可以更快速、更大规模地完成任务。
升级步骤
如果你的Python版本≥ 3.8,≤ 3.11,请跳到下一部分
将Python从≤3.8升级到3.10的步骤:
- 对于全新安装,请删除所有现有的Python相关文件
# 用实际的版本号替换X
sudo apt --purge remove python3.X
sudo apt-get autoremove
sudo apt-get autoclean
- 预安装操作
sudo apt update
# 安装所需的依赖项
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网站下载所需的版本(这里是3.10.6)。
【网址】:https://www.python.org/downloads/source/
# 提取源代码
tar -xvf Python-3.10.6.tgz
# 配置构建
cd python-3.10.6
./configure --enable-optimizations --prefix=/usr/local
# 开始构建过程
make -j $(nproc)
# 构建完成后,安装Python
sudo make install
打开./bashrc文件,并在末尾添加以下行:
export PATH="/usr/local/bin:$PATH"
保存文件并通过运行以下命令更新当前会话的环境变量:
source ~/.bashrc
验证Python版本:
python3 --version
which python3
如果CUDA≥11.7.0,请跳到下一部分
使用Nvidia Geforce RTX显卡在Ubuntu 22.04上升级Cuda ≤ 11.7的步骤:
- 对于全新安装,请删除所有现有的CUDA相关文件
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
- 预安装操作:
# 验证你是否拥有支持CUDA的GPU
lspci | grep -i nvidia
# 验证系统是否已安装gcc
gcc --version
# 验证系统是否已安装正确的内核头文件和开发包
sudo apt-get install linux-headers-$(uname -r)
- 安装NVIDIA CUDA工具包11.7.1(推荐使用Debian安装程序)
# 安装存储库元数据,更新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
有关更多关于在Ubuntu 22.04上升级CUDA的详细步骤,你可以参考以下链接:https://developer.nvidia.com/cuda-toolkit-archive。
在安装CUDA时,可能要求你为MOK管理创建密码,请执行此操作。
重新启动系统以加载NVIDIA驱动程序。如果出现蓝屏,请不要继续启动,而是登记提供你之前创建的密码的密钥,然后继续启动。
打开./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}}
保存文件并通过运行以下命令更新当前会话的环境变量:
source ~/.bashrc
验证CUDA版本:
nvcc --version
nvidia-smi
如果已经CUDNN≥8.5.0.96,请跳到下一部分
升级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
# 导入CUDA GPG密钥
sudo cp /var/cudnn-local-repo-ubuntu2204-8.5.0.96/cudnn-local-*-keyring.gpg /usr/share/keyrings/
# 刷新存储库元数据
sudo apt-get update
# 安装运行时的库
sudo apt-get install libcudnn8=8.5.0.96-1+cuda11.7
# 安装开发人员库
sudo apt-get install libcudnn8-dev=8.5.0.96-1+cuda11.7
有关详细信息,请参见此处(https://developer.nvidia.com/rdp/cudnn-archive)。
如果你已经有PyTorch≥ 2.0.0,则非常棒。
升级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
对于其他操作系统或包管理器,请参见此处(https://pytorch.org/get-started/previous-versions/)。
有关下载wheel文件的详细信息,请参见此处(https://download.pytorch.org/whl/cu117)。
验证PyTorch 2.0的安装:
python3 -c "import torch; print(torch.__version__)"