1. 程式人生 > >Mac下跑僅CPU模式下的py-faster-rcnn

Mac下跑僅CPU模式下的py-faster-rcnn

該篇部落格和我的上一篇Mac下跑僅CPU模式下的PVANET陪過過程大致基本相同。但為了更好更流暢的配置py-faster-rcnn,這裡記錄下詳細過程(坑)

1、還是安裝依賴庫

2、確認安裝Cython easydict protobuf

3、pull py-faster-rcnn

4、編譯Cython modules

首先,開啟./lib/setup.py 註釋掉和GPU相關

...
#CUDA = locate_cuda()
...
...
#self.set_executable('compiler_so', CUDA['nvcc'])
...
... #Extension('nms.gpu_nms', #[‘nms/nms_kernel.cu', 'nms/gpu_nms.pyx'], #library_dirs=[CUDA['lib64']], #libraries=['cudart'], #language='c++', #runtime_library_dirs=[CUDA['lib64']], ## this syntax is specific to this build system ## we're only going to use certain compiler args with nvcc and not with
## gcc the implementation of this trick is in customize_compiler() below #extra_compile_args={'gcc': ["-Wno-unused-function"], #’nvcc': ['-arch=sm_35', #’—ptxas-options=-v', #’-c’, #’—compiler-options', #”’-fPIC'"]}, #include_dirs = [numpy_include, CUDA['include']] #)

然後,cd 到 lib目錄下執行make warning可以忽略

5、徹底修改Makefile.config 減少後面錯誤

因為Mac本身自帶python2版本,而我自己使用anaconda安裝python(這裡建議使用2.7)python3儘管更新快,但是工程上更多是python2.這個就像opencv2在工程上使用率高一樣
1. 備份系統python
$:sudo mv /System/Library/Frameworks/Python.framework
/System/Library/Frameworks/Python.framework_bak
2. 確認anaconda python 路徑
3. 修改Makefile.config

step1:
CPU_ONLY := 1
WITH_PYTHON_LAYER := 1

step2:
DUDA全部註釋

step3:
BLAS配置


step4:
PYTHON_INCLUDE
PYTHON_LIB
根據自己路徑配置

step5:
#TEST_GPUID := 0

6. Build Caffe and pycaffe

cd到py-faster-rcnn下
make -j8 && make pycaffe

* 這裡遇到一個新的問題*:“ImportError: numpy.core.multiarray failed to import”
我自己實在解決不掉,清空之前python 和路徑,直接重新安裝python。

注意這裡為安全(未知錯誤)起見,在caffe-fast-rcnn目錄下執行

cp -a .build_release/lib/. /usr/local/lib/

7、Run Demo

準備工作
1、修改nms_wrapper.py
這裡寫圖片描述
2 下載faster_rcnn_models
3.執行python ./tools/demo.py –cpu,OK
這裡寫圖片描述

6.如有問題,歡迎留言指教。