Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)

Ubuntu 20.04 系统(双系统环境下)中的深度学习环境配置(Pytorch + GPU)

前序(避坑)

上回我在虚拟机中装的 Ubuntu,并安装 Nvidia 驱动,输入命令 ubuntu-drivers devices,可以看到无推荐安装的驱动,如下所示:

Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第1张图片
最后使用 sudo apt install nvidia-driver-510 安装,后来安装 cuda 后,用 nvcc -V 检查,也证明确实安装成功了:

Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第2张图片
但始终不能解决这个问题:

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

后来经过种种资料和事实证明:虚拟机中不支持安装Nvidia驱动于是我装了 Windows + Ubuntu 双系统,并在 Ubuntu 系统中进行实验,终于成功,希望大家避坑


安装 Nvidia 驱动

可以看到,出现了很多推荐的驱动,这才正常:

Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第3张图片
同意安装推荐版本(510),在终端输入如下命令,即可自动安装

sudo ubuntu-drivers autoinstall 

安装成功,如图所示:NVIDIA-SMI 510.47.03

Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第4张图片


安装 CUDA 11.5

安装教训:

  1. 我之前安装的cuda11.6,直到安装cuDNN才发现没有对应的版本,这也提示我们要安装cuda前,先去看看cuDNN对应的cuda版本。大家如果是初次安装,可以跳过下面的卸载命令
  2. 不要安装版本不对应的cuDNN,我初次安装cuda11.6版本,而cuDNN最高支持11.5,我安装了,结果验证cuDNN不能使用,所以不要有侥幸心理
sudo /usr/local/cuda-11.6/bin/cuda-uninstaller
sudo rm -rf /usr/local/cuda-11.6/

输入命令进行安装:

wget https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux.run
sudo sh cuda_11.5.0_495.29.05_linux.run

Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第5张图片
Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第6张图片

具体安装过程:
Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第7张图片Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第8张图片
Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第9张图片Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第10张图片
环境变量:

打开文件,配置环境变量,然后用nvcc -V查看 cuda 信息,证明 cuda 安装成功

gedit ~/.bashrc
export PATH=/usr/local/cuda-11.5/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.5/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
source ~/.bashrc

Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第11张图片
Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第12张图片


安装 cuDNN for CUDA 11.5

cuDNN 是对 CUDA 的补充,需要 Nvidia 账号和密码,注册登录即可下载,本节中我找到 CUDA11.5 对应版本的 cuDNN进行安装,参考了一篇不错的博客: Ubuntu 20.04安装CUDA 11.0、cuDNN 8.0.5、PyTorch 1.7.0

Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第13张图片
下载成功

Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第14张图片
解压上图黄色的压缩包到当前文件夹

tar zxvf cudnn-11.5-linux-x64-v8.3.0.98.tgz -C ./ 

解压后多了一个 cuda 目录

Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第15张图片

cuda目录下面有include和lib64两个子目录,将这两个目录下面的所有文件拷贝到CUDA 11.6的安装路径对应的目录下面即可,作为对cuda的补充

sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64

完成后,删除.tgz文件和cuda文件夹,已经没用了

更改usr/local/cuda/下的includelib64文件夹的权限,否则会出问题

sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn* 

附:常用的修改权限的指令

sudo chmod 600 ××× (只有所有者有读和写的权限)
sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)
sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)
sudo chmod 666 ××× (每个人都有读和写的权限)
sudo chmod 777 ××× (每个人都有读和写以及执行的权限)

Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第16张图片
安装其余三个Deb包

注意:这三个包的安装顺序不要乱

sudo dpkg -i libcudnn8_8.3.0.98-1+cuda11.5_amd64.deb
sudo dpkg -i libcudnn8-dev_8.3.0.98-1+cuda11.5_amd64.deb
sudo dpkg -i libcudnn8-samples_8.3.0.98-1+cuda11.5_amd64.deb 

安装第一个Deb包时候,弹出根目录空间剩余0,记得当时设置了25.5G,确实太小,于是我扩容了根目录后,重新进行安装三个包:

Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第17张图片
验证是否安装成功

cp -r /usr/src/cudnn_samples_v8/ ~
cd ~/cudnn_samples_v8/mnistCUDNN/
make clean && make
./mnistCUDNN

报以下编译错误 fatal error: FreeImage.h

Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第18张图片
尝试解决

sudo apt-get install libfreeimage3 libfreeimage-dev

无用,即使sudo apt-get update后再试这条命令:

Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第19张图片
找了半天,终于有一篇博客拯救我

  • 失败原因:各种系统资源安装包等、其挂载的服务器可能是国外的或者此时访问的人数过多导致连接超时后服务器连接失败,致使资源下载失败
  • 解决方案:可以把原来的cn.archive.ubuntu.com服务器地址更换成网易163的服务器源,能有效的提高各种资源的下载速度和安装速度

操作如下

1. 找到sources.list文件,用文本编辑器打开

Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第20张图片
2. 文件全选,替换为如下代码(我的系统是ubuntu 20.04,所以用focal,大家可以用lsb_release -a查看并相应替换代码中所有的focal,然后整体再替换sources.list)

Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第21张图片

deb http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse

3. 之后sudo apt-get update一下,执行sudo apt-get install libfreeimage3 libfreeimage-dev不报任何错,至此,我们再验证cuDNN是否安装成功

Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第22张图片
4. 执行make clean && make,不报错,再次验证编译错误 fatal error: FreeImage.h已解决
Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第23张图片
5. 执行./mnistCUDNN,最后显示Test Passed!,激动到哭

Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第24张图片


安装 Pytorch

换源,首先打开文件:

gedit ~/.condarc

将下面代码进行替换:

channels:
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
show_channel_urls: true

在这里插入图片描述
刷新路径:

source ~/.bashrc

打开官网:
Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第25张图片
执行命令:conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch,输入yes,等待安装完成

Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第26张图片

验证 Pytorch + GPU 环境是否搭建成功

python3
import torch
import torchvision
print(torch.cuda.is_available())

输出True,代表环境配置成功

Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第27张图片


注意事项

我们安装的Cuda版本是11.5,可以进入如下目录,打开version.json文件查看
Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第28张图片
但是在终端输入nvidia-smi命令,看到的cuda版本是11.6,如下图所示。不要慌,这是因为上边的11.6版本只是当前驱动推荐的Cuda版本,并不代表已安装的
Ubuntu 20.04 系统(双系统环境下)中深度学习环境配置(Pytorch + GPU)_第29张图片


附:Ubuntu系统下查看显卡相关信息

欢迎评论区纠错和讨论!希望自己走的弯路,能让大家避开,更多疑问联系我,QQ:743337163

你可能感兴趣的:(Ubuntu,安装与配置,知识图谱嵌入(KGE),ubuntu,pytorch,深度学习,GPU,CUDA)