caffe學習:Faster-RCNN除錯
參考官方的安裝教程的同時,注意一些細節,由於我的伺服器上之前跑openpose,因為Anaconda包含與Caffe不相容的Protobuf版本,所以一直不敢裝anaconda。但是跑Faster-RCNN的時候又發現自己安裝的python環境,那些第三方庫又老是出現不相容的問題,無奈我還是得投奔anaconda的懷抱,經過了解anaconda還可以裝虛擬環境,真的很強大。廢話不多說了,開始動工~
執行環境:Ubuntu14.04,Caffe,cudnn,cuda8.0
由於我的環境都是現成的,所以直接上手執行demo。
一、執行demo
1、命令列下載Faster R-CNN
# Make sure to clone with --recursive git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git [目錄]
後面加一個目錄,就可以克隆到你想放的目錄下來;我就把檔案下載到了py-faster-rcnn檔案裡。
2、拷貝並修改Makefile.config檔案
cd $FRCN_ROOT/caffe-fast-rcnn cp Makefile.config.example Makefile.config
注意FRCN_ROOT是你下載的檔案總目錄。 下面修改Makefile.config檔案
# In your Makefile.config, make sure to have this line uncommented WITH_PYTHON_LAYER := 1 # Unrelatedly, it's also recommended that you use CUDNN USE_CUDNN := 1
3、建立Cython模組
cd $ FRCN_ROOT / lib
make
4、編譯 Caffe 和 pycaffe
cd $FRCN_ROOT/caffe-fast-rcnn make -j`nproc` && make pycaffe
5、下載預訓練好的 Faster R-CNN detectors
cd $FRCN_ROOT ./data/scripts/fetch_faster_rcnn_models.sh
下載太慢,可以用迅雷或者百度雲下載,連結: https://pan.baidu.com/s/1U1bPGnYuTvskDXu62r41iw 提取碼: fbhn
把檔案移到$RCNN_ROOT/data下,並將其解壓。
除了獲取獲取Faster R-CNN預訓練好的模型外,還可以用下載訓練好的imagenet_model進行演示,詳情見
6、python環境及第三方庫
這裡推薦anaconda2或者3都行,我這裡直接用anaconda2,演示的時候直接使用預設的root虛擬環境就好了。
這裡安裝的是Anaconda2-4.4.0-Linux-x86_64.sh,推薦清華映象https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
官方提醒我們安裝的包有Cython
,easydict,python-opencv。Cython安裝包anaconda2中已經有了,主要安裝後面兩個。
easydict安裝:
conda install -c https://conda.anaconda.org/auto easydict
python-opencv安裝:
conda install --channel https://conda.anaconda.org/menpo opencv3
7、執行demo.py
cd $FRCN_ROOT ./tools/demo.py
二、遇到問題
執行demo.py的時候出現問題
from nms.cpu_nms import cpu_nms ImportError: /media/jing/000A9C35000B43B9/py-faster-rcnn/tools/../lib/nms/cpu_nms.so: undefined symbol: PyFPE_jbuf 解決:$FRCN_ROOT/lib/fast_rcnn裡找到nms_wrapper.py:註釋一句話from nms.cpu_nms import cpu_nms,然後執行就正常了。
三、參考