1. 程式人生 > >caffe學習:Faster-RCNN除錯

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進行演示,詳情見

https://blog.csdn.net/hongbin_xu/article/details/76100132

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,然後執行就正常了。

三、參考