我是
靠谱客的博主
个性大门,这篇文章主要介绍
pva-faster-rcnn编译cpu版本的错误,现在分享给大家,希望可以做个参考。
pva-faster-rcnn在ubuntu下编译cpu版本,在编译caffe的时候,遇到如下问题:
src/caffe/layers/proposal_layer.cpp:321:10: error: redefinition of ‘void caffe::ProposalLayer<Dtype>::Backward_gpu(const std::vector<caffe::Blob<Dtype>*>&, const std::vector<bool>&, const std::vector<caffe::Blob<Dtype>*>&)’
STUB_GPU(ProposalLayer);
^
./include/caffe/util/device_alternate.hpp:17:6: note: in definition of macro ‘STUB_GPU’
void classname<Dtype>::Backward_gpu(const vector<Blob<Dtype>*>& top,
^
In file included from src/caffe/layers/proposal_layer.cpp:1:0:
./include/caffe/fast_rcnn_layers.hpp:122:16: note: ‘virtual void caffe::ProposalLayer<Dtype>::Backward_gpu(const std::vector<caffe::Blob<Dtype>*>&, const std::vector<bool>&, const std::vector<caffe::Blob<Dtype>*>&)’ previously declared here
virtual void Backward_gpu(const vector<Blob<Dtype>*>& top,
^
Makefile:575: recipe for target '.build_release/src/caffe/layers/proposal_layer.o' failed
make: *** [.build_release/src/caffe/layers/proposal_layer.o] Error 1
make: *** Waiting for unfinished jobs....
问题原因:
由于caffe::ProposalLayer<Dtype>::Backward_gpu在./include/caffe/fast_rcnn_layers.hpp和./include/caffe/util/device_alternate.hpp(后者为模板形式)中定义了两次,被系统认为重定义。
解决方法:
将./include/caffe/fast_rcnn_layers.hpp的Backward_gpu代码
virtual void Backward_gpu(const vector<Blob<Dtype>*>& top,
const vector<bool>& propagate_down, const vector<Blob<Dtype>*>& bottom){}
修改如下
virtual void Backward_gpu(const vector<Blob<Dtype>*>& top,
const vector<bool>& propagate_down, const vector<Blob<Dtype>*>& bottom);
由于Backward_cpu只在./include/caffe/fast_rcnn_layers.hpp中定义过一次,所以一定避免对它做如上gpu的修改。
最后
以上就是个性大门最近收集整理的关于pva-faster-rcnn编译cpu版本的错误的全部内容,更多相关pva-faster-rcnn编译cpu版本内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复