Ubuntu16.04+GPU1080ti深度學習環境配置
阿新 • • 發佈:2019-01-10
本說明旨在在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