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