关于深度学习:Ubuntu2004安装分区cuda113cuDNN821pytorch1110等DL框架

  1. 硬件配置
    主机:Dell Precision Tower 7910工作站
    CPU:Intel® Xeon(R) CPU E5-2620 v4 @ 2.10GHz × 16
    内存:48G
    显卡:Nvidia TITAN Xp 12G
    硬盘:SSD 1T,HDD 2T
    原零碎:Win10
  2. 深度学习框架
    Ubuntu 20.04.4 LTS
    Nvidia Driver 510.60.02
    cuda 11.3
    cuDNN 8.2.1
    python 3.9
    Anaconda
    pytorch 1.11.0
    pycharm 2021.3.3
    tensorflow 2.8.0
  3. 装置过程
    3.1 装置Ubuntu20.04
    3.1.1 制作U盘启动盘
    在官网下载Ubuntu 20.04.4 LTS镜像文件,制作U盘启动盘,我用的是Rufus。
    3.1.2 装置Ubuntu
    1) 插入U盘,开机按F2进入设置,敞开Secure Boot。
    2) 设置好后退出,按F12进入启动信息。抉择U盘启动。
    然而一到了Updates and other softwares这一步就卡住始终不动。起初发现是因为有损坏的原Win10分区。解决方案:quit,进入try ubuntu,通过Gparted删掉Win的分区。
    3) 分区
设施 分区 类型 名称 挂载点 空间调配
/dev/sdc1 primary efi efi疏导分区 32 G
/dev/sdc2 logical swap swap分区 48 G
/dev/sdc3 primary ext4 根分区 / SSD残余局部
/dev/sdb primary ext4 home目录 /home HDD全副

分区后抉择efi进行boot,否则呈现谬误:
4) 一路下一步,即可装置结束。
3.1.3 Ubuntu换源
思考自带源下载很慢,有必要换国内源。
1) 备份零碎自带源

mv /etc/apt/sources.list /etc/apt/sources.list.bak

2) 编辑/etc/apt/sources.list,退出适合的国内源。

vim /etc/apt/sources.list

我次要减少了阿里的源

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

3.2 装置Nvidia驱动
3.2.1 预步骤编辑blacklist.conf

sudo vim /etc/modprobe.d/blacklist.conf

在开端增加

blacklist nouveau
options nouveau modeset=0

更新内核

sudo update-initramfs -u

重启验证nouveau是否禁用胜利

lsmod | grep nouveau

如无任何输入,示意已禁用胜利。

3.2.2 下载Nvidia驱动

依据显卡类型输出产品属性,网站会主动匹配指标驱动的安装文件。

3.2.3 装置前命令
1) 更新零碎及必要装置

sudo apt-get update
sudo apt-get install gcc
sudo apt-get install make

2) 进入控制台字符界面装置lightdm
Ctrl+Alt+F1 进入字符界面

sudo apt-get install lightdm

装置结束会呈现一个界面,抉择lightdm。

3) 重启电脑
4) 敞开驱动控制台

sudo service lightdm stop   

5) 卸载原有驱动

sudo apt-get remove nvidia-*  
sudo apt autoremove 

3.2.4 开始装置

sudo ./NVIDIA-Linux-x86_64-510.60.02.run -no-x-check -no-nouveau-check -no-opengl-files    

如果无奈执行,则先给安装文件增加执行权限

sudo chmod a+x NVIDIA-Linux-x86_64-510.60.02.run   

装置过程会有一系列问答,其中
1) Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?
抉择 No

2) Nvidia’s 32-bit compatibility libraries?
抉择 No

3) Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.
抉择 Yes

3.2.5 挂载驱动

modprobe nvidia   

3.2.6 验证驱动装置胜利

nvidia-smi   

3.2.7 关上lighdm服务并重启

sudo service lightdm start
reboot

3.3 装置CUDA与cuDNN
3.3.1 下载安装CUDA
刚开始我下载的是CUDA 11.6,起初发现pytorch最新目前只反对CUDA 11.3。又卸载了重新安装。版本的兼容可参考CUDA Tookit Release Notes,装置可参考CUDA装置文档。

即装置命令:

$ wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.runsudo sh cuda_11.3.0_465.19.01_linux.run   
$ sudo sh cuda_11.3.0_465.19.01_linux.run

进入装置界面后,记得不要勾选Driver选项。

3.3.2 配置环境变量

vi ~/.bashrc   

开端增加:

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

退出后source一下

source ~/.bashrc   

3.3.3 验证CUDA是否装置胜利

nvcc -V   

此外,顺次输出以下命令:

cd ~/NVIDIA_CUDA-11.3_Samples/1_Utilities/deviceQuery
make
./deviceQuery  

如装置胜利,就会呈现Result = PASS

3.3.4 下载cuDNN
先注册Nvidia帐号,须同时下载以下3个.deb文件。

3.3.4 装置cuDNN 8.2.1

sudo dpkg -i libcudnn8_8.2.1.32-1+cuda11.3_amd64.deb
sudo dpkg -i libcudnn8-dev_8.2.1.32-1+cuda11.3_amd64.deb  
sudo dpkg -i libcudnn8-samples_8.2.1.32-1+cuda11.3_amd64.deb

3.3.5 测试cuDNN是否装置胜利
顺次输出以下命令:

cd /usr/src/cudnn_samples_v8/mnistCUDNN
sudo make clean
sudo make
./mnistCUDNN  

如无谬误,就会呈现Test passed!

如有谬误,我遇到fatal error: FreeImage.h: No such file or directory

此时,执行以下命令,从新编译运行即可。

sudo apt-get install libfreeimage3 libfreeimage-dev  

3.4 装置Anaconda
3.4.1 下载后装置

bash Anaconda3-2020.02-Linux-x86_64.sh   

3.4.2 配置环境变量

vi ~/.bashrc   

开端增加:

export PATH=/home/miau/anaconda3/bin:$PATH   

退出后source一下

source ~/.bashrc   

3.4.5 测验是否装置胜利

python  

可看到:

3.5 装置pytorch 1.11.0
3.5.1 新建conda虚拟环境并激活进入

conda create -n torch39 python=3.9 
source activate torch39

3.5.2 下载安装torch 1.11.0, torchaudio 0.11.0和torchvision 0.12.0

肯定要留神版本的兼容性,参考这里对于torch和torchaudio的版本兼容,参考这里对于torch和torchvision的版本兼容。

装置命令顺次为:

pip3 install torch-1.11.0+cu113-cp39-cp39-linux_x86_64.whl
pip3 install torchaudio-0.11.0+cu113-cp39-cp39-linux_x86_64.whl
pip3 install torchvision-0.12.0+cu113-cp39-cp39-linux_x86_64.whl  

3.5.3 验证pytorch是否装置胜利

顺次输出

python
import torch
torch.__version__
import torchaudio
torchaudio.__version__
import torchvision
torchvision.__version__

3.6 装置pycharm 2021.3.3

3.6.1 下载.tar.gz安装文件

3.6.2 以下命令进行装置

tar -xvf pycharm-community-2021.3.3.tar.gz
sudo mv pycharm-community-2021.3.3 /opt/pycharm
cd /opt/pycharm/bin
sh pycharm.sh

主动呈现装置界面

3.6.3 配置python interpreter

3.7 装置tensorflow 2.8.0
3.7.1 核查tensorflow反对的python,CUDA和cuDNN版本号

下面显示的是cuDNN版本号应为8.1,然而看网上也有8.2版本了,这里装置的是cuDNN 8.2.1。

3.7.2 虚拟环境中装置tensorflow及CUDA和cuDNN

原本应该去Nvidia官网下载CUDA和cuDNN,然而更不便的办法是到Anaconda官网下载CUDA 11.2,到Anaconda官网下载cuDNN 8.2.1。

下载后进入虚拟环境进行装置

conda create -n tf-2.8.0 python=3.7
conda activate tf-2.8.0
cd ~/Downloads
conda install --use-local cudatoolkit-11.2.2-he111cf0_10.tar.bz2
conda install --use-local cudnn-8.2.1.32-h86fa8c9_0.tar.bz2
pip install tensorflow==2.8.0 -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

3.7.3 验证tensorflow是否装置胜利

Pycharm里新建一个测试project,其中的python interpreter从新依照tf-2.8.0虚拟环境配置一下。代码里退出:

import tensorflow as tf
print(tf.__version__)
print(tf.config.list_physical_devices())

  1. 解决出错

在根本的深度学习网络框架全副装置结束,我试图重启。发现电脑的双屏幕有一个生效了。字体也变大,屏幕分辨率变低。很显然Nvidia显卡方面出了问题。
间接nvidia-smi报错如下:

网上搜寻之后,执行如下命令即可复原:

sudo apt-get install dkms
sudo dkms install -m nvidia -v 510.60.02

其中我Nvidia的型号是510.60.02,可通过如下命令查看:

cd /usr/src
ls

此时再查看nvidia-smi可见显卡信息曾经复原

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理