Ubuntu16.04+GPU1080ti深度學習環境配置

本說明旨在在ubuntu16.04的服務器上的普通用戶中創建深度學習環境Tensorflow、Theano

1.服務器上創建用戶 給用戶賦予管理員權限

系統管理員用戶:
$sudo adduser vitamin

使用如下命令可以添加到用戶組(超級用戶組)。
添加管理員權限:
$sudo usermod -aG sudo vitmain 
其中a:表示添加,G:指定組名

從用戶組中刪除指定用戶:
sudo usermod -G 用戶組名  username
把vitamin用戶添加到組1和組2
sudo usermod -G 組1  -G 組2 vitamin

其中 -G 表示:加到組1 和 組2,可以添加到多個組,當然也可以是一個組。

        -G的含義是把用戶添加到指定的用戶組,但是會自動從其他組中刪除。

        -a的含義是追加,但不會從其他組中刪除。
另外還有修改/etc/sudoers文件的方法。
~#mkdir sotfware
~#cd sotfware
~/sotfware # mkdir cuda

2.安裝cuda

運行下載的安裝包
sh cuda_8.0.61_375.26_linux.run.26_linux-run

輸入:q 退出閱讀EULA

輸入:accept
Do you accept the previously read EULA?
accept/decline/quit: accept

輸入:n ;因爲之前安裝的gpu驅動器版本高。
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26?
(y)es/(n)o/(q)uit: n

輸入:y ;
Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y

輸入:安裝目錄;
Enter Toolkit Location
 [ default is /usr/local/cuda-8.0 ]: /home/vitamin/software/cuda

輸入:n;不安裝符號鏈接
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: n

輸入:y;安裝cuda8.0 samples
Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y

Enter CUDA Samples Location
 [ default is /home/vitamin ]: /home/vitamin
修改配置文件.bashrc
export PATH=/home/vitamin/software/cuda/bin:$PATH
export LD_LIBRARY_PATH=/home/vitamin/software/cuda/lib64:$LD_LIBRARY_PATH

使得.bashrc生效
source .bashrc

測試cuda:
進入測試目錄:
cd /home/vitamin/NVIDIA_CUDA-8.0_Samples/1_Utilities/deviceQuery
編譯:
make -j4
運行:
./deviceQuery
輸出:結果中有Result = PASS 表示安裝成功
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.1, CUDA Runtime Version = 8.0, NumDevs = 2, Device0 = GeForce GTX 1080 Ti, Device1 = GeForce GTX 1080 Ti
Result = PASS

3.安裝cudnn

解壓cudnn-8.0-linux-x64-v6.0.tgz後一共有5個文件,需要拷貝到對應lib64,include目錄下

min@server-11:/home/bigdata/download$ tar xvf cudnn-8.0-linux-x64-v6.0.tgz -C /home/min/software
cuda/include/cudnn.h
cuda/lib64/libcudnn.so
cuda/lib64/libcudnn.so.6
cuda/lib64/libcudnn.so.6.0.21
cuda/lib64/libcudnn_static.a

4.安裝tensorflow

進入:Anaconda2-5.0.1-Linux-x86_64.sh 目錄 執行
# sh Anaconda2-5.0.1-Linux-x86_64.sh
# yes
# enter

重新打開一個終端安裝tensorflow-gpu
pip install tensorflow-gpu==1.4.1

5.安裝基於python3的tensorflow-gpu

在Ancoanda2中安裝python3.5環境
# conda create -n py3 python=3.5
激活py3環境
# source activate py3
安裝tensorflow-gpu1.4.1
(py3)# pip install tensorflow-gpu==1.4.1

由於國內https://storage.googleapis.com 無法訪問,故運行

pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.4.0-cp34-cp34m-linux_x86_64.whl

會提示安裝失敗!

6.Jupyter notebook遠程訪問服務器

6.1配置步驟

1.生成配置文件:
$jupyter notebook --generate-config
2.生成密碼:
打開python終端
In [1]: from IPython.lib import passwd

In [2]: passwd()
Enter password: 
Verify password: 
Out[2]: 'sha1:xxxxxxxxxxxxxx'
3.修改配置文件:
vim ~/.jupyter/jupyter_notebook_config.py 
在配置文件中加入以下內容:
c.NotebookApp.ip='*'
c.NotebookApp.password = u'sha1:414040d3d9a2:897ca67086f86d84f82333224ec97ade98b533ba'
c.NotebookApp.open_browser = False
c.NotebookApp.port =18888 
c.IPKernelApp.pylab = 'inline'
4.啓動Jupyter notebook
在當前用戶目錄下啓動jupyter notebook
$cd ~
~$nohup jupyter notebook &

例如:
vitamin@server-11:~$ nohup jupyter notebook &
[2] 12327
vitamin@server-11:~$ nohup: 忽略輸入並把輸出追加到'nohup.out'

vitamin@server-11:~$ 
停止jupyter notebook服務器後臺運行:
查看正在執行的python進程:
~#ps -ef | grep python
min 31598 31342  0 09:16 pts/8    00:00:01 /home/min/anaconda2/bin/python
~#kill -9 31598【pid】

6.2 手動註冊Jupyter notebook的ipython運行核

6.2.1 anaconda2安裝了python3環境:

# 一般通過以下這條命令安裝python3.6環境
# conda create -n py36 python=3.6
啓動 python3環境:
~# source activate py36
通過以下兩步註冊ipython運行核:
【py36】~# conda install notebook ipykernel
【py36】~# ipython kernel install --user
【py36】~#source deactivate py36
~#jupyter notebook

6.2.2 anconda3安裝了python2環境:

# 一般通過以下這條命令安裝python3.6環境
# conda create -n py27 python=2.7
~#source activate py27
【py27】~#conda install notebook ipykernel
【py27】~#ipython kernel install --user
【py27】~#source deactivate py27
~#jupyter notebook

7.使用localhost訪問遠程tensorboard

1.在服務器上使用端口6006啓動tensorboard
用戶名@服務器:~# tensorboard --logdir=你的日誌文件 --port=6006
2.連接ssh時,將服務器的6006端口重定向到自己機器上來
用戶名@本地機器:~# ssh -L 16006:127.0.0.1:6006 username@remote_server_ip -p your_sshport
3.在本地瀏覽器中輸入以下地址
用戶名@機器:~# tensorboard --logdir=你的日誌文件 --port=6006
127.0.0.1:16006

8.調節顯示器分辨率

方法一:修改grup配置文件
sudo vim /etc/default/grub

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# 這裏分辨率自行設置

修改這行:
GRUB_GFXMODE=1024x768

更新:
sudo update-grub

方法二:
設置一下source源和pip源
cd /etc/apt/
sudo cp sources.list sources.list.bak
sudo vi sources.list
加入文件:
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

最後更新一下:

sudo apt-get update
sudo apt-get upgrade
安裝1080TI顯卡驅動:
sudo apt-get purge nvidia*
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update && sudo apt-get install nvidia-384 nvidia-settings
安裝完畢後重啓機器,運行 nvidia-smi,看看生效的顯卡驅動:
會有顯卡驅動信息詳細顯示
![會有顯卡驅動信息詳細顯示](http://www.52nlp.cn/%E4%BB%8E%E9%9B%B6%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AEubuntu-1080ti-cuda-cudnn)

9.安裝theano+GPU加速環境

9.1 安裝theano+pygpu指定版本

~$ conda install theano==0.9.0 pygpu==0.6.4

會出現以下信息:
這裏寫圖片描述
回車安裝好。
注意需要修改cudnn版本爲5.1 這與tensorflow-gpu環境安裝的cudnn版本不一致
解壓cudnn-8.0-linux-x64-v5.1.tgz*後一共有5個文件,需要拷貝到對應lib64,include目錄下

min@server-11:/home/bigdata/download$ tar xvf cudnn-8.0-linux-x64-v6.0.tgz -C /home/vitamin/software
cuda/include/cudnn.h
cuda/lib64/libcudnn.so
cuda/lib64/libcudnn.so.5
cuda/lib64/libcudnn.so.5.1.10
cuda/lib64/libcudnn_static.a

修改配置文件:vim .bashrc

添加以下行
1 export LD_LIBRARY_PATH=/home/vitamin/software/include:/home/vitamin/software/extras/CUPTI/lib64:/hom    e/vitamin/software/lib64:$LD_LIBRARY_PATH
122 
# add for install theano gpu env
export MKL_THREADING_LAYER=GNU
export LIBRARY_PATH=/home/vitamin/software/lib64

修改配置文件vim .theanorc

[global]
floatX = float64
device = cuda

[cuda]
root = /home/vitamin/cuda-8.0

10.相關軟件下載鏈接

tensorflow下載鏈接
下載Anaconda5.0.1
下載cuda8.0
下載cudnn6.0(註冊後同意協議)

11.參考鏈接

tensorflow安裝官方指南
深度學習服務器環境配置過程詳細版
從零開始配置你的深度學習服務器+踩坑經驗
深度學習主機環境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0

theano-users問題gpu安裝解決
theano安裝鏈接1
theano安鏈接2

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章