且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Ubuntu 18.04 LTS+GTX1080Ti+CUDA10.0 深度学习主机环境搭建

更新时间:2022-04-03 06:42:03

前言
由于之前的主机存在运行docker自动重启的问题,跑模型没问题,排查之后没有发现问题所在,所以最后决定升级技嘉主板的bios并重新安装系统和环境。

1 硬件环境
显卡:GTX1080Ti
内存:32G
硬盘:256G SSD+1T机械
2 安装Ubuntu 18.04 LTS
2.1 下载官方镜像
下载地址:

Download Ubuntu Desktop | Download | Ubuntu

ubuntu.com
2.2 制作USB启动盘
使用Refus烧录镜像到U盘,Refus下载地址:Refus。

其中,持久分区大小可不选,分区类型选择GPT,目标系统类型选择UEFI(需要在bios里开启UEFI启动的功能),最后完成镜像的烧录。

2.3 安装系统
安装系统的步骤不在这里赘述,其他的博客[1]写的很好了,在这里提几个关键点,我的磁盘分区方案是:

2G的EFI分区
32G的swap分区(和内存大小一样)
剩下的ssd存储空间分给根目录
home挂载在机械硬盘下
之后按照步骤直到完成系统的安装。

3 安装显卡驱动
在这一步花费了大量时间,根据网上搜索的结果,大部分博客都是总结了显卡驱动安装的三种方法:

1.使用标准Ubuntu仓库进行自动化安装
2.使用PPA仓库进行自动化安装
3.使用官方的NVIDIA驱动进行手动安装
在尝试这三种方法之后,使用nvidia-smi显示连接不到显卡,重启机器也是直接进入命令行模式。

所以,换了另外一种方法,具体过程如下:

首先,在系统安装完成之后不要换源,执行下面的命令去检查软件的更新

sudo apt-get update
之后在应用列表中打开Software & Updates,点击Additional Drivers,这个时候,官方推荐的列表就会显示了,其实这个跟执行

ubuntu-drivers devices
是一样的显示效果,但是在Software & Updates中操作会更稳妥一些。

点击 Apply Changes,等待进度条走完重启机器就安装完成了。执行nvidia-smi,显示如图,表示成功安装显卡驱动。

4 安装CUDA10.0
下载地址:https://developer.nvidia.com/cuda-toolkit-archive

选择CUDA 10.0

建议下载runfile,安装命令如下:

sudo sh cuda__linux.run
在安装过程中,

选择是否安装显卡驱动时选择否
是否构建/usr/local/cuda软链接时选择是
其他选项按需选择
安装完成后,需要在~/.bashrc(/home/用户名/.bashrc,.表示隐藏文件,直接用vi打开这个文件就行)文件中添加如下语句

export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
或者

export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
建议使用第二种,因为在构建了/usr/local/cuda软链接之后,我们在.bashrc文件中使用该链接作为环境变量,之后只需修改该软链接就可以切换CUDA的版本。

5 安装cuDNN
cuDNN的下载需要匹配CUDA的版本,也需要适配接下来需要安装的TensorFlow的版本。

cuDNN的下载地址:

cuDNN

developer.nvidia.com
下载cuDNN需要注册英伟达开发者账号,在链接页面中操作即可。

官方安装说明:cuDNN安装指南

其中分为两种:

1.TAR File

tar -xzvf cudnn-9.0-linux-x64-v7.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

  1. Debian File

sudo dpkg -i libcudnn7_7.0.3.11-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-devel_7.0.3.11-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.0.3.11-1+cuda9.0_amd64.deb
确定是否安装好

cp -r /usr/src/cudnn_samples_v7/ $HOME
cd $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN
执行完成显示Test passed!即可

6 安装深度学习套件
6.1 安装anaconda
官方下载地址:

Anaconda Python/R Distribution - Free Download

www.anaconda.com
图标
安装命令:

bash Anaconda3-5.3.0-Linux-x86_64.sh
安装过程中询问是否将anaconda的安装位置写入.bashrc选择是。

为conda换源:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
6.2 安装TensorFlow.
官方教程:

使用 pip 安装 TensorFlow | TensorFlow

tensorflow.google.cn
图标
首先,下载TensorFlow的离线镜像

新建虚拟环境

conda create -n keras pip python=3.6
激活虚拟环境

source activate keras
安装TensorFlow

pip install --ignore-installed --upgrade packageURL
测试

import tensorflow as tf
hello = tf.constant('first tensorflow')
sess = tf.Session()
print sess.run(hello)
6.3 安装keras
在上节的keras虚拟环境中,输入命令:

pip install keras -U --pre
测试

git clone https://github.com/fchollet/keras.git
cd keras/examples/
python mnist_mlp.py
网速较差的可以去对应的git仓库中下载example运行。

7 总结
基本上,深度学习的环境算是搭建完成了,再重新安装docker进行测试以后,运行镜像没有问题。写这篇博客的目的是为了记录自己的安装过程,以备后期使用。如果有写的不合适的地方,欢迎提意见。