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/sdc1primaryefiefi疏导分区32 G
/dev/sdc2logicalswapswap分区48 G
/dev/sdc3primaryext4根分区/SSD残余局部
/dev/sdbprimaryext4home目录/homeHDD全副

分区后抉择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 multiversedeb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiversedeb-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 nouveauoptions nouveau modeset=0

更新内核

sudo update-initramfs -u

重启验证nouveau是否禁用胜利

lsmod | grep nouveau

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

3.2.2 下载Nvidia驱动

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

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

sudo apt-get updatesudo apt-get install gccsudo 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 startreboot

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/cudaexport PATH=$PATH:/usr/local/cuda/binexport 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/deviceQuerymake./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.debsudo 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/mnistCUDNNsudo make cleansudo 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.whlpip3 install torchaudio-0.11.0+cu113-cp39-cp39-linux_x86_64.whlpip3 install torchvision-0.12.0+cu113-cp39-cp39-linux_x86_64.whl  

3.5.3 验证pytorch是否装置胜利

顺次输出

pythonimport torchtorch.__version__import torchaudiotorchaudio.__version__import torchvisiontorchvision.__version__

3.6 装置pycharm 2021.3.3

3.6.1 下载.tar.gz安装文件

3.6.2 以下命令进行装置

tar -xvf pycharm-community-2021.3.3.tar.gzsudo mv pycharm-community-2021.3.3 /opt/pycharmcd /opt/pycharm/binsh 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.7conda activate tf-2.8.0cd ~/Downloadsconda install --use-local cudatoolkit-11.2.2-he111cf0_10.tar.bz2conda install --use-local cudnn-8.2.1.32-h86fa8c9_0.tar.bz2pip 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 tfprint(tf.__version__)print(tf.config.list_physical_devices())

  1. 解决出错

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

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

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

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

cd /usr/srcls

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