py-faster-rcnn 的makefile.config 注意事项

在配置py-faster-rcnn的过程中,我遇到一些问题,记录如下

py-faster-rcnn文件夹下面有一个caffe-fast-rcnn文件夹

这个过程中,我们需要编译caffe,

rbgirshick 大神的caffe和caffe官网的版本不太一样

我第一次直接照搬caffe的makefile.config,导致了很多错误

rbgirshick 大神说,需要打开 WITH_PYTHON_LAYER := 1
                     和  USE_CUDNN := 1

Note: Caffe must be built with support for Python layers!

# 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但是由于我安装的cudnn版本不对,就造成下面的报
util/cudnn.hpp: In function ‘void caffe::cudnn::createPoolingDesc(cudnnPoolingStruct**, caffe::PoolingParameter_PoolMethod, cudnnPoolingMode_t*, int, int, int, int, int, int)’:
./include/caffe/util/cudnn.hpp:117:13: error: ‘CUDNN_POOLING_AVERAGE_COUNT_INCLUDE_PADDING’ was not declared in this scope
     *mode = CUDNN_POOLING_AVERAGE_COUNT_INCLUDE_PADDING;
             ^
Makefile:510: recipe for target ‘.build_release/src/caffe/util/im2col.o‘ failed
make: *** [.build_release/src/caffe/util/im2col.o] Error 1  

这个时候,可以换cudnn的版本,这样的话,需要重新配置和编译一下caffe,我比较懒,就没这么做。
还有最简单的办法是: 直接关掉 cudnn 这样就不会报这个错误了

接着 make all
出现了下面这个错误
我在编译单独caffe的时候,就已经把opencv安装好了,按理来说不应该出现这个错误

.build_release/lib/libcaffe.so: undefined reference to `cv::imread(cv::String const&, int)‘
.build_release/lib/libcaffe.so: undefined reference to `cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)‘
.build_release/lib/libcaffe.so: undefined reference to `cv::imdecode(cv::_InputArray const&, int)‘
collect2: error: ld returned 1 exit status
make: *** [.build_release/tools/convert_imageset.bin] Error 1

我 google到了解决办法

意思就是在 makefile.config里面加一个LIBRARIES

我是这样加的  直接加在opencv下面

# Uncomment if you‘re using OpenCV 3
 OPENCV_VERSION := 3
LIBRARIES += glog gflags protobuf leveldb snappy lmdb boost_system hdf5_hl hdf5 m opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs

再make all就通过了

时间: 2024-08-04 13:20:07

py-faster-rcnn 的makefile.config 注意事项的相关文章

使用faster rcnn 跑vot2015的数据集

本周老师给的任务: 一是将VOT15数据集(世华已传到服务器上)上每个序列的第1,11,21,31,41帧分别运行Faster R-CNN检测器并保存在图片上显示的检测结果: 二是将这5帧的ground truth bounding box作为proposal得到其对应的检测器分类结果(比如网络要检测20类物体,那包括背景就是得到21类对应的检测分数值),并将每个序列的检测结果分别存成一个文本文档. 注意,使用代码的时候,可能会有路径错误,还可能是,我贴上的代码,博客园的网站给在某些语句后加了

Faster RCNN代码理解(Python)

转自http://www.infocool.net/kb/Python/201611/209696.html#原文地址 第一步,准备 从train_faster_rcnn_alt_opt.py入: 初始化参数:args = parse_args() 采用的是Python的argparse 主要有–net_name,–gpu,–cfg等(在cfg中只是修改了几个参数,其他大部分参数在congig.py中,涉及到训练整个网络). cfg_from_file(args.cfg_file) 这里便是代用

Faster rcnn代码理解(1)

这段时间看了不少论文,回头看看,感觉还是有必要将Faster rcnn的源码理解一下,毕竟后来很多方法都和它有相近之处,同时理解该框架也有助于以后自己修改和编写自己的框架.好的开始吧- 这里我们跟着Faster rcnn的训练流程来一步一步梳理,进入tools\train_faster_rcnn_alt_opt.py中: 首先从__main__入口处进入,如下: 上图中首先对终端中的命令行进行解析,获取相关的命令参数:然后利用mp.Queue()创建一个多线程的对象,再利用get_solvers

Faster RCNN算法代码解析

一. Faster-RCNN代码解释 先看看代码结构: Data: This directory holds (after you download them): Caffe models pre-trained on ImageNet Faster R-CNN models Symlinks to datasets demo 5张图片 scripts 下载模型的脚本 Experiments: logs scripts/faster_rcnn_alt_opt.sh cfgs/faster_rcn

Windows下TensorFlow+Faster Rcnn 详细安装步骤

参考:https://cloud.tencent.com/developer/news/303081 实现步骤也很简单,实现流程如下: 1.安装前准备: 安装前请确保TensorFlow和相关的依赖库安装成功 2.下载 faster rcnn程序包 连接:https://github.com/dBeker/Faster-RCNN-TensorFlow-Python3 解压,然后可以看一下里面的readme 3.安装python依赖库 注意还是要在TensorFlow虚拟环境下安装,命令: pip

faster r-cnn 在CPU配置下训练自己的数据

因为没有GPU,所以在CPU下训练自己的数据,中间遇到了各种各样的坑,还好没有放弃,特以此文记录此过程. 1.在CPU下配置faster r-cnn,参考博客:http://blog.csdn.net/wjx2012yt/article/details/52197698#quote 2.在CPU下训练数据集,需要对py-faster-rcnn内的roi_pooling_layer和smooth_L1_loss_layer改为CPU版本, 并重新编译.这位博主对其进行了修改,可直接进行替换:htt

纯C++版500VIP源码下载的Faster R-CNN(通过caffe自定义RPN层实现)

这里500VIP源码下载 dsluntan.com 介绍的是通过添加自定义层(RPN层)代替python层,实现c++版的Faster R-CNN,因为去掉python了,所以部署时不会因为牵扯到python库等其它的莫名其妙的错误,使用起来就跟单纯的caffe一样,更简单方便. 核心代码,借鉴的是这篇博客,这里的话,我们不扣具体的代码细节(比如rpn层是怎么产出候选框啊,非极大值抑制是具体怎么实现的等等),有兴趣的可以自己查下资料,所以主要是走一个步骤,从而完成c++版Faster R-CNN

【Faster RCNN】建立数据集工厂类,并注册数据集类

在Faster RCNN中,首先使用基类imdbs创建一个工厂类.然后建立自己的具体数据集的类. 然后可以将类当做为函数,使用lambda方法进行调用实例化. 在这里,我们讲解一下lambda方法: var = (lamdba para1,para2 = func(para1,para2)) 其中,var变量存储的不是func的返回.而是func本身,如果我们输出var: print(var) #<function <lambda> at 0x000001B46BF97C80> 而

Faster R-CNN论文详解

原文链接:http://lib.csdn.net/article/deeplearning/46182 paper链接:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks &创新点 设计Region Proposal Networks[RPN],利用CNN卷积操作后的特征图生成region proposals,代替了Selective Search.EdgeBoxes等方法,速度上提升明显: