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

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

🍀 前序(避坑)

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

在这里插入图片描述
最后使用 sudo apt install nvidia-driver-510 安装,后来安装 cuda 后,用 nvcc -V 检查,也证明确实安装成功了:

在这里插入图片描述
但始终不能解决这个问题:

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 驱动

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

在这里插入图片描述
同意安装推荐版本(510),在终端输入如下命令,即可自动安装

sudo ubuntu-drivers autoinstall 

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

在这里插入图片描述


🍀 安装 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

在这里插入图片描述
在这里插入图片描述

具体安装过程:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
环境变量:

打开文件,配置环境变量,然后用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

在这里插入图片描述
在这里插入图片描述


🍀 安装 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

在这里插入图片描述
下载成功

在这里插入图片描述
解压上图黄色的压缩包到当前文件夹

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

解压后多了一个 cuda 目录

在这里插入图片描述

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 ××× (每个人都有读和写以及执行的权限)

在这里插入图片描述
安装其余三个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,确实太小,于是我扩容了根目录后,重新进行安装三个包:

在这里插入图片描述
验证是否安装成功

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

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

在这里插入图片描述
尝试解决

sudo apt-get install libfreeimage3 libfreeimage-dev

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

在这里插入图片描述
找了半天,终于有一篇博客拯救我

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

操作如下

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

在这里插入图片描述
2. 文件全选,替换为如下代码(我的系统是ubuntu 20.04,所以用focal,大家可以用lsb_release -a查看并相应替换代码中所有的focal,然后整体再替换sources.list)

在这里插入图片描述

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是否安装成功

在这里插入图片描述
4. 执行make clean && make,不报错,再次验证编译错误 fatal error: FreeImage.h已解决
在这里插入图片描述
5. 执行./mnistCUDNN,最后显示Test Passed!,激动到哭

在这里插入图片描述


🍀 安装 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

打开官网:
在这里插入图片描述
执行命令:conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch,输入yes,等待安装完成

在这里插入图片描述

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

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

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

在这里插入图片描述


🍀 注意事项

我们安装的Cuda版本是11.5,可以进入如下目录,打开version.json文件查看
在这里插入图片描述
但是在终端输入nvidia-smi命令,看到的cuda版本是11.6,如下图所示。不要慌,这是因为上边的11.6版本只是当前驱动推荐的Cuda版本,并不代表已安装的
在这里插入图片描述


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

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

  • 17
    点赞
  • 101
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白白净净吃了没病

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值