1. 程式人生 > >Ubuntu16.04+GPU1080ti深度學習環境配置

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
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 [email protected]_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.相關軟體下載連結

11.參考連結