Hello all,
I've noticed that Apollo recently open-sourced their customized version of Caffe with added layers and parameters in here.
Using the source code in the apollo branch of this repo, I was able to build Caffe libraries inside the Apollo docker container and replace the existing caffe libraries. But, when I try to build Apollo with bash apollo.sh build_gpu, I got error messages as below:
ERROR: /apollo/modules/perception/obstacle/camera/detector/common/BUILD:5:1: C++ compilation of rule '//modules/perception/obstacle/camera/detector/common:feature_extractor' failed (Exit 1).
modules/perception/obstacle/camera/detector/common/feature_extractor.cc: In member function 'virtual bool apollo::perception::ReorgFeatureExtractor::init(const apollo::perception::ExtractorParam&, boost::shared_ptr<caffe::Blob<float> >, int, int)':
modules/perception/obstacle/camera/detector/common/feature_extractor.cc:66:35: error: 'class caffe::LayerParameter' has no member named 'mutable_reorg_param'
auto *reorg_param = layer_param.mutable_reorg_param();
^
modules/perception/obstacle/camera/detector/common/feature_extractor.cc: In member function 'virtual bool apollo::perception::ROIPoolingFeatureExtractor::init(const apollo::perception::ExtractorParam&, boost::shared_ptr<caffe::Blob<float> >, int, int)':
modules/perception/obstacle/camera/detector/common/feature_extractor.cc:130:32: error: 'class caffe::LayerParameter' has no member named 'mutable_roi_pooling_param'
auto *rp_param = layer_param.mutable_roi_pooling_param();
From this commit, I've checked that there are some added layers and parameters, but I couldn't find anything related with mutable_reorg_param and mutable_roi_pooling_param in caffe.proto. My guess is that this Caffe is not synced with the latest Apollo source code (I'm using the master branch for Apollo).
Any tips or information would be appreciated. Thanks!
If I remember correctly, mutable_xxxx is generated by protoc.
@jilinzhou the problem is "reorg_param" and "roi_pooling_param" are NOT in caffe.proto, so mutable_xxxx are not generated
i meet the same problem, do you solve it?
@jilinzhou I did generated caffe.pb.h and caffe.pb.cc from caffe.proto using protoc. But, reorg_param and roi_pooling_param are not in caffe.proto.
@zswmr No. It seems like this Caffe is not the one being used for perception modules.
Any clarification from Apollo developers would be greatly helpful.
I think they are from this proto: https://github.com/ApolloAuto/apollo/blob/master/modules/perception/proto/rt.proto
Closing this issue as it appears to be resolved. Feel free to reopen if you have additional questions. Thanks!
Most helpful comment
@jilinzhou the problem is "reorg_param" and "roi_pooling_param" are NOT in caffe.proto, so mutable_xxxx are not generated