Ubuntu20.04安装分区+cuda11.3+cuDNN8.2.1+pytorch1.11.0等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安装文档

Ubuntu20.04安装分区+cuda11.3+cuDNN8.2.1+pytorch1.11.0等DL框架_第1张图片

即安装命令:

$ 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   

Ubuntu20.04安装分区+cuda11.3+cuDNN8.2.1+pytorch1.11.0等DL框架_第2张图片

此外,依次输入以下命令:

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

如安装成功,就会出现Result = PASS

Ubuntu20.04安装分区+cuda11.3+cuDNN8.2.1+pytorch1.11.0等DL框架_第3张图片

3.3.4 下载cuDNN
先注册Nvidia帐号,须同时下载以下3个.deb文件。
Ubuntu20.04安装分区+cuda11.3+cuDNN8.2.1+pytorch1.11.0等DL框架_第4张图片

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

Ubuntu20.04安装分区+cuda11.3+cuDNN8.2.1+pytorch1.11.0等DL框架_第5张图片

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

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  

可看到:
image.png

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.0torchaudio 0.11.0torchvision 0.12.0

Ubuntu20.04安装分区+cuda11.3+cuDNN8.2.1+pytorch1.11.0等DL框架_第6张图片

一定要注意版本的兼容性,参考这里关于torch和torchaudio的版本兼容,参考这里关于torch和torchvision的版本兼容

Ubuntu20.04安装分区+cuda11.3+cuDNN8.2.1+pytorch1.11.0等DL框架_第7张图片

Ubuntu20.04安装分区+cuda11.3+cuDNN8.2.1+pytorch1.11.0等DL框架_第8张图片

安装命令依次为:

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  

image.png

image.png

Ubuntu20.04安装分区+cuda11.3+cuDNN8.2.1+pytorch1.11.0等DL框架_第9张图片

3.5.3 验证pytorch是否安装成功

依次输入

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

Ubuntu20.04安装分区+cuda11.3+cuDNN8.2.1+pytorch1.11.0等DL框架_第10张图片

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

自动出现安装界面

Ubuntu20.04安装分区+cuda11.3+cuDNN8.2.1+pytorch1.11.0等DL框架_第11张图片

3.6.3 配置python interpreter

Ubuntu20.04安装分区+cuda11.3+cuDNN8.2.1+pytorch1.11.0等DL框架_第12张图片

3.7 安装tensorflow 2.8.0
3.7.1 核对tensorflow支持的python,CUDA和cuDNN版本号

Ubuntu20.04安装分区+cuda11.3+cuDNN8.2.1+pytorch1.11.0等DL框架_第13张图片

上面显示的是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

Ubuntu20.04安装分区+cuda11.3+cuDNN8.2.1+pytorch1.11.0等DL框架_第14张图片

Ubuntu20.04安装分区+cuda11.3+cuDNN8.2.1+pytorch1.11.0等DL框架_第15张图片

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

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

Ubuntu20.04安装分区+cuda11.3+cuDNN8.2.1+pytorch1.11.0等DL框架_第16张图片

Ubuntu20.04安装分区+cuda11.3+cuDNN8.2.1+pytorch1.11.0等DL框架_第17张图片

Ubuntu20.04安装分区+cuda11.3+cuDNN8.2.1+pytorch1.11.0等DL框架_第18张图片

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())

Ubuntu20.04安装分区+cuda11.3+cuDNN8.2.1+pytorch1.11.0等DL框架_第19张图片

  1. 处理出错

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

image.png

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

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

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

cd /usr/src
ls

Ubuntu20.04安装分区+cuda11.3+cuDNN8.2.1+pytorch1.11.0等DL框架_第20张图片

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

Ubuntu20.04安装分区+cuda11.3+cuDNN8.2.1+pytorch1.11.0等DL框架_第21张图片

你可能感兴趣的:(深度学习)