Ubuntu 20.04深度学习开发环境配置CUDA+CUDNN+PyTorch

开发环境配置步骤

  • NVIDIA显卡驱动安装
    • Step 1:关闭系统自带驱动nouveau
    • Step 2:NVIDIA驱动安装
  • 安装CUDA
    • Step 1:下载和安装
    • Step 2:配置和验证
  • 安装CUDNN
    • Step 1:下载和安装
    • Step 2: 验证
  • 安装Anaconda
  • PyTorch安装

NVIDIA显卡驱动安装

如果本身安装有显卡驱动,可以通过以下命令先移除,再重新安装

sudo apt purge nvidia*

Step 1:关闭系统自带驱动nouveau

首先查看lsmod | grep nouveau查看以下nouveau是否正在运行,
如果有输出(如下图),这证明nouveau正在运行中,进行接下来的操作进行关闭。
Ubuntu 20.04深度学习开发环境配置CUDA+CUDNN+PyTorch_第1张图片
禁用nouveau,在终端输入:sudo gedit /etc/modprobe.d/blacklist.conf自动弹出配置文件。在文件的末尾加上两行:

blacklist nouveau
options nouveau modeset=0

并在终端输入sudo update-initramfs -u进行更改。完成后重启设备即可。

Step 2:NVIDIA驱动安装

准备工作:
1.安装必要依赖

sudo apt-get update   #更新软件列表
sudo apt-get install g++ gcc make

2.确认显卡型号:

lspci | grep -i nvidia

3.根据显卡型号在英伟达官网下载对应驱动
https://www.nvidia.cn/Download/index.aspx

4.安装lightdm显示管理(ubuntu 20.04与22.04均需要安装)

sudo apt-get install lightdm

如果你也遇到了 Unable to fetch some archives, maybe run apt-get update or try with --fix-missing? 这样的包,可以尝试替换成阿里源或者清华源。替换后再重试一下应该就可以解决。参考Ubuntu 20.04 更换阿里源。

安装过程中会弹窗选择显示管理器选择gdm3或者lightdm,选择一下lightdm即可。

5.关闭图形界面:

sudo service lightdm stop

6.开始安装下载好的驱动:
找到刚刚驱动文件下载所在的文件夹

cd download_path
sudo chmod a+x NVIDIA-Linux-x86_64-xx.run #赋予执行权限,xx为版本号
sudo ./NVIDIA-Linux-x86_64-xxrun -no-x-check -no-nouveau-check -no-opengl-files

按提示选择后完成安装,输入nvidia-smi确认驱动成功安装,如果成功,则能看到类似下图输出。
Ubuntu 20.04深度学习开发环境配置CUDA+CUDNN+PyTorch_第2张图片
确认好之后,可以重启lightdm了。

sudo service lightdm start

安装CUDA

Step 1:下载和安装

上面nvidia-smi中显示的CUDA 11.7并不是安装了CUDA11.7版本的含义,而是该驱动最高支持到CUDA 11.7版本。

进入NVIDIA官方CUDA下载页面https://developer.nvidia.com/cuda-toolkit-archive
选择自己需要的版本进行下载。这里以11.2.2下载为例。
Ubuntu 20.04深度学习开发环境配置CUDA+CUDNN+PyTorch_第3张图片
选择了runfile(local)方式。完成选择之后,会弹出下载安装指引:

wget https://developer.download.nvidia.com/compute/cuda/11.2.2/local_installers/cuda_11.2.2_460.32.03_linux.run
sudo sh cuda_11.2.2_460.32.03_linux.run

执行后,先输入accept同意EULA。
下一个页面中,取消勾选Driver,然后选择Install
Ubuntu 20.04深度学习开发环境配置CUDA+CUDNN+PyTorch_第4张图片

Step 2:配置和验证

安装完成后,需配置~/.bashrc文件才能够正常使用。

sudo vim ~/.bashrc

在最底部添加

export PATH=$PATH:/usr/local/cuda/bin  
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64  
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64

保存退出之后,source ~/.bashrc使其生效。然后命令行输入nvcc -V确认是否成功安装。如果看下以下输出,证明安装成功了。
在这里插入图片描述

安装CUDNN

Step 1:下载和安装

在NVIDIA官网上下载与CUDA匹配的CUDNN安装文件: https://developer.nvidia.com/rdp/cudnn-download
需要登陆NVIDIA账户后进行下载。
Ubuntu 20.04深度学习开发环境配置CUDA+CUDNN+PyTorch_第5张图片
可以查看一下Installation Guide确认一下prerequisite是否满足,以及GPU价格等和版本的匹配。

以v8.4.1 for CUDA 11.x的下载和安装为例。根据系统选择了Local Installer for Ubuntu 20.04 x86_x64 (Deb)
Ubuntu 20.04深度学习开发环境配置CUDA+CUDNN+PyTorch_第6张图片
下载deb文件,并进入下载路径,并执行以下操作:

cd download_path
sudo dpkg -i cudnn-local-repo-ubuntu2004-8.4.1.50_1.0-1_amd64.deb #激活本地文件
sudo cp /var/cudnn-local-repo-ubuntu2004-8.4.1.50/cudnn-local-E3EC4A60-keyring.gpg /usr/share/keyrings/ # 导入CUDA GPG Key
sudo apt-get update
sudo apt-get install libcudnn8=8.4.1.50-1+cuda11.6 #通过tab自动补全,安装runtime library
sudo apt-get install libcudnn8-dev=8.4.1.50-1+cuda11.6 #通过tab自动补全,安装developer library
sudo apt-get install libcudnn8-samples=8.4.1.50-1+cuda11.6 #通过tab自动补全,安装samples和文档

Step 2: 验证

CUDNN的安装包中有sample code,可用于测试。
先将sample code拷贝至可写入路径,如$HOME

cp -r /usr/src/cudnn_samples_v8/ $HOME 

进入到mnist文件夹中,并进行编译

cd cudnn_samples_v8/mnistCUDNN/
make clean && make

如果遇到了WARNING - FreeImage is not set up correctly. Please ensure FreeImage is set up correctly,无法继续编译,可以执行以下命令:

sudo apt-get install libfreeimage3 libfreeimage-dev

执行后重新make clean && make,完成后尝试运行./mnistCUDNN,会看到很多输出,如果在最末端看到了!
Ubuntu 20.04深度学习开发环境配置CUDA+CUDNN+PyTorch_第7张图片
则表明CUDNN安装成功。

安装Anaconda

在Anaconda官网,下载系统安装文件: https://www.anaconda.com/products/distribution#Downloads
这里选择了Linux 64-Bit (x86) Installer (659MB)安装文件。
Ubuntu 20.04深度学习开发环境配置CUDA+CUDNN+PyTorch_第8张图片
命令行运行下载的sh文件./Anaconda3-2022.05-Linux-x86_64.sh进入到安装程序中。
按空格或者enter键,直到出现Do you accpet the license terms? [yes|no],输入yes(如有必要声明一下安装路径,没有的话按ENTER)等待安装完成即可。

PyTorch安装

首先创建一个虚拟环境,因为我们后续打算安装PyTorch 1.8.0,因此将该环境命名为PyTorch-1.8.0,Python设定为3.9.12 (与anaconda base一致)

conda create -n PyTorch-1.8.0 python==3.9.12

由于安装的是11.2版本的CUDA,需要找到适配的PyTorch版本,查阅了https://pytorch.org/get-started/previous-versions/,有支持cuda 11.1和cuda11.3版本的,但没有找到11.2。

首先尝试了11.3的v1.10.1,v1.10.0、v1.9.1、v1.9.0以及v1.8.1均无法检测到GPU。

因此考虑无法向上兼容但应该可以向下兼容,因此尝试了支持11.1的v1.8.0:

conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forge

等待安装完成。

验证一下是否安装成功

python
import torch
print(torch.cuda.is_available())

如果返回True,则表示安装成功。

至此可以hands on的进行深度学习算法的研发了。

你可能感兴趣的:(实用工具,ubuntu,pytorch,深度学习)