手把手教你升级PyTorch 2.0和CUDA

本文将手把手带你升级到PyTorch 2.0。

微信搜索关注《Python学研大本营》,加入读者群,分享更多精彩

图片

为什么要升级?

  • 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的步骤:

  1. 对于全新安装,请删除所有现有的Python相关文件

# 用实际的版本号替换X
sudo apt --purge remove python3.X
sudo apt-get autoremove
sudo apt-get autoclean
  1. 预安装操作

sudo apt update

# 安装所需的依赖项
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget
  1. 从源代码安装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的步骤:

  1. 对于全新安装,请删除所有现有的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
  1. 预安装操作:

# 验证你是否拥有支持CUDA的GPU
lspci | grep -i nvidia

# 验证系统是否已安装gcc
gcc --version

# 验证系统是否已安装正确的内核头文件和开发包
sudo apt-get install linux-headers-$(uname -r)
  1. 安装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的步骤:

  1. 安装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__)"

推荐书单

图片

《PyTorch深度学习简明实战》

本书针对深度学习及开源框架——PyTorch,采用简明的语言进行知识的讲解,注重实战。全书分为4篇,共19章。深度学习基础篇(第1章~第6章)包括PyTorch简介与安装、机器学习基础与线性回归、张量与数据类型、分类问题与多层感知器、多层感知器模型与模型训练、梯度下降法、反向传播算法与内置优化器。计算机视觉篇(第7章~第14章)包括计算机视觉与卷积神经网络、卷积入门实例、图像读取与模型保存、多分类问题与卷积模型的优化、迁移学习与数据增强、经典网络模型与特征提取、图像定位基础、图像语义分割。自然语言处理和序列篇(第15章~第17章)包括文本分类与词嵌入、循环神经网络与一维卷积神经网络、序列预测实例。生成对抗网络和目标检测篇(第18章~第19章)包括生成对抗网络、目标检测。

本书适合人工智能行业的软件工程师、对人工智能感兴趣的学生学习,同时也可作为深度学习的培训教程。

《PyTorch深度学习简明实战》icon-default.png?t=N7T8https://item.jd.com/13512395.html

图片

精彩回顾

《10个Python代码分析工具,助力高效编程》

《使用Scikit-Learn,快速掌握机器学习预测方法》

《添加数据维度,使用Python绘制5D散点图》

《手把手教你使用PyTorch搭建神经网络》

《掌握这18个Pandas知识点,快速入门数据分析》

《GPT4ALL:终极开源大语言模型解决方案》

微信搜索关注《Python学研大本营》,加入读者群

访问【IT今日热榜】,发现每日技术热点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值