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 := 1step2:
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.如有問題,歡迎留言指教。