一厂抖、準(zhǔn)備工作
- 環(huán)境基礎(chǔ): Ubuntu16.04
- 顯卡: GTX1060
- 安裝包下載:
- cuda:https://developer.nvidia.com/cuda-90-download-archive
- cudnn:https://developer.nvidia.com/cudnn 記得注冊(cè)Nvidia賬號(hào)耕蝉,否則不能下載
- Anaconda:https://www.anaconda.com/download/
二、安裝流程
- 安裝系統(tǒng),清理環(huán)境
- 安裝Nvidia驅(qū)動(dòng)
- 安裝Cuda&cuDNN
- 安裝Anaconda和tensorflow-gpu
- 配置ssh服務(wù)以及遠(yuǎn)程桌面
Tips:cuda9.2版本太高,最新的tensorflow-gpu 1.8也沒(méi)有提供支持 。不合適的CUDA版本會(huì)導(dǎo)致import tensorflow出現(xiàn)錯(cuò)誤搂鲫。在本教程中所安裝的tensorflow是1.12.0版本
三、 安裝系統(tǒng),清理環(huán)境
- 系統(tǒng)安裝請(qǐng)參照這里
$ sudo apt-get remove –purge cuda*
$ sudo apt-get remove –purge nvidia*
四锯岖、安裝Nvidia顯卡驅(qū)動(dòng)
- 安裝相關(guān)依賴(lài)項(xiàng)
$sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev> libopencv-dev libhdf5-serial-dev protobuf-compiler
$sudo apt-get install --no-install-recommends libboost-all-dev
$sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
$sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
$sudo add-apt-repository ppa:graphics-drivers/ppa
$sudo apt-get update
1.懶人做法
? 安裝完上述依賴(lài)之后捶牢,點(diǎn)擊系統(tǒng)設(shè)置->軟件->附加驅(qū)動(dòng)->選擇其中一項(xiàng)驯耻,比如:
Using NVIDIA binary driver-version 3***.** from nvidia-3**(open source)
2.勤勞做法
- 首先去官網(wǎng)查看適合自己顯卡的驅(qū)動(dòng)
驅(qū)動(dòng)文件后綴名應(yīng)當(dāng)是以.run結(jié)尾的帘靡。把這個(gè)文件移動(dòng)到home目錄下知给。我的顯卡型號(hào)是GTX1060,系統(tǒng)是linux 64位描姚,按照要求選擇后點(diǎn)擊search.涩赢,點(diǎn)擊下載就好了。我下載后的驅(qū)動(dòng)文件是:NVIDIA-Linux-x86_64-384.98.run轩勘。
注意: 很多問(wèn)題幾乎都是出在顯卡驅(qū)動(dòng)安裝上面筒扒,比如循環(huán)登錄無(wú)法進(jìn)入桌面、運(yùn)行深度學(xué)習(xí)程序出錯(cuò)又不清楚是哪等赃阀。這些問(wèn)題都應(yīng)該首要考慮到是否是顯卡驅(qū)動(dòng)出現(xiàn)問(wèn)題霎肯,解決辦法就是重新安裝顯卡驅(qū)動(dòng)。如下:
$ctrl + alt + f1 #轉(zhuǎn)換到命令行界面榛斯,登陸賬戶(hù)
$sudo service lightdm stop #關(guān)閉圖形界面服務(wù)
$sudo apt-get remove nvidia* #用于卸載程序
$sudo apt-get install nvidia-390 #選擇重新安裝的驅(qū)動(dòng)版本
$sudo sudo service lightdm start #開(kāi)啟圖形界面服務(wù)
$sudo reboot
3.安裝驅(qū)動(dòng)
禁用自帶顯卡驅(qū)動(dòng)观游,在終端下輸入:
$sudo gedit /etc/modprobe.d/blacklist.conf #在其最后一行加上blacklist nouveau
$sudo update-initramfs -u
$ctrl + alt + f1 #轉(zhuǎn)換到命令行界面,登陸賬戶(hù)
$sudo service lightdm stop #關(guān)閉圖形界面服務(wù)
$cd ~
$sudo ./NVIDIA-Linux-x86_64-384.98.run
$sudo sudo service lightdm start #開(kāi)啟圖形界面服務(wù)
$sudo reboot
五驮俗、安裝CUDA&cuDNN
1.安裝CUDA
? CUDA是NVIDIA的編程語(yǔ)言平臺(tái)懂缕,想使用GPU就必須要使用cuda。
(1)下載CUDA
? 首先在官網(wǎng)下載CUDA王凑,選擇自己合適的版本搪柑。 該鏈接界面只顯示最新版本。若需要下載以前的版本索烹,可在頁(yè)面下方點(diǎn)擊Legacy Releases工碾,選擇自己需要的其他版本。
(2)安裝CUDA
安裝相關(guān)依賴(lài):
$sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
下載完成后執(zhí)行以下命令:
$sudo chmod 7777 cuda_9.0.176_384.81_linux.run
$sudo ./cuda_9.0.176_384.81_linux.run
注意:執(zhí)行后會(huì)先出現(xiàn)一個(gè)聲明百姓,需要閱讀到100%渊额,同意聲明后才會(huì)開(kāi)始安裝.安裝時(shí)首先會(huì)有一系列提示讓你確認(rèn),但是注意垒拢,有個(gè)讓你選擇是否安裝nvidia361驅(qū)動(dòng)時(shí)旬迹,一定要選擇否:
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62?
(3)設(shè)置環(huán)境變量和動(dòng)態(tài)鏈接庫(kù)
打開(kāi)~/.bashrc文件: sudo gedit ~/.bashrc
將以下內(nèi)容寫(xiě)入到~/.bashrc尾部:
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
$ sudo gedit /etc/profile
在打開(kāi)的文件末尾加上(“=”前后不要有空格)
export PATH=/usr/local/cuda/bin:$PATH
保存之后創(chuàng)建鏈接文件:
$sudo gedit /etc/ld.so.conf.d/cuda.conf
文件尾部加上
/usr/local/cuda/lib64
最后在終端輸入以下命令使該鏈接生效:
$sudo ldconfig
(4)測(cè)試CUDA的samples
$cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
$sudo make
$sudo ./deviceQuery
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "GeForce GTX 1060 6GB"
CUDA Driver Version / Runtime Version 9.2 / 9.0
CUDA Capability Major/Minor version number: 6.1
...
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.2, CUDA Runtime Version = 9.0, NumDevs = 1
Result = PASS
如果顯示一些關(guān)于GPU的信息,則說(shuō)明安裝成功求类。
2.配置cuDNN
(1)下載cuDNN
cuDNN是GPU加速計(jì)算深層神經(jīng)網(wǎng)絡(luò)的庫(kù)奔垦。 首先去官網(wǎng)下載cuDNN,需要注冊(cè)一個(gè)賬號(hào)才能下載尸疆。
(2)解壓cuDNN
下載cuDNN7.4.2之后進(jìn)行解壓:
$ tar -xvf cudnn-9.0-linux-x64-v7.4.2.24.tgz
(3)復(fù)制并建立軟鏈接
進(jìn)入cuDNN7.4.2 解壓之后的cuda目錄椿猎,在命令行進(jìn)行如下操作:
$cd cuda
$sudo cp include/cudnn.h /usr/local/cuda/include #復(fù)制頭文件
$sudo cp lib64/libcudnn* /usr/local/cuda/lib64/
$cd /usr/local/cuda/lib64/
$sudo ln -s libcudnn.so.7.4.2 libcudnn.so.7 #生成軟銜接(注意這里要和自己下載的cudnn版本對(duì)應(yīng)惶岭,可以在/usr/local/cuda/lib64下查看自己libcudnn的版本)
$sudo ln -s libcudnn.so.7 libcudnn.so #生成軟鏈接
$sudo ldconfig -v #更新軟鏈接
六、安裝Anaconda和tensorflow-gpu
1.安裝Anaconda
下載Anaconda鸵贬,點(diǎn)擊這里俗他,選擇下載python3版本脖捻,比如我下載的Anaconda3-5.2.0-Linux-x86_64.sh阔逼。在文件目錄下執(zhí)行:
$bash Anaconda3-5.2.0-Linux-x86_64.sh
最后要將其安裝路徑添加至環(huán)境變量當(dāng)中,之后在終端執(zhí)行
$source ~/.bahsrc
詳細(xì)步驟參照這里.
2.安裝tensorflow-gpu
這里使用豆瓣源進(jìn)行安裝地沮,地址為https://pypi.douban.com/simple 嗜浮,在終端輸入以下命令進(jìn)行安裝:
$pip -i https://pypi.douban.com/simple tensorflow-gpu==1.2.0 #這里提供1.2.0版本的安裝
然后對(duì)安裝好的tensorflow進(jìn)行測(cè)試
$dc-gpu@dcgpu:~$ python
Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
/home/dc-gpu/anaconda3/lib/python3.6/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
from ._conv import register_converters as _register_converters
>>> tf.__version__
'1.12.0'
>>>
如出現(xiàn)以上信息說(shuō)明安裝成功。
七摩疑、配置ssh服務(wù)以及遠(yuǎn)程桌面
1.安裝ssh服務(wù)
(1)安裝
打開(kāi)”終端“危融,輸入
$sudo apt-get update
$sudo apt-get install openssh-server
$sudo ps -e |grep ssh
#回車(chē)-->有sshd,說(shuō)明ssh服務(wù)已經(jīng)啟動(dòng)雷袋,如果沒(méi)有啟動(dòng)吉殃,輸入"sudo service ssh start"-->回車(chē)-->ssh服務(wù)就會(huì)啟動(dòng)鸠删。
(2)使用gedit修改配置文件"/etc/ssh/sshd_config"
打開(kāi)”終端“,輸入
$sudo gedit /etc/ssh/sshd_config
#-->回車(chē)-->把配置文件中的"PermitRootLogin without-password"加一個(gè)"#"號(hào),把它注釋掉-->再增加一句"PermitRootLogin yes"-->保存,修改成功纳账。
2.安裝遠(yuǎn)程桌面
Windowsd電腦遠(yuǎn)程桌面Ubuntu16.04永罚,旨在遠(yuǎn)程圖形界面控制Ubuntu電腦。
(1)Ubuntu端安裝服務(wù)
打開(kāi)”終端“,輸入
$sudo apt-get install xrdp #安裝xrdp
$sudo apt-get install vnc4server #安裝vnc4server
$sudo apt-get install xubuntu-desktop #安裝xubuntu-desktop
$echo "xfce4-session" >~/.xsession #向xsession中寫(xiě)入xfce4-session(每個(gè)用戶(hù)自己運(yùn)行此行)
$sudo apt-get install xinit
$sudo apt-get install gdm #彈出選擇窗口饶深,選擇gdm并回車(chē)
$sudo apt-get update #為下一條命令準(zhǔn)備餐曹,否則下一條命令執(zhí)行錯(cuò)誤。
$sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal # 安裝gnome桌面
$vim ~/.vnc/xstartup # 修改vnc的啟動(dòng)文件
// "x-window-manager &"改為"gnome-terminal &"
$sudo service xrdp restart #開(kāi)啟xrdp服務(wù)
$vncserver -geometry 2560x1440 #以指定分辨率開(kāi)啟vnc服務(wù)粥喜,登陸方式為ip:5901凸主,首次啟用需要填寫(xiě)密碼
$ifconfig #查看ip地址
(2)windows端控制
- win + r之后輸入mstsc, 打開(kāi)遠(yuǎn)程桌面额湘。
- 彈出窗口中輸入用戶(hù)名和密碼點(diǎn)OK卿吐,即可打開(kāi)遠(yuǎn)程桌面。
另:下載vnc客戶(hù)端進(jìn)行登陸锋华,登陸方式為ip:5901嗡官,密碼為首次啟動(dòng)vncserver設(shè)置的密碼。
八毯焕、結(jié)束語(yǔ)
至此衍腥,所有環(huán)境基本搭建完成。在此期間可能會(huì)遇到各種問(wèn)題纳猫,若出現(xiàn)問(wèn)題請(qǐng)自行百度婆咸,網(wǎng)上基本都有解決方案。如有疑問(wèn)請(qǐng)聯(lián)系我qq:741889820芜辕。