本文将介绍GPU实例部署PyTorch,从GPU驱动开始彻底解决版本不匹配问题。
CUDA 是 NVIDIA 发明的一种并行计算平台和编程模型。它通过利用图形处理器 (GPU) 的处理能力,可大幅提升计算性能。PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。
Pytorch使用CUDA进行GPU加速时,在CUDA、GPU驱动已经安装的情况下,依然不能使用,很可能是版本不匹配的问题。本文从GPU驱动开始从头彻底解决版本不匹配问题。
查看本机的驱动是否满足要求nvidia-smi
回显如下,表示当前系统的驱动版本是470.57.02,其支持最高版本的CUDA是11.4.
如果不满足需求,需要先卸载驱动,执行如下命令/usr/bin/nvidia-uninstall
出现如下界面,选择Yes,随后一直回车确定
卸载完成
验证驱动是否卸载,回显如下则卸载成功
检查CUDA是否卸载
执行find / -name 'cuda'
,如发现系统内CUDA相关文件,执行如下命令,卸载CUDA工具包,以cuda-11.4为例/usr/local/cuda/bin/cuda-uninstaller
rm -rf /usr/local/cuda-11.4
重启实例,避免kernel错误reboot
详细可以参照文档安装GPU驱动
登录CUDA官网查看所需CUDA版本对应的驱动。以CUDA11.6为例,驱动需要高于或者等于510.47.03
下载驱动安装包并进行安装。
登录NVIDIA官网搜索出3个匹配的驱动安装包,如下图
这里选择510.85.02版本,执行以下命令安装驱动wget https://us.download.nvidia.com/tesla/510.85.02/NVIDIA-Linux-x86\_64-510.85.02.run)
sh NVIDIA-Linux-x86\_64-510.85.02.run
执行nvidia-smi
,查看驱动是否安装成功。回显如下则安装成功。
详细可以参照文档安装CUDA工具包
wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.run sudo sh cuda_11.6.0_510.39.01_linux.run
vim ~/.bashrc export PATH=$PATH:/usr/local/cuda-11.6/bin export LD\_LIBRARY\_PATH=$LD\_LIBRARY\_PATH:/usr/local/cuda-11.6/lib64 source ~/.bashrc
nvcc -V
检查CUDA是否安装成功,回显如下则表示安装成功下载安装包wget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh
执行如下命令,安装bash Anaconda3-2022.05-Linux-x86\_64.sh
按照提示,键入回车
安装时一直回车默认确认信息,选择yes
继续回车,记住这个地址/root/anaconda3
,这是Anaconda的安装路径。
询问是否初始化Anaconda,选择yes
上述步骤完成后,执行source ~/.bashrc
使配置文件生效,若配置成功,会直接进入base环境,如下所示
如果没有进入base环境,执行conda --version
查看Anaconda是否配置成功,若成功回显如下。
如果回显结果是找不到命令,则需要手动添加环境变量
执行如下命令,将Anconda的安装路径添加到环境变量,并使配置文件生效。export PATH=/root/anaconda3/bin:$PATH
source ~/.bashrc
创建虚拟环境,指定python版本。这里以安装3.8.3版本的python为例,xxx
处是环境的名称,此处命名为test-cuda11.6conda create -n xxx python=3.x.x
激活虚拟环境conda activate test-cuda11.6
登录Pytorch官网,找到对应的安装包及其依赖包,及其安装命令
在虚拟环境test-cuda11.6下执行安装命令。(*说明:如未安装Anaconda并创建虚拟环境,在本地已有的python环境下也可以进行以下操作。由于外网安装,pytorch包下载会有点慢,请耐心等待)pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116
执行pip list
查看pytorch是否安装成功
测试CUDA是否可用
python >>>import torch >>>torch.cuda.is_available()
回显如下,则表明成功