介紹
近兩年,Deep Learning的興起,也有了很多一些開源的深度學習軟件包,其中比較出名的就是Caffe,這是UC伯克利的賈清揚帶頭寫的,后來變成了一個多人維護的開源項目。官網(wǎng)鏈接 ,主要流程按照官網(wǎng)來的,但是由于環(huán)境不同,在安裝過程中也會有不同的問題。在安裝之前建議詳細看一下官網(wǎng)的安裝教程,一般能省不少的事情。
配置
操作系統(tǒng):14.04 Ubuntu Kylin 64位
cuda版本:7.5
GPU:k20c
一、cuda 安裝
我們采用的是.ded包安裝方式,網(wǎng)上還有利用一種手動安裝.run文件的方式,但是由于樓主第一次采用該種方式安裝導(dǎo)致各種驅(qū)動的問題,系統(tǒng)重新安裝了N次,所以這次換了個安裝方法。
1.在nvidia官網(wǎng)上下載.ded安裝包(當然根據(jù)自己的系統(tǒng)選擇版本)
2. install repository meta-data
sudo?dpkg?-i?cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb
3. Update the Apt repository cache
sudo?apt-get?update
4. Install CUDA
sudo?apt-get?install?cuda
二、環(huán)境變量設(shè)置
1.設(shè)置PATH
在/etc/profile中添加環(huán)境變量,在文件最后添加
PATH=/usr/local/cuda-7.5/bin:$PATH
export?PATH
保存后如下命令,使得立即生效
source?/etc/profile
2.添加lib庫
在/etc/ld.so.conf.d/加入文件cuda.conf
/usr/local/cuda-7.5/lib64
輸入命令sudo?ldconfig使得立即生效
執(zhí)行如下命令,確定驅(qū)動成功安裝
cat??/pror/driver/nvidia/version
NVRM?version:?NVIDIA?UNIX?x86_64?Kernel?Module??352.63??Sat?Nov??7?21:25:42?PST?2015
GCC?version:??gcc?version?4.8.4?(Ubuntu?4.8.4-2ubuntu1~14.04)
拷貝樣例程序到dir,樣例程序在/usr/local/cuda/samples中是有一份的,只是copy一份出來編譯
cuda-install-samples-7.5.sh <dir>
3.安裝Opencv
這個盡量不要手動安裝,Github上有人已經(jīng)寫好了完整的安裝腳本:https://github.com/jayrambhia/Install-OpenCV
sudo./opencv2_4_9.sh
4.安裝依賴庫
sudo apt-get? install libprotobuf-dev?libleveldb-dev?libsnappy-dev?libopencv-dev?libboost-all-dev?libhdf5-serial-dev?libgflags-dev?libgoogle-glog-dev?liblmdb-dev?protobuf-compiler
5.安裝Python
sudo apt-get install python-dev?python-pip
然后執(zhí)行如下命令安裝編譯caffe?python?wrapper?所需要的額外包
for?req?in?$(cat?requirements.txt);?do?sudo?pip?install?$req;?done
建議安裝Anaconda包,這個包能獨立于系統(tǒng)自帶的python庫,并且提供大部分Caffe需要的科學運算Python庫。
并且在~/.bashrc中添加library path
# add library path
LD_LIBRARY_PATH=your_anaconda_path/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
6.安裝cuDNN(可選)
CuDNN是專門針對Deep?Learning框架設(shè)計的一套GPU計算加速方案,目前支持的DL庫包括Caffe,ConvNet,?Torch7等。下載?
基本原理是把lib文件加入到系統(tǒng)能找到的lib文件夾里,?把頭文件加到系統(tǒng)能找到的include文件夾里就可以。這里把他們加到CUDA的文件夾下
tar-xzvf?cudnn-6.5-linux-R1.tgzcd?cudnn-6.5-linux-R1
sudo cp? lib*?/usr/local/cuda/lib64/ (該命令是在解壓后的文件夾中運行終端)
sudo cp? cudnn.h?/usr/local/cuda/include/
執(zhí)行后發(fā)現(xiàn)還是找不到庫,?報錯
error???? while loading?shared?libraries:?libcudnn.so.6.5:?cannot?open?shared object? file:?No?such file or?directory
而lib文件夾是在系統(tǒng)路徑里的,用ls?-al發(fā)現(xiàn)是文件權(quán)限的問題,因此用下述命令先刪除軟連接
cd?/usr/local/cuda/lib64/
sudo rm -rf?libcudnn.so?libcudnn.so.6.5
修改文件權(quán)限,并創(chuàng)建新的軟連接
sudo chmod u=rwx,g=rx,o=rx?libcudnn.so.6.5.18
sudo ln -s?libcudnn.so.6.5.18libcudnn.so.6.5
sudo ln -s?libcudnn.so.6.5libcudnn.so
7.安裝OpenBLAS
下載編譯openBLAS
默認安裝目錄?/opt/OpenBLAS
在~/.bashrc?中添加路徑
LD_LIBRARY_PATH=/opt/OpenBLAS/lib:$LD_LIBRARY_PATH
export?LD_LIBRARY_PATH
也可以在/etc/ld.so.conf中添加文件
把路徑/opt/OpenBLAS/lib添加到文件中,運行sudo?ld config
8.修改Makefile.conf(根據(jù)官網(wǎng)和Makefile.conf.example中注釋修改)
Make?all?-j12
Make?test
Make?runtest
編譯Matlab?wrapper
makematcaffe
編譯Python?wrapper
makepycaffe