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驱动,于是我装了 Ubuntu 子系统进行实验,终于成功,希望大家避坑
🍀 安装 Nvidia 驱动
可以看到有很多推荐的驱动,这很正常:
同意安装推荐版本(510),在终端输入如下命令,即可自动安装
sudo ubuntu-drivers autoinstall
安装成功,如图所示:NVIDIA-SMI 510.47.03
🍀 安装CUDA 11.5
安装教程:
- 我之前安装的cuda11.6,直到安装cuDNN才发现没有对应的版本,这也提示我们要安装cuda前,先去看看cuDNN对应的cuda版本。大家如果是初次安装,可以跳过下面的卸载命令
- 不要安装版本不对应的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
🍀 安装cuDNNfor CUDA 11.5
cuDNN是对CUDA的补充,需要Nvidia账号和密码,注册登录即可下载,本节中我找到CUDA11.5对应版本的cuDNN进行安装,参考了一篇不错的博客:Ubuntu 20.04安装CUDA 11.0、cuDNN 8.0.5、PyTorch 1.7.0
下载成功
将上面的黄色zip文件解压到当前文件夹
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/下的include和lib64文件夹的权限,否则会出问题
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
版权声明:本文为博主Starprog_UESTC_Ax原创文章,版权归属原作者,如果侵权,请联系我们删除!
原文链接:https://blog.csdn.net/qq_40506723/article/details/123196056