从零开始配置深度学习服务器环境Ubuntu17.04+CUDA9.1+cnDNN7.0.5+TensorFlow1.4.1

更新:最新的TensorFlow1.5已经支持cuda9,可以直接pip 安装
卸载低版本的cuda方法

sudo apt-get remove cuda
sudo apt autoremove
sudo apt-get autoclean

一、装系统:Ubuntu 17.04

在拔出所有独显的裸机状态下,从U盘启动安装Ubuntu 17.04

  • 在安装之前,需要先按F2进入BIOS模式设置,修改以下两处:
  1. Advanced-SATA Operation: 改成AHCI

  2. Boot-Secure Boot: 改成Disabled

  • 重启,按F12进入U盘启动模式,按指示安装Ubuntu系统即可

二、NVIDIA显卡驱动

  • 从英伟达(NVIDIA)官网:https://www.geforce.cn/drivers 找到对应的显卡驱动版本
从零开始配置深度学习服务器环境Ubuntu17.04+CUDA9.1+cnDNN7.0.5+TensorFlow1.4.1_第1张图片
我是Ubuntu 17.04系统
  • 下载到本地后,打开终端,按官网指示步骤安装驱动
sudo dpkg -i nvidia-driver-local-repo-ubuntu1704-387.34_1.0-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda-drivers
reboot 
  • 大约需要一两个小时的安装时间,安装完成后断电插入独显(发现不插入独显重启会进入login的死循环),此时在终端输入nvidia-smi命令应正常显示显存信息。

三、安装CUDA 9.1

  • 同样是英伟达官网-开发者-CUDA-Download Now-选择network的deb版本,比较小,只有2.8kb。


    从零开始配置深度学习服务器环境Ubuntu17.04+CUDA9.1+cnDNN7.0.5+TensorFlow1.4.1_第2张图片
  • 下载完deb文件之后按照官方给的方法按如下方式安装CUDA9:

sudo dpkg -i cuda-repo-ubuntu1704_9.1.85-1_amd64.deb
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1704/x86_64/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda
  • 大约需要一两个小时的安装时间。安装完成后,在终端查看cuda版本号cat /usr/local/cuda/version.txt,发现cuda 9.1.85 已经安装完毕。

四、安装cuDNN

cuDNN的全称为NVIDIA CUDA® Deep Neural Network library,是NVIDIA专门针对深度神经网络(Deep Neural Networks)中的基础操作而设计基于GPU的加速库。基本上所有的深度学习框架都支持cuDNN这一加速工具,例如:Caffe、Caffe2、TensorFlow、Torch、Pytorch、Theano等。

  • 同样前往NVIDIA官网:https://developer.nvidia.com/cudnn,选择cuDNN7。下载cuDNN之前需要先注册网站...以及填一大堆问题。

    从零开始配置深度学习服务器环境Ubuntu17.04+CUDA9.1+cnDNN7.0.5+TensorFlow1.4.1_第3张图片

  • 下载完毕后解压到home目录,然后将相关文件拷贝到cuda安装目录下即可

tar -zxvf cudnn-9.0-linux-x64-v7.tgz
/*然后我手动移到了home目录下*/
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ -d
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
  • 查看安装好的cuDNN版本号:cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
    显示如下,说明已经安装完毕,cuDNN的版本号为7.0.5
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 0
#define CUDNN_PATCHLEVEL 5
--
#define CUDNN_VERSION    (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

#include "driver_types.h"

五、安装TensorFlow1.4.1

  • 官方的tensorflow发行还不支持cuda9,所以我们找到了非官方的支持cuda9和cudnn7的预编译版,点这里选取对应版本下载,我找的是带mkl(需要提前安装好,见下面介绍),而且支持GPU的版本TensorFlow 1.4.1 (GPU, CUDA 9.1):tensorflow-1.4.1-cp27-cp27mu-linux_x86_64.whl

  • 下载完成后,就可以安装啦:

sudo apt-get install python-pip
pip install tensorflow-1.4.1-cp27-cp27mu-linux_x86_64.whl

或者则将pip换成pip3,使用python3版本的

  • 进入python环境确认TensorFlow已经装好:
python
>>>import tensorflow as tf
>>>tf.__version__
  • 这里补充介绍一下MKL。MKL是intel出的深度学习库,可以在CPU上极大的加速tensorflow的运行速度,虽然我们有GPU,但是CPU上加个速啥的也没坏处不是。
    MKL是需要编译的,所以我们需要安装一堆编译依赖库和工具:
sudo apt-get install git cmake doxygen
git clone https://github.com/01org/mkl-dnn.git
cd mkl-dnn
cd scripts && ./prepare_mkl.sh && cd .. #这一步需要耗费一点时间,主要是那个包有70MB,有点大。
mkdir -p build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/home/$USER/.local .. && make
make install

安装完成后,在.bashrc里面加入下面这一行,不然会报找不到lib的错误:

echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/$USER/.local/lib' >> ~/.bashrc
source ~/.bashrc

六、安装常用库

sudo pip install pandas
sudo pip install keras
conda install pytorch
sudo pip install matplotlib
#安装librosa音频处理库
pip install librosa
sudo apt-get install ffmpeg #需要先安装ffmpeg作为支持

七、附录

PS:发现更换DP接口到显卡后,显示器经常没有输入信号,可以尝试先打开显示器,然后再开电脑

PPS:在安装之前做以下准备工作可以加速之后安装的下载

  1. 更新Ubuntu17.04的源
cd /etc/apt/
sudo cp sources.list sources.list.bak
sudo vi sources.list

把下面的这些源添加到source.list文件头部,这里用的是网易的源:

deb http://mirrors.163.com/ubuntu/ zesty main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ zesty-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ zesty-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ zesty-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ zesty-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ zesty main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ zesty-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ zesty-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ zesty-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ zesty-backports main restricted universe multiverse
  1. 将pip源指向清华大学的源镜像:https://mirrors.tuna.tsinghua.edu.cn/help/pypi/,具体在~/.config/下添加一个 .pip目录(文件夹前要加.,表示是隐藏文件),新建pip.conf文件,设置为:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

这两件事情都可以加速安装相关工具包的速度,事半功倍(虽然清华的源个人感觉不太稳定)。

参考文献:
http://www.52nlp.cn/深度学习服务器环境配置-ubuntu17-04-nvidia-gtx-1080-cuda-9-0-cudnn-7-0-tensorflow-1-3
http://www.cnblogs.com/dwsun/p/7767210.html

你可能感兴趣的:(从零开始配置深度学习服务器环境Ubuntu17.04+CUDA9.1+cnDNN7.0.5+TensorFlow1.4.1)