Welcome To My Blog
實(shí)驗(yàn)室學(xué)姐讓跑一個(gè)深度學(xué)習(xí)模型的程序,需要配置環(huán)境,查閱各種資料后安裝成功,記錄一下安裝過(guò)程,確實(shí)挺刺激,也算是開(kāi)啟了自己的深度學(xué)習(xí)之旅了.
安裝Nvidia顯卡驅(qū)動(dòng)
1. 下載驅(qū)動(dòng)
根據(jù)自己的系統(tǒng)和顯卡型號(hào)直接在NVIDIA官網(wǎng),我是64位ubuntu16.04,顯卡是1070Ti,安裝的驅(qū)動(dòng)型號(hào)是390.67
2. 禁用nouveau第三方驅(qū)動(dòng)
在終端輸入: sudo gedit /etc/modprobe.d/blacklist.conf
在最后一行添加:blacklist nouveau
改好后執(zhí)行:sudo update-initramfs -u
重啟后,在終端輸入:lsmod | grep nouveau,沒(méi)有輸出則說(shuō)明禁用成功
3. 命令行模式下安裝驅(qū)動(dòng)
注銷(xiāo)或重啟進(jìn)入登錄界面,Ctrl+Alt+F1進(jìn)入命令行模式(Ctrl+Alt+F7退出命令行模式)
禁用X服務(wù):sudo /etc/init.d/lightdm stop
(注意冻辩,中文版的ubuntu欣硼,在命令行模式下漢字都是亂碼,提前把驅(qū)動(dòng).run文件放在一個(gè)沒(méi)有中文的路徑下)
cd到下載目錄,給下載的驅(qū)動(dòng).run文件賦予可執(zhí)行權(quán)限:sudo chmod a+x NVIDIA-Linux-x86_64-390.67.run
安裝:sudo ./NVIDIA-Linux-x86_64-390.67.run -no-opengl-files(只安裝驅(qū)動(dòng)文件,不安裝OpenGL文件)
如果安裝過(guò)程中出現(xiàn) the distribution-provided pre-install script failed 繼續(xù)安裝即可
開(kāi)啟X服務(wù):sudo /etc/init.d/lightdm start
Ctrl+Alt+F7退出命令行模式蜡豹,重新入圖形界面(未開(kāi)啟X服務(wù)不能進(jìn)入圖形界面),在終端輸入:nvidia-smi,顯示顯卡信息則安裝成功
安裝CUDA8.0
下載安裝CUDA8.0
從官網(wǎng)下載CUDA8.0,install type選擇deb(local)
下載完成后進(jìn)入安裝包所在文件夾,依次執(zhí)行下面三句命令進(jìn)行安裝(安裝過(guò)程中不用安裝NVIDIA Graphics Driversl了,已經(jīng)安裝過(guò)了,其余的均安裝):
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda
配置環(huán)境變量
sudo gedit /etc/profile
在末尾加上兩句
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64$LD_LIBRARY_PATH
驗(yàn)證是否安裝成功
安裝時(shí)默認(rèn)安裝了測(cè)試用例,以deviceQuery為例
- cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
- sudo make
- ./deviceQuery
- 顯示GPU信息則安裝成功
安裝cuDNN6.0
下載cuDNN
從官網(wǎng)下載下面紅框中的三個(gè)文件(需要用NVIDIA賬號(hào)登錄,用QQ登錄即可):
安裝cuDNN
進(jìn)入安裝包所在目錄依次執(zhí)行下面三句命令進(jìn)行安裝
sudo dpkg -i libcudnn6-doc_6.0.21-1+cuda8.0_amd64.deb
sudo dpkg -i libcudnn6-dev_6.0.21-1+cuda8.0_amd64.deb
sudo dpkg -i libcudnn6_6.0.21-1+cuda8.0_amd64.deb
驗(yàn)證是否安裝成功
安裝時(shí)默認(rèn)安裝了測(cè)試用例,以/usr/src/cudnn_samples_v6為例
將這個(gè)例子復(fù)制到HOME中,執(zhí)行: sudo cp -r /usr/src/cudnn_samples_v6/ $HOME
進(jìn)入到HOME下: cd $HOME/cudnn_samples_v6/mnistCUDNN
進(jìn)行編譯: make make
執(zhí)行腳本: ./mnistCUDNN
看到命令行輸出 Test passed! 則安裝成功
安裝gpu版的TensorFlow
我用的是ubuntu16.04自帶的python2.7,安裝的是TensorFlow-gpu-1.4版本,在終端執(zhí)行:
方法一:
sudo pip install tensorflow-gpu==1.4.0
方法二:
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.4.0-cp27-none-linux_x86_64.whl
sudo pip install --upgrade $TF_BINARY_URL
import時(shí) 如果出現(xiàn)libcudnn.6: cannot...的問(wèn)題
import tensorflow as tf 時(shí)報(bào)錯(cuò):ImportError: libcudnn.6: cannot open shared object file: No such file or directory
我的問(wèn)題是:cuda的lib64文件夾中沒(méi)有l(wèi)ibcudnn.6這個(gè)文件抗愁,并且我安裝的時(shí)cudnn7闸餐,看來(lái)tensorflow-gpu==1.4.0對(duì)應(yīng)的是cudnn6殖氏,不過(guò)沒(méi)關(guān)系蛉谜,解決方法很簡(jiǎn)單
解決方法:
步驟1:在computer中搜索libcudnn,最后在/usr/lib/x86_64-linux-gnu中發(fā)現(xiàn)了libcudnn.so.7,將這個(gè)文件復(fù)制到/usr/local/cuda/lib64/中
步驟2:更新軟連接:sudo ln -s libcudnn.so.7 libcudnn.so.6
今天使用cudnn7訓(xùn)練時(shí)報(bào)錯(cuò):Loaded runtime CuDNN library: 7201 (compatibility version 7200) but source was compiled with 6021 (compatibility version 6000),針對(duì)tensorflow-gpu==1.4.0還是下載cudnn6吧崇堵,更換成cudnn6就正常了