相信看這篇文章的都知道caffe是干嘛的了,無非就是深度學(xué)習(xí)互捌、神經(jīng)網(wǎng)絡(luò)潘明、計(jì)算機(jī)視覺、人工智能這些秕噪,這個我就不多介紹了钳降,下面說說我的安裝過程即遇到的問題,當(dāng)然還有解決方法巢价。
說下我的環(huán)境:1》虛擬機(jī):VM Workstation 12 Player2》OS:redhat7.1
虛擬機(jī)裝好之后因?yàn)镽edHat的yum服務(wù)是收費(fèi)的牲阁,為了倒騰免費(fèi)yum源看網(wǎng)上的教程固阁,坑了一b,浪費(fèi)了N久時間城菊,最后得高人指點(diǎn)得以成功备燃,寫了個blog:redhat配置免費(fèi)yum源
步入正題,安裝caffe.再次建議大家嘗試看英文文檔凌唬,因?yàn)樽钚碌臇|西很少有中文的并齐,而且,中文教程各種坑客税。况褪。。附上官方地址:caffe官方安裝教程
1.安裝依賴包更耻,各種依賴包
這一步之前测垛,你要先把yum 源都配好,要不的話會出現(xiàn)下面的情況:
假設(shè)你yum配置好了秧均,繼續(xù):
sudo yum install protobuf-devel leveldb-devel snappy-devel opencv-devel boost-devel hdf5-devel
sudo yum install gflags-devel glog-devel lmdb-devel
sudo yum install atlas-devel
你可能會問食侮,都是安裝依賴為啥需要2條命令,而不是一條直接運(yùn)行目胡。這個我只能說锯七,官方文檔里第一行里的是:General dependencies,即:基本依賴誉己,理解出必選的就行眉尸,第二行的包是:Remaining dependencies剩余的依賴?不管了巨双,你只管裝就好了噪猾。
另外,如果你是按照我上面給出的方法配置的yum源的話(上面支配了本地源炉峰,163源畏妖,和epel),可能還會有包找不到,這時候就要自己找源了疼阔,添加方法都是差不多的。
如果你需要用caffe提供的python接口的話半夷,那還有一個包需要安裝:sudo yum install?python-devel婆廊,后面會說到。
2.下載caffe源碼巫橄,編譯
sudo apt-getinstall git
git clone https://github.com/BVLC/caffe.git
下載過程有點(diǎn)慢淘邻,慢慢等。
下完之后,會在當(dāng)前目錄生成一個caffe文件夾湘换,本文默認(rèn)caffe下載到/code目錄下宾舅,以下所有命令默認(rèn)都在/code/caffe目錄下统阿,除非有cd命令出現(xiàn)。
root@localhost caffe]#cd /code/caffe
[root@localhost caffe]# cp Makefile.config.example Makefile.config
[root@localhost caffe]# vi Makefile.config
把第8行的注釋打開筹我,我們使用CPU模式扶平,如圖。
接著蔬蕊,開始編譯吧结澄,遇到問題再說:
[root@localhost caffe]# make all
遇到的第一個問題,如圖:
很明顯岸夯,提示g++找不到麻献。安裝g++,
[root@localhost caffe]# yum install gcc-c++
繼續(xù)編譯猜扮,遇到第二個錯勉吻,如圖:
找不到atlas,上面明明裝了atlas-devel旅赢,查看官方教程發(fā)現(xiàn)如下描述:
(圖BLAS)
我標(biāo)注了兩個地方餐曼,先看第二個,說需要取消BLAS_LIB的注釋鲜漩,并且要設(shè)置atlas的路徑源譬,提示說一般都放在/usr/lib/atlas目錄下。那就試試孕似,但是編輯哪個文件呢踩娘?當(dāng)然是Makefile.config,編輯它,如圖:
找到51行的樣子喉祭,果然有一個BLAS_LIB被注釋掉了养渴,第一步取消注釋,第二步泛烙,先到/usr/lib64/atlas下看看有沒有這個目錄理卑。我看了下是有的,并且在atlas下有這些文件蔽氨,如圖:
那把/usr/lib64/atlas配到51行藐唠,繼續(xù)編譯(make all),錯誤依舊鹉究。繼續(xù)看官方給出的對BLAS的解釋(圖BLAS)(往上數(shù)第三個截圖)宇立,
官方提示安裝是這么說的:install ATLAS bysudo yum install atlas-develor install OpenBLAS,注意一個or,我們剛才是第一種方法自赔,現(xiàn)在試試安裝openblas
yum install openblas openblas-devel
安裝之后妈嘹,搜索下安裝到的目錄:
find / -name"*openblas*.so"
發(fā)現(xiàn)都在/usr/lib64目錄下,再次修改Makefile.config,如圖:
再次編譯:
make all
順利通過绍妨。這里也給各位再次強(qiáng)調(diào)下润脸,各種教程官網(wǎng)的最正宗柬脸,一定要強(qiáng)迫自己看官網(wǎng)。毙驯。倒堕。雖然是英文。尔苦。
接著運(yùn)行下測試命令
make test
make runtest
上面的成功了涩馆,這兩個應(yīng)該不會有問題。
到此允坚,caffe的安裝就結(jié)束了.
接下來說下編譯caffe的python接口魂那,pycaffe:
還是在/code/caffe目錄下:
第一步還是安裝依賴,下把pip安裝了稠项,并且升級下:
[root@localhost caffe]#yum intall python-pip
[root@localhost caffe]# pip install --upgrade pip
然后安裝pycaffe的各種依賴:
[root@localhost caffe]# pip install -r python/requirements.txt
[root@localhost caffe]# yum install?python-devel
把caffe的python接口路徑添加到系統(tǒng)環(huán)境變量:
[root@localhost caffe]# vim /etc/profile
在文件的最后一行添加:
export PYTHONPATH=/code/caffe/python:$PYTHONPATH
注意涯雅,/code/caffe/python這部分要根據(jù)你的實(shí)際目錄來填寫。
然后然修改生效
[root@localhost caffe]# source/etc/profile
[root@localhost caffe]# source/etc/profile
編譯pycaffe
[root@localhost caffe]# make pycaffe
輸出如下:
導(dǎo)入python試試:
提示找不到caffe展运,這時候再重新打開一個終端試試活逆,如果還不行,那就說明配置有問題了拗胜。
我的導(dǎo)入時出現(xiàn)如下問題:
提示six這個包沒有indexbytes方法蔗候。手動dir了一下,確實(shí)沒有indexbytes,如下:
但是既然caffe代碼里有寫這個方法埂软,那就應(yīng)該是有的锈遥,猜測是python引用的six包的版本不對。于是想到看看系統(tǒng)里有沒有其他的six.py文件:
python默認(rèn)導(dǎo)入的是?/usr/lib/python2.7/site-packages/這個目錄下的six.py,它沒有indexbytes方法勘畔,看了下上圖其他幾個目錄下的six.py文件都是有該方法的所灸,于是,把/usr/lib/python2.7/site-packages/pip/_vendor下的six.py拷貝到/usr/lib/python2.7/site-packages/(建議備份)炫七。然后重新打開一個終端爬立,導(dǎo)入caffe
ok了,完事万哪。祝好侠驯!
PS,有錯誤,或者有問題的地方歡迎下方交流壤圃。