- 硬件配置
主机: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 - 深度学习框架
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.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())
- 解决出错
在根本的深度学习网络框架全副装置结束,我试图重启。发现电脑的双屏幕有一个生效了。字体也变大,屏幕分辨率变低。很显然 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 可见显卡信息曾经复原