從零開(kāi)始配置深度學(xué)習(xí)服務(wù)器環(huán)境Ubuntu17.04+CUDA9.1+cnDNN7.0.5+TensorFlow1.4.1

更新:最新的TensorFlow1.5已經(jīng)支持cuda9,可以直接pip 安裝
卸載低版本的cuda方法

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

一、裝系統(tǒng):Ubuntu 17.04

在拔出所有獨(dú)顯的裸機(jī)狀態(tài)下,從U盤(pán)啟動(dòng)安裝Ubuntu 17.04

  • 在安裝之前,需要先按F2進(jìn)入BIOS模式設(shè)置,修改以下兩處:
  1. Advanced-SATA Operation: 改成AHCI

  2. Boot-Secure Boot: 改成Disabled

  • 重啟,按F12進(jìn)入U(xiǎn)盤(pán)啟動(dòng)模式,按指示安裝Ubuntu系統(tǒng)即可

二、NVIDIA顯卡驅(qū)動(dòng)

我是Ubuntu 17.04系統(tǒng)
  • 下載到本地后,打開(kāi)終端,按官網(wǎng)指示步驟安裝驅(qū)動(dòng)
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 
  • 大約需要一兩個(gè)小時(shí)的安裝時(shí)間,安裝完成后斷電插入獨(dú)顯(發(fā)現(xiàn)不插入獨(dú)顯重啟會(huì)進(jìn)入login的死循環(huán)),此時(shí)在終端輸入nvidia-smi命令應(yīng)正常顯示顯存信息。

三、安裝CUDA 9.1

  • 同樣是英偉達(dá)官網(wǎng)-開(kāi)發(fā)者-CUDA-Download Now-選擇network的deb版本,比較小,只有2.8kb。


  • 下載完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
  • 大約需要一兩個(gè)小時(shí)的安裝時(shí)間。安裝完成后,在終端查看cuda版本號(hào)cat /usr/local/cuda/version.txt,發(fā)現(xiàn)cuda 9.1.85 已經(jīng)安裝完畢。

四、安裝cuDNN

cuDNN的全稱(chēng)為NVIDIA CUDA? Deep Neural Network library,是NVIDIA專(zhuān)門(mén)針對(duì)深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks)中的基礎(chǔ)操作而設(shè)計(jì)基于GPU的加速庫(kù)。基本上所有的深度學(xué)習(xí)框架都支持cuDNN這一加速工具,例如:Caffe、Caffe2、TensorFlow、Torch、Pytorch、Theano等。

  • 同樣前往NVIDIA官網(wǎng):https://developer.nvidia.com/cudnn,選擇cuDNN7。下載cuDNN之前需要先注冊(cè)網(wǎng)站...以及填一大堆問(wèn)題。

  • 下載完畢后解壓到home目錄,然后將相關(guān)文件拷貝到cuda安裝目錄下即可

tar -zxvf cudnn-9.0-linux-x64-v7.tgz
/*然后我手動(dòng)移到了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版本號(hào):cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
    顯示如下,說(shuō)明已經(jīng)安裝完畢,cuDNN的版本號(hào)為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發(fā)行還不支持cuda9,所以我們找到了非官方的支持cuda9和cudnn7的預(yù)編譯版,點(diǎn)這里選取對(duì)應(yīng)版本下載,我找的是帶mkl(需要提前安裝好,見(jiàn)下面介紹),而且支持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版本的

  • 進(jìn)入python環(huán)境確認(rèn)TensorFlow已經(jīng)裝好:
python
>>>import tensorflow as tf
>>>tf.__version__
  • 這里補(bǔ)充介紹一下MKL。MKL是intel出的深度學(xué)習(xí)庫(kù),可以在CPU上極大的加速tensorflow的運(yùn)行速度,雖然我們有GPU,但是CPU上加個(gè)速啥的也沒(méi)壞處不是。
    MKL是需要編譯的,所以我們需要安裝一堆編譯依賴(lài)庫(kù)和工具:
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 .. #這一步需要耗費(fèi)一點(diǎn)時(shí)間,主要是那個(gè)包有70MB,有點(diǎn)大。
mkdir -p build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/home/$USER/.local .. && make
make install

安裝完成后,在.bashrc里面加入下面這一行,不然會(huì)報(bào)找不到lib的錯(cuò)誤:

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

六、安裝常用庫(kù)

sudo pip install pandas
sudo pip install keras
conda install pytorch
sudo pip install matplotlib
#安裝librosa音頻處理庫(kù)
pip install librosa
sudo apt-get install ffmpeg #需要先安裝ffmpeg作為支持

七、附錄

PS:發(fā)現(xiàn)更換DP接口到顯卡后,顯示器經(jīng)常沒(méi)有輸入信號(hào),可以嘗試先打開(kāi)顯示器,然后再開(kāi)電腦

PPS:在安裝之前做以下準(zhǔn)備工作可以加速之后安裝的下載

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

把下面的這些源添加到source.list文件頭部,這里用的是網(wǎng)易的源:

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源指向清華大學(xué)的源鏡像:https://mirrors.tuna.tsinghua.edu.cn/help/pypi/,具體在~/.config/下添加一個(gè) .pip目錄(文件夾前要加.,表示是隱藏文件),新建pip.conf文件,設(shè)置為:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

這兩件事情都可以加速安裝相關(guān)工具包的速度,事半功倍(雖然清華的源個(gè)人感覺(jué)不太穩(wěn)定)。

參考文獻(xiàn):
http://www.52nlp.cn/深度學(xué)習(xí)服務(wù)器環(huán)境配置-ubuntu17-04-nvidia-gtx-1080-cuda-9-0-cudnn-7-0-tensorflow-1-3
http://www.cnblogs.com/dwsun/p/7767210.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。