affe是一個(gè)深度學(xué)習(xí)的庫,相信搞深度學(xué)習(xí)的話,不是用這個(gè)庫就是用theano吧。要想使用caffe首先第一步就是要配置好caffe的環(huán)境。在這里,我主要說的是在debian的linux環(huán)境下如何配置好caffe的庫。因?yàn)閜ython編寫程序比較方便,在文章最后,我還會(huì)具體說明如何配置python環(huán)境。本文章為本人原創(chuàng)。非盈利性質(zhì)網(wǎng)站轉(zhuǎn)載請(qǐng)?jiān)谖恼麻_頭處著名作者:77695,來源? http://www.cnblogs.com/cj695/ ?。盈利性質(zhì)網(wǎng)站轉(zhuǎn)載請(qǐng)與作者聯(lián)系,聯(lián)系方式在文章后面。如未聯(lián)系,本人將通過一切可能且合法的途徑追繳相應(yīng)稿酬。請(qǐng)?jiān)谵D(zhuǎn)載時(shí)保留此聲明。
1、前期準(zhǔn)備
首先從github上下載好caffe庫: ? https://github.com/BVLC/caffe ? ,解壓,得到這些東西
使用這一句話創(chuàng)建一個(gè)makefile.config的副本
接下來就是修改makefile.config,在這個(gè)文件里面對(duì)應(yīng)的注釋講的很清楚,需要哪一項(xiàng),吧對(duì)應(yīng)那一項(xiàng)前面“#”去掉就好了
先拿make all測試,提示錯(cuò)誤如下:
make: protoc:命令未找到?
make: *** [.build_release/src/caffe/proto/caffe.pb.h] 錯(cuò)誤 127
2、編譯以及安裝protoc
那就下載protobuf吧,在github下載,解壓 ? https://github.com/google/protobuf ? :
運(yùn)行
$ .
/autogen.sh
原來先要安裝curl:額,貌似curl安裝不成功那就跳過吧。因?yàn)閏url祈禱的作用就是下載文件,但 ? https://googletest.googlecode.com/files/gtest-1.7.0.zip ? 這個(gè)東西還是要下,那就直接下載吧,可能需要科學(xué)上網(wǎng),這個(gè)方法那就八仙過海各顯省通,我就不贅述。
下載好以后把壓縮包移動(dòng)過去。
找到對(duì)應(yīng)位置注釋掉curl
再次運(yùn)行,提示錯(cuò)誤
./autogen.sh: 40: ./autogen.sh: autoreconf: not found?
原因是沒安裝 automake 工具
運(yùn)行命令安裝:sudo apt-get install autoconf automake libtool
再一次./autogen.sh,成功!然后依次運(yùn)行以下命令
$ ./configure $ make $ make check $ make install
執(zhí)行完make check以后出現(xiàn):
就說明沒什么問題了,就可以繼續(xù)執(zhí)行make install
執(zhí)行完以后切換到caffe目錄,先make clean一下,接著make all
還是提示找不到庫,
3、安裝一系列依賴庫
再執(zhí)行安裝一些庫:sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev,稍等
再執(zhí)行make clean,接著make all,提示:
./include/caffe/common.hpp:5:27: fatal error: gflags/gflags.h: 沒有那個(gè)文件或目錄。說明protobuf的庫已經(jīng)差不多了。
4、安裝gflags
這里繼續(xù)安裝gflags: ? https://github.com/schuhschuh/gflags/archive/master.zip ? 下載。解壓
cd gflags-master
mkdir build && cd build
export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1
make
su
do make install
在執(zhí)行第三句話的時(shí)候可能會(huì)提示版本較低,直接在這里 http:/ /www.cmake.org/install / 下載最新版本的cmake就好了(下載.sh的文件直接運(yùn)行就可以了)。要配置一下環(huán)境變量
然后接著執(zhí)行下面兩條命令,就好了。弄完之后繼續(xù)切換到caffe目錄,先make clean一下,接著make all
./include/caffe/util/mkl_alternate.hpp:11:19: fatal error: cblas.h: 沒有那個(gè)文件或目錄
compilation terminated.
說明gflag安裝成功了,
5、編譯安裝ATLAS
接下來開始搞定cblas的問題。? BLAS ?(Basic Linear Algebra Subprograms,基礎(chǔ)線性代數(shù)程序集)是一個(gè)? 應(yīng)用程序接口 ? (API)標(biāo)準(zhǔn)。他的實(shí)現(xiàn)有很多,caffe用的是其中的三種實(shí)現(xiàn)ATLAS, MKL, or OpenBLAS.這里我準(zhǔn)備使用ATLAS: http://sourceforge.net/projects/math-atlas/files/ ? 先下載,解壓。按照官方文檔寫的,依次執(zhí)行如下命令
首先選擇高性能cpu模式:
/usr/bin/cpufreq-selector -g performance
然后在ATLAS目錄下建立文件夾
mkdir Linux_C2D64SSE3
# create BLDdir cd Linux_C2D64SSE3
# enter BLDdir
../configure -b? 64 ?-D c -DPentiumCPS=? 2800 ?-Fa alg -fPIC --with-netlib-lapack-tarfile= /home/haiyu/Programs_Install/lapack-3.5.0.tgz ?--prefix=
?
/usr/local/atlas
需要根據(jù)個(gè)人系統(tǒng)修改:
?
-b 指定編譯出庫的類型(32位庫還是64位庫)
-D c -DPentiumCPS 是指定你的CPU的時(shí)鐘頻率,可以通過 grep MHz /proc/cpuinfo 得到
-Fa alg -fPIC 得到與位置無關(guān)的代碼,生成動(dòng)態(tài)的共享庫
--prefix 為安裝路徑
--with-netlib-lapack-tarfile 則是lapack壓縮包路徑
make build
# tune & build lib make check
# sanity check correct answer make ptcheck
# sanity check parallel make time
# check
if lib is fast make install
# copy libs to install dir
這里還需要一個(gè)lapack的庫,在這里下載 ? http://www.netlib.org/lapack/ ? ,下載之后直接把/home/whaley/dload/lapack-3.4.1.tgz替換成對(duì)應(yīng)的路徑就好了
在執(zhí)行../configure的時(shí)候,會(huì)提示gfortran:命令未找到,直接用apt-get安裝即可。然后make build之后就可以休息去了。等一個(gè)小時(shí)再過來看吧。
ok。。現(xiàn)在是第二天。昨天晚上凌晨3點(diǎn)的時(shí)候終于看到它提示DONE了。這速度。太!“快”!了!繼續(xù)執(zhí)行接下來的命令幾個(gè)可以忽略的就忽略了,然后再切換到CAFFE目錄make clean/all,依舊提示
但這個(gè)時(shí)候在atla的prefix指定的安裝路徑下已經(jīng)有include/cblas.h
執(zhí)行這兩條,添加目錄到include環(huán)境變量
6、安裝lmdb
接著make,提示錯(cuò)誤lmdb沒裝
git clone git://gitorious.org/mdb/mdb.git?
cd mdb/libraries/liblmdb?
make && make install?
運(yùn)行完,再回到caffe目錄編譯
提示? :
AR -o .build_release/lib/libcaffe.a?
LD -o .build_release/lib/libcaffe.so?
/usr/bin/ld: cannot find -lcblas?
/usr/bin/ld: cannot find -latlas?
collect2: error: ld returned 1 exit status
7、安裝其他依賴包
解決辦法:安裝這些包
apt-get install libatlas-dev?
apt-get install liblapack-dev?
apt-get install? libatlas-base-dev?
問題解決
又提示這個(gè)錯(cuò)誤.build_release/lib/libcaffe.so: undefined reference to `google::protobuf,重新編譯protobuf
make uninstall?
make clean?
.
/configure --prefix=/usr
make
make check make install
搞定,返回caffe,編譯成功!!!!!!!!!!!!!此處有掌聲!!!!!
然后把目錄添加到PYTHON環(huán)境變量就行了
export PYTHONPATH=$PYTHONPATH:/home/cj695/protobuf/python/?
最后還要找到protobuf的Python目錄
python setup.py build python setup.py test python setup.py install
安裝一下
激動(dòng)人心的一顆來了!!!!!!!!!!!打開python,
import caffe。。這一刻,我哭了!!!!!!!!!!!!!
8、總結(jié)一下
耗費(fèi)兩天時(shí)間,卡時(shí)間比較多的主要有兩個(gè)地方,首先查錯(cuò)一定要從上往下查。基本上最上面的錯(cuò)誤才是最根本的錯(cuò)誤;其次,在安裝過程中對(duì)配置做過的修改一定要記清楚,別自己把安裝路徑改了結(jié)果還不知道是怎么回事。
另外,如果在安裝gflags的時(shí)候出現(xiàn)問題,可以實(shí)驗(yàn)一下用apt-get安裝gflag,命令如下:
sudo apt-get install python-gflags
caffe的配置大概也就這些內(nèi)容,希望這篇文章能夠?qū)δ阌兴鶐椭?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
