深度學(xué)習(xí)框架caffe安裝實(shí)測記錄,附python接口編譯過程

相信看這篇文章的都知道caffe是干嘛的了,無非就是深度學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)、計(jì)算機(jī)視覺、人工智能這些,這個(gè)我就不多介紹了,下面說說我的安裝過程即遇到的問題,當(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久時(shí)間,最后得高人指點(diǎn)得以成功,寫了個(gè)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)行。這個(gè)我只能說,官方文檔里第一行里的是:General dependencies,即:基本依賴,理解出必選的就行,第二行的包是:Remaining dependencies剩余的依賴?不管了,你只管裝就好了。

另外,如果你是按照我上面給出的方法配置的yum源的話(上面支配了本地源,163源,和epel),可能還會有包找不到,這時(shí)候就要自己找源了,添加方法都是差不多的。

如果你需要用caffe提供的python接口的話,那還有一個(gè)包需要安裝:sudo yum install?python-devel,后面會說到。

2.下載caffe源碼,編譯

sudo apt-getinstall git

git clone https://github.com/BVLC/caffe.git

下載過程有點(diǎn)慢,慢慢等。

下完之后,會在當(dāng)前目錄生成一個(gè)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++找不到。安裝g++,

[root@localhost caffe]# yum install gcc-c++

繼續(xù)編譯,遇到第二個(gè)錯(cuò),如圖:

找不到atlas,上面明明裝了atlas-devel,查看官方教程發(fā)現(xiàn)如下描述:

(圖BLAS)

我標(biāo)注了兩個(gè)地方,先看第二個(gè),說需要取消BLAS_LIB的注釋,并且要設(shè)置atlas的路徑,提示說一般都放在/usr/lib/atlas目錄下。那就試試,但是編輯哪個(gè)文件呢?當(dāng)然是Makefile.config,編輯它,如圖:

找到51行的樣子,果然有一個(gè)BLAS_LIB被注釋掉了,第一步取消注釋,第二步,先到/usr/lib64/atlas下看看有沒有這個(gè)目錄。我看了下是有的,并且在atlas下有這些文件,如圖:

那把/usr/lib64/atlas配到51行,繼續(xù)編譯(make all),錯(cuò)誤依舊。繼續(xù)看官方給出的對BLAS的解釋(圖BLAS)(往上數(shù)第三個(gè)截圖),

官方提示安裝是這么說的:install ATLAS bysudo yum install atlas-develor install OpenBLAS,注意一個(gè)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

上面的成功了,這兩個(gè)應(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,這時(shí)候再重新打開一個(gè)終端試試,如果還不行,那就說明配置有問題了。

我的導(dǎo)入時(shí)出現(xiàn)如下問題:

提示six這個(gè)包沒有indexbytes方法。手動dir了一下,確實(shí)沒有indexbytes,如下:

但是既然caffe代碼里有寫這個(gè)方法,那就應(yīng)該是有的,猜測是python引用的six包的版本不對。于是想到看看系統(tǒng)里有沒有其他的six.py文件:

python默認(rèn)導(dǎo)入的是?/usr/lib/python2.7/site-packages/這個(gè)目錄下的six.py,它沒有indexbytes方法,看了下上圖其他幾個(gè)目錄下的six.py文件都是有該方法的,于是,把/usr/lib/python2.7/site-packages/pip/_vendor下的six.py拷貝到/usr/lib/python2.7/site-packages/(建議備份)。然后重新打開一個(gè)終端,導(dǎo)入caffe

ok了,完事。祝好!

PS,有錯(cuò)誤,或者有問題的地方歡迎下方交流。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容