py-faster-rcnn+caffe遇到的问题

本文faster-rcnn+caffe的安装中遇到的问题解决方案参考了以下博文:

转载原文链接:https://blog.csdn.net/hongbin_xu/article/details/76100132 

1.在caffe-fast-rcnn文件夹下进行make编译时:

(1)首先将预先编译好的原来caffe-master文件夹里的Makefile和Makefile.config复制到当前文件夹,也可以自行修改。此处附上自己修改的Makefile和Makefile.config文件。

Makefile修改如下:

#LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5

LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial

# Automatic dependency generation (nvcc is handled separately)
CXXFLAGS += -MMD -MP
CXXFLAGS += -std=c++11 

#NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

Makefile.config文件修改如下:

# cuDNN acceleration switch (uncomment to build with cuDNN).
 USE_CUDNN := 1

# CPU-only switch (uncomment to build without GPU support).
# CPU_ONLY := 1

 

# Uncomment if you're using OpenCV 3
 OPENCV_VERSION := 3


# MATLAB_DIR := /usr/local

MATLAB_DIR := /usr/local/MATLAB/R2014a

# MATLAB_DIR := /Applications/MATLAB_R2012b.app

 

ANACONDA_HOME := /home/bml/anaconda2 

 PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
         $(ANACONDA_HOME)/include/python2.7 \
         $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include

# We need to be able to find libpythonX.X.so or .dylib.
PYTHON_LIB := /usr/lib
 PYTHON_LIB := $(ANACONDA_HOME)/lib

# Uncomment to support layers written in Python (will link against Python libs)
 WITH_PYTHON_LAYER := 1下面这几篇博客给出了一些常见报错及解决办法: 
为了caffe(四)学习人家的文章 
caffe跑试验遇到错误:Check failed: error == cudaSuccess (2 vs. 0) out of memory

# Whatever else you find you need goes here.
#INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
#LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial       

2.在编译make时,如果出错以下途中错误,则输入命令: export CPLUS_INCLUDE_PATH=/usr/include/python2.7

 或者export CPLUS_INCLUDE_PATH=/home/bml/anaconda3/include/python3.6m/

原因:

python路径都改为了anaconda的路径,但是CPLUS的path没有设置,系统中我也没把aneconda设置成默认的python导致的。

 

 

3.编译make pycaffe时出现此类错误:系统中实际已经安装好了numpy,但是我的系统中安装了Anaconda2,而且在Makefile。config中写入了anaconda的路径,导致系统中有两个python路径,所以出现此类错误。修改方法:打开bashrc文件,先将anaconda路径注释,保存,再打开makefile.config文件,将anaconda路径注释,,然后在在python_include路径中加入local.

#ANACONDA_HOME := /home/bml/anaconda2 

 #PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
        # $(ANACONDA_HOME)/include/python2.7 \
        # $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include

PYTHON_INCLUDE := /usr/include/python2.7 \
        /usr/local/lib/python2.7/dist-packages/numpy/core/includevbvsdf

4.测试demo.py文件:进入faster-rcnn根目录下:

./tools/demo.py 

运行后出现:

意思是,在载入VGG16_faster_rcnn_final.caffemodel时出错。查阅资料,发现这是因为gpu的显存不够。 
如果是自己训练和测试模型,可以去更改配置文件中的batch_size,将test和train的batch_size都改为1。我们只是测试别人训练的模型也没法更改了。 
注意:本人的电脑是惠普暗影精灵二代Pro:GTX1050显卡,8G内存,1T硬盘,128G固态,2G独显

退一步考虑,我们下载下来的faster_rcnn_models模型中有两个:

VGG16_faster_rcnn_final.caffemodel  
ZF_faster_rcnn_final.caffemodel

VGG16是大型模型,而ZF模型则是较小的模型。 
所以我们换成使用ZF模型进行测试。 
方法一: 
使用如下指令:

 ./tools/demo.py --net zf

 方法二: 
由于默认使用VGG16模型,所以修改为使用ZF模型。 
打开demo.py: 
 
定义了一个字典,有两个模型,VGG16和ZF。 

修改vgg16为zf,这样默认载入的就是zf的模型而不是vgg16的了。 

保存一下,可以开始测试了。 
输入指令:

cd $RCNN_ROOT
./tools/demo.py
测试结果: 
自动载入图片进行测试,识别出的东西会用红框标出。


 图像 小部件

 

 

 

 

 

 

 

 

 

我使用的是gpu版本的caffe,如果要使用CPU版本的caffe,可以参考这篇博客:ubuntu16.04+py-faster-rcnn+ZF运行demo.py 。 修改一些东西,使用步骤大致一样。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值