sanghoon / pva-faster-rcnn

Demo code for PVANet
https://arxiv.org/abs/1611.08588
Other
650 stars 241 forks source link

compiling CPU only version #68

Open grobman opened 7 years ago

grobman commented 7 years ago

Hi,

I'm trying to compile the project on a CPU only platform. Has anybody has any success doing that? I followed the suggestion for py_faster_rcnn here https://github.com/rbgirshick/py-faster-rcnn/issues/123

but when I try to do make I get the following error:

CXX src/caffe/layers/silence_layer.cpp In file included from ./include/caffe/common.hpp:19:0, from ./include/caffe/blob.hpp:8, from ./include/caffe/fast_rcnn_layers.hpp:13, from src/caffe/layers/proposal_layer.cpp:1: src/caffe/layers/proposal_layer.cpp:321:10: error: redefinition of ‘void caffe::ProposalLayer::Backward_gpu(const std::vector<caffe::Blob>&, const std::vector&, const std::vector<caffe::Blob>&)’ STUB_GPU(ProposalLayer); ^ ./include/caffe/util/device_alternate.hpp:17:6: note: in definition of macro ‘STUB_GPU’ void classname::Backward_gpu(const vector<Blob>& 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::Backward_gpu(const std::vector<caffe::Blob>&, const std::vector&, const std::vector<caffe::Blob>&)’ previously declared here virtual void Backward_gpu(const vector<Blob>& 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....

any help would be appreciated.

sevaxyz commented 7 years ago

@grobman Hello. Try changing the following line in include/caffe/fast_rcnn_layers.hpp:

virtual void Backward_gpu( const vector <Blob<Dtype> *>& top, const vector < bool > & propagate_down, const vector <Blob<Dtype> *>& bottom){}

to

virtual void Backward_gpu( const vector <Blob<Dtype> *>& top, const vector < bool > & propagate_down, const vector <Blob<Dtype> *>& bottom);

This just solved the double definition issue for me.