affe是一個深度學習的庫,相信搞深度學習的話,不是用這個庫就是用theano吧。要想使用caffe首先第一步就是要配置好caffe的環境。在這里,我主要說的是在debian的linux環境下如何配置好caffe的庫。因為python編寫程序比較方便,在文章最后,我還會具體說明如何配置python環境。本文章為本人原創。非盈利性質網站轉載請在文章開頭處著名作者:77695,來源? http://www.cnblogs.com/cj695/ ?。盈利性質網站轉載請與作者聯系,聯系方式在文章后面。如未聯系,本人將通過一切可能且合法的途徑追繳相應稿酬。請在轉載時保留此聲明。
1、前期準備
首先從github上下載好caffe庫: ? https://github.com/BVLC/caffe ? ,解壓,得到這些東西
使用這一句話創建一個makefile.config的副本
接下來就是修改makefile.config,在這個文件里面對應的注釋講的很清楚,需要哪一項,吧對應那一項前面“#”去掉就好了
先拿make all測試,提示錯誤如下:
make: protoc:命令未找到?
make: *** [.build_release/src/caffe/proto/caffe.pb.h] 錯誤 127
2、編譯以及安裝protoc
那就下載protobuf吧,在github下載,解壓 ? https://github.com/google/protobuf ? :
運行
$ .
/autogen.sh
原來先要安裝curl:額,貌似curl安裝不成功那就跳過吧。因為curl祈禱的作用就是下載文件,但 ? https://googletest.googlecode.com/files/gtest-1.7.0.zip ? 這個東西還是要下,那就直接下載吧,可能需要科學上網,這個方法那就八仙過海各顯省通,我就不贅述。
下載好以后把壓縮包移動過去。
找到對應位置注釋掉curl
再次運行,提示錯誤
./autogen.sh: 40: ./autogen.sh: autoreconf: not found?
原因是沒安裝 automake 工具
運行命令安裝:sudo apt-get install autoconf automake libtool
再一次./autogen.sh,成功!然后依次運行以下命令
$ ./configure $ make $ make check $ make install
執行完make check以后出現:
就說明沒什么問題了,就可以繼續執行make install
執行完以后切換到caffe目錄,先make clean一下,接著make all
還是提示找不到庫,
3、安裝一系列依賴庫
再執行安裝一些庫:sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev,稍等
再執行make clean,接著make all,提示:
./include/caffe/common.hpp:5:27: fatal error: gflags/gflags.h: 沒有那個文件或目錄。說明protobuf的庫已經差不多了。
4、安裝gflags
這里繼續安裝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
在執行第三句話的時候可能會提示版本較低,直接在這里 http:/ /www.cmake.org/install / 下載最新版本的cmake就好了(下載.sh的文件直接運行就可以了)。要配置一下環境變量
然后接著執行下面兩條命令,就好了。弄完之后繼續切換到caffe目錄,先make clean一下,接著make all
./include/caffe/util/mkl_alternate.hpp:11:19: fatal error: cblas.h: 沒有那個文件或目錄
compilation terminated.
說明gflag安裝成功了,
5、編譯安裝ATLAS
接下來開始搞定cblas的問題。? BLAS ?(Basic Linear Algebra Subprograms,基礎線性代數程序集)是一個? 應用程序接口 ? (API)標準。他的實現有很多,caffe用的是其中的三種實現ATLAS, MKL, or OpenBLAS.這里我準備使用ATLAS: http://sourceforge.net/projects/math-atlas/files/ ? 先下載,解壓。按照官方文檔寫的,依次執行如下命令
首先選擇高性能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
需要根據個人系統修改:
?
-b 指定編譯出庫的類型(32位庫還是64位庫)
-D c -DPentiumCPS 是指定你的CPU的時鐘頻率,可以通過 grep MHz /proc/cpuinfo 得到
-Fa alg -fPIC 得到與位置無關的代碼,生成動態的共享庫
--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
這里還需要一個lapack的庫,在這里下載 ? http://www.netlib.org/lapack/ ? ,下載之后直接把/home/whaley/dload/lapack-3.4.1.tgz替換成對應的路徑就好了
在執行../configure的時候,會提示gfortran:命令未找到,直接用apt-get安裝即可。然后make build之后就可以休息去了。等一個小時再過來看吧。
ok。。現在是第二天。昨天晚上凌晨3點的時候終于看到它提示DONE了。這速度。太!“快”!了!繼續執行接下來的命令幾個可以忽略的就忽略了,然后再切換到CAFFE目錄make clean/all,依舊提示
但這個時候在atla的prefix指定的安裝路徑下已經有include/cblas.h
執行這兩條,添加目錄到include環境變量
6、安裝lmdb
接著make,提示錯誤lmdb沒裝
git clone git://gitorious.org/mdb/mdb.git?
cd mdb/libraries/liblmdb?
make && make install?
運行完,再回到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?
問題解決
又提示這個錯誤.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環境變量就行了
export PYTHONPATH=$PYTHONPATH:/home/cj695/protobuf/python/?
最后還要找到protobuf的Python目錄
python setup.py build python setup.py test python setup.py install
安裝一下
激動人心的一顆來了!!!!!!!!!!!打開python,
import caffe。。這一刻,我哭了!!!!!!!!!!!!!
8、總結一下
耗費兩天時間,卡時間比較多的主要有兩個地方,首先查錯一定要從上往下查。基本上最上面的錯誤才是最根本的錯誤;其次,在安裝過程中對配置做過的修改一定要記清楚,別自己把安裝路徑改了結果還不知道是怎么回事。
另外,如果在安裝gflags的時候出現問題,可以實驗一下用apt-get安裝gflag,命令如下:
sudo apt-get install python-gflags
caffe的配置大概也就這些內容,希望這篇文章能夠對你有所幫助
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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