一缰雇、硬件與環(huán)境
顯卡:GTX 1080
系統(tǒng):Ubuntu 14.04
CUDA:cuda_8.0.44_linux.run
cuDNN:cudnn-8.0-linux-x64-v5.1.tgz
注意:
- GTX1080顯卡必須用CUDA 8.0版本。CUDA從此處下載追驴。切記械哟,千萬不要下載 deb 包,否則后方無數(shù)坑在等著你殿雪。
CUDA下載界面 - GTX1080顯卡必須用cuDNN-8.0-V5.1版本暇咆,不然用 caffe 跑模型,用 CPU或GPU顯卡跑精度正常丙曙,一旦開啟cuDNN模式爸业,精度(acc)立刻下降到 0.1 左右,loss 非常大亏镰。cuDNN在此處下載扯旷。下載需注冊。最好注冊一個賬號拆挥,選擇對應的版本薄霜,不要用網(wǎng)上其他教程給的現(xiàn)成的包某抓,出問題的概率非常大纸兔。
二、安裝:
注意:一定要按順序否副!
注意:一定要按順序汉矿!
注意:一定要按順序!
1. 安裝 Ubuntu 14.04
本文不關注备禀。假設你已經(jīng)將此系統(tǒng)做過穩(wěn)定的開發(fā)環(huán)境洲拇,這不是全新安裝后的系統(tǒng),至少 git 等最常用包已經(jīng)安裝曲尸。缺什么裝什么赋续,apt-get 大法好。
2. 禁用 nouveau 驅(qū)動
打開終端另患,輸入$ sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
,輸入
blacklist nouveau
options nouveau modset=0
保存退出纽乱,執(zhí)行$ sudo update-initramfs -u
,禁用結束昆箕。重啟電腦鸦列。
驗證驅(qū)動是否禁用成功:
輸入$ sudo lspci | grep nouveau
租冠,如果沒有內(nèi)容,則禁用成功薯嗤。
3. 安裝CUDA 8.0
運行下載好的 run file (假設 cuda_8.0.44_linux.run 在家目錄下)。
$ sudo sh cuda_8.0.44_linux.run
一路回車即可骆姐。
驗證是否安裝成功:
輸入$ ls /dev/nvidia*
镜粤,若生成 4 個左右 Nvidia 開頭的文件(夾),說明此步安裝成功玻褪。此時已經(jīng)安裝好顯卡驅(qū)動和CUDA 8.0繁仁。輸入$ nvidia-smi
可查看顯卡驅(qū)動和其他信息。
注意:網(wǎng)上其他教程由于年代久遠归园,里面不建議安裝此 CUDA 包中的顯卡驅(qū)動黄虱。然而,這個包中的顯卡驅(qū)動大版本為 367 庸诱,非常新捻浦,可以用。
4. 配置環(huán)境變量
輸入$ sudo gedit /etc/profile
桥爽,打開 gedit 朱灿,最后兩行輸入
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
保存退出,環(huán)境變量配置完成钠四。
5. 安裝 cuDNN
你已經(jīng)下載好 cudnn-8.0-linux-x64-v5.1.tgz盗扒,并將其放在家目錄($ cd ~
)下。
按順序輸入以下代碼:
$ cd ~
$ sudo tar xvf cudnn-8.0-linux-x64-v5.1.tgz
$ cd cuda/include
$ sudo cp *.h /usr/local/include/
$ cd ../lib64
$ sudo cp lib* /usr/local/lib/
$ cd /usr/local/lib# sudo chmod +r libcudnn.so.5.1.5
$ sudo ln -sf libcudnn.so.5.1.5 libcudnn.so.5
$ sudo ln -sf libcudnn.so.5 libcudnn.so
$ sudo ldconfig
注意:libcudnn.so后面跟的數(shù)字可能和你下載的 cudnn 包小版本的不同而不同缀去,去~/cuda/lib64
下看一眼侣灶,相對應地進行修改。
6. 安裝 caffe
(1) 下載 caffe
在家目錄執(zhí)行 $ git clone https://github.com/BVLC/caffe.git
缕碎,~
下生成文件夾 caffe褥影。
(2) 安裝依賴
$ sudo apt-get install libatlas-base-dev libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler
(3) 編譯 caffe
打開 caffe 所在目錄,找到Makefile.config.example
文件咏雌,將其改名為Makefile.config
凡怎,打開。將# USE_CUDNN := 1
一行開頭的#刪除赊抖,保存统倒。
打開終端,輸入
cd ~/caffe
make -j
等待編譯完成即可氛雪。
注意:編譯需要非常大的內(nèi)存和非常長的時間房匆。一般情況下不會報錯。報錯查閱相關書籍和搜索引擎,此處不關注坛缕。
(4) 配置 caffe 環(huán)境
caffe 運行時需要調(diào)用 cuda 的庫墓猎,我們在/etc/ld.so.conf.d目錄下新建一個cafe.conf文件。終端輸入
$ sudo gedit /etc/ld.so.conf.d/caffe.conf
打開 gedit 赚楚。添加內(nèi)容:
/usr/local/cuda/lib64
保存退出毙沾。
更新配置
$ sudo ldconfig
所有配置結束。
三宠页、測試
此處說的很簡略左胞。假設你已經(jīng)初步掌握 caffe 的用法。
# cd ~/caffe
# sudo sh data/mnist/get_mnist.sh
# sudo sh examples/mnist/create_mnist.sh
# sudo sh examples/mnist/train_lenet.sh
感受1080開啟cuDNN模式的強大吧举户!
折騰了近三天烤宙,查了無數(shù)資料踩了無數(shù)坑。若本文對你有幫助俭嘁,請務必點個喜歡躺枕!
參考資料: