caffe 配置坑的總結


關於前面安裝各種依賴的步驟,以及caffe的git clone都不多說,基本跟網上很多相同,只是后續的步驟有些比較常見的問題,特此總結。

常見問題:

(1)在python環境下,import caffe,顯示No Module named caffe.

原因:沒有把caffe里面的python接口庫添加到python的module搜索路徑。可以進入python,import sys,sys.path,查看當前的module搜索路徑。

解決辦法:export PYTHONPATH=$PYTHONPATH:your/caffe/path/about/python

(1.1)有時候也會遇到segment fault 11,這個之前網上有人說過解決辦法有點復雜,這個問題其實也是caffe編譯的python版本,和shell里用的版本不一致導致。最好的解決辦法就是,只留一個版本的python,不要裝anaconda和brew的版本,然后重新編譯caffe,詳見(2)。

  (2) 上述都配置好了,import caffe也沒問題,但是后續的各種深層調用會出錯,比如一些基本庫,collections,site...

原因:主要的可能是,caffe編譯時候,依賴的python版本,和你現在使用的版本不一致,導致雖然都是python,但是版本不同。

解決辦法:盡量保持電腦中只有一個版本的python。mac系統自帶的就不錯,anaconda或者homebrew安裝的,除非特別必須,不建議裝很多。

然后,shell中查看當前用的python,which python,最好將當前python的安裝路徑也添加到/etc/bashrc中,記得source一下,mac自帶的python路徑通常為/System/Library/Frameworks/Python.framework/Versions/2.7/bin。

接着,進入caffe文件夾,rm -rf build;mkdir build;make clean;make -j4;make pycaffe;

還有個好用的命令可以查看某個庫的編譯依賴項及版本:otools -L _caffe.so(這個是caffe的python接口編譯后的靜態庫)

最后看到沒有錯誤提示,說明成功。

(3)有時會出現,找不到numpy中的一個頭文件

原因:caffe中MakeFile.config中的numpy路徑不對

解決:進入caffe的Makefile.config文件,仔細查看有關PYTHON_INCLUDE,PYTHON_LIB的路徑部分,都修改對,該注釋的注釋掉。然后重新編譯如(2)所說。

(4)關於跑別人demo的經驗

在caffe配的沒有問題的情況下,主要是solver中用到的訓練網絡或者測試網路的data source path,一定要仔細改對。用python接口的時候,常常會寫一個data provider的py文件,這個文件會配合train.prototxt(或者val.prototxt)中的網絡,說明使用哪個provider為該網絡提供數據。通常都是先把圖片的路徑寫到文本中,再根據這個文本去讀圖片,這個文本通常是train.txt或者test.txt。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM