Windows VS2013 将py-faster-rcnn 改写成c++版本
2018-01-23 13:21
609 查看
参考
C编写 RPN层代码
建立faster-test测试工程
测试代码
遇到的问题
[2] faster rcnn windows 下c++版本
[3] Check failed: registry.count(t ype) == 1 (0 vs. 1) Unknown layer type: Input (known types: Input )
[4]Windows下VS2013 C++编译测试faster-rcnn
通过我的上一篇博客: Windows下py-Faster rcnn的编译及遇到的问题 可以知道Windows下py-Faster rcnn的编译就是在caffe-master的编译中加入RoiPooling层,然后编译pycaffe接口后,使用python编写RPN层,nms函数进行调用。
所以py-faster-rcnn的c++化主要是在caffe中用c++来实现RPN层和nms函数,集成到libcaffe中,这样之后我们就不需要在使用python了。
编写完RPN层之后如何将RPN集成到libcaffe中,这个过程和在libcaffe中加入RoiPooling层是一样的,参考这篇:Windows下py-Faster rcnn的编译及遇到的问题
右键项目-》生成依赖项-》生成自定义-》查找现有项-》找到编译caffe-master时nuget下载的依赖,并一一添加
将caffe-master的include和cuda的include添加到包含目录中
将caffe-master编译好的Release文件夹以及cuda的lib文件夹添加到工程的库目录中
在连接器-》输入中添加依赖项
libcaffe.lib
caffe.lib
cudart.lib
cublas.lib
curand.lib
同时修改python faster rcnn中的pt文件
主要是rpn层。
测试结果如下:
http://blog.csdn.net/birdwcp/article/details/53580068
主要是在测试过程中遇到的Unknown layer type的问题,需要对layer重新注册。
C编写 RPN层代码
建立faster-test测试工程
测试代码
遇到的问题
参考:
[1] Windows下py-Faster rcnn的编译及遇到的问题[2] faster rcnn windows 下c++版本
[3] Check failed: registry.count(t ype) == 1 (0 vs. 1) Unknown layer type: Input (known types: Input )
[4]Windows下VS2013 C++编译测试faster-rcnn
通过我的上一篇博客: Windows下py-Faster rcnn的编译及遇到的问题 可以知道Windows下py-Faster rcnn的编译就是在caffe-master的编译中加入RoiPooling层,然后编译pycaffe接口后,使用python编写RPN层,nms函数进行调用。
所以py-faster-rcnn的c++化主要是在caffe中用c++来实现RPN层和nms函数,集成到libcaffe中,这样之后我们就不需要在使用python了。
1. C++编写 RPN层代码
参考这篇博客:faster rcnn windows 下c++版本编写完RPN层之后如何将RPN集成到libcaffe中,这个过程和在libcaffe中加入RoiPooling层是一样的,参考这篇:Windows下py-Faster rcnn的编译及遇到的问题
2. 建立faster-test测试工程
用VS2013建立一个空项目,首先要知道,caffe-master的所有依赖项也是你这个测试工程的依赖项,同时需要将caffe-master的include以及编译好的release下的.lib都加入到你的测试工程中。如下图:右键项目-》生成依赖项-》生成自定义-》查找现有项-》找到编译caffe-master时nuget下载的依赖,并一一添加
将caffe-master的include和cuda的include添加到包含目录中
将caffe-master编译好的Release文件夹以及cuda的lib文件夹添加到工程的库目录中
在连接器-》输入中添加依赖项
libcaffe.lib
caffe.lib
cudart.lib
cublas.lib
curand.lib
3. 测试代码
测试代码参考这篇博客:faster rcnn windows 下c++版本同时修改python faster rcnn中的pt文件
主要是rpn层。
layer { name: 'proposal' type: 'RPN' bottom: 'rpn_cls_prob_reshape' bottom: 'rpn_bbox_pred' bottom: 'im_info' top: 'rois' rpn_param{ feat_stride : 16 basesize : 16 scale : 8 scale : 16 scale : 32 ratio : 0.5 ratio : 1 ratio : 2 boxminsize :16 per_nms_topn : 0; post_nms_topn : 0; nms_thresh : 0.7; } }
测试结果如下:
4. 遇到的问题:
Check failed: registry.count(t ype) == 1 (0 vs. 1) Unknown layer type: Input (known types: Input )http://blog.csdn.net/birdwcp/article/details/53580068
主要是在测试过程中遇到的Unknown layer type的问题,需要对layer重新注册。
相关文章推荐
- Windows下VS2013 C++编译测试faster-rcnn
- Windows下VS2013 C++编译测试faster-rcnn
- Windows下VS2013 C++编译测试faster-rcnn
- Windows下VS2013 C++编译测试faster-rcnn
- Windows下VS2013 C++编译测试faster-rcnn
- Windows下VS2013 C++编译测试faster-rcnn
- Windows下VS2013 C++编译测试faster-rcnn(2017-02-26)
- 【更新】根据py-faster-rcnn的demo.py修改成c++版本
- py-faster-rcnn中demo.py代码与C++版本的代码对比: part01 铺垫, demo.py引入的模块
- py-faster-rcnn中demo.py代码与C++版本的代码对比: part02 初始化, 创建Net
- py-faster-rcnn中demo.py代码与C++版本的代码对比: part03 处理图片:减掉平均值, resize
- py-faster-rcnn中demo.py代码与C++版本的代码对比: part04 图片转存为blob
- 根据py-faster-rcnn的demo.py修改成c++版本
- py-faster-rcnn中demo.py代码与C++版本的代码对比: part05 Reshape
- py-faster-rcnn中demo.py代码与C++版本的代码对比: part06 forward, rois boxes transform
- py-faster-rcnn中demo.py代码与C++版本的代码对比: part07 nms, 获取符合条件的boxes
- Caffe: Faster-RCNN Python版本配置 (Windows)
- [目标检测]windows下实现c++版faster-rcnn
- py-faster-rcnn在Windows下的end2end训练