zhaoweicai / mscnn

Caffe implementation of our multi-scale object detection framework
404 stars 211 forks source link

error: ‘ProposalTargetParameter’ was not declared in this scope #101

Open SeanSyue opened 6 years ago

SeanSyue commented 6 years ago

My environment:

I built this program with sudo make all -j8, then I faced an error:

PROTOC src/caffe/proto/caffe.proto
CXX src/caffe/common.cpp
CXX src/caffe/syncedmem.cpp
CXX src/caffe/layer_factory.cpp
CXX src/caffe/internal_thread.cpp
CXX src/caffe/data_transformer.cpp
CXX src/caffe/util/im2col.cpp
CXX src/caffe/util/cudnn.cpp
CXX src/caffe/util/blocking_queue.cpp
CXX src/caffe/util/db.cpp
CXX src/caffe/util/io.cpp
CXX src/caffe/util/signal_handler.cpp
CXX src/caffe/util/insert_splits.cpp
CXX src/caffe/util/benchmark.cpp
CXX src/caffe/util/upgrade_proto.cpp
CXX src/caffe/util/hdf5.cpp
CXX src/caffe/util/db_lmdb.cpp
CXX src/caffe/util/db_leveldb.cpp
CXX src/caffe/util/math_functions.cpp
CXX src/caffe/parallel.cpp
CXX src/caffe/layers/eltwise_layer.cpp
CXX src/caffe/layers/lstm_unit_layer.cpp
CXX src/caffe/layers/base_data_layer.cpp
CXX src/caffe/layers/input_layer.cpp
CXX src/caffe/layers/bias_layer.cpp
CXX src/caffe/layers/threshold_layer.cpp
CXX src/caffe/layers/deconv_layer.cpp
CXX src/caffe/layers/spp_layer.cpp
CXX src/caffe/layers/base_conv_layer.cpp
CXX src/caffe/layers/swish_layer.cpp
CXX src/caffe/layers/cudnn_conv_layer.cpp
CXX src/caffe/layers/lstm_layer.cpp
CXX src/caffe/layers/data_layer.cpp
CXX src/caffe/layers/euclidean_loss_layer.cpp
CXX src/caffe/layers/slice_layer.cpp
CXX src/caffe/layers/cudnn_relu_layer.cpp
CXX src/caffe/layers/lrn_layer.cpp
CXX src/caffe/layers/hinge_loss_layer.cpp
CXX src/caffe/layers/inner_product_layer.cpp
CXX src/caffe/layers/cudnn_pooling_layer.cpp
CXX src/caffe/layers/cudnn_lcn_layer.cpp
CXX src/caffe/layers/accuracy_layer.cpp
CXX src/caffe/layers/proposal_target_layer.cpp
CXX src/caffe/layers/bbox_accuracy_layer.cpp
CXX src/caffe/layers/conv_layer.cpp
CXX src/caffe/layers/argmax_layer.cpp
src/caffe/layers/proposal_target_layer.cpp: In member function ‘virtual void caffe::ProposalTargetLayer<Dtype>::LayerSetUp(const std::vector<caffe::Blob<Dtype>*>&, const std::vector<caffe::Blob<Dtype>*>&)’:
src/caffe/layers/proposal_target_layer.cpp:22:3: error: ‘ProposalTargetParameter’ was not declared in this scope
   ProposalTargetParameter proposal_target_param = this->layer_param_.proposal_target_param();
   ^
src/caffe/layers/proposal_target_layer.cpp:23:14: error: ‘proposal_target_param’ was not declared in this scope
   cls_num_ = proposal_target_param.cls_num();
              ^
src/caffe/layers/proposal_target_layer.cpp: In instantiation of ‘void caffe::ProposalTargetLayer<Dtype>::LayerSetUp(const std::vector<caffe::Blob<Dtype>*>&, const std::vector<caffe::Blob<Dtype>*>&) [with Dtype = float]’:
src/caffe/layers/proposal_target_layer.cpp:342:1:   required from here
src/caffe/layers/proposal_target_layer.cpp:24:15: error: ‘class caffe::LayerParameter’ has no member named ‘proposal_target_param’
   batch_size_ = this->layer_param_.proposal_target_param().batch_size();
               ^
src/caffe/layers/proposal_target_layer.cpp: In instantiation of ‘void caffe::ProposalTargetLayer<Dtype>::Forward_cpu(const std::vector<caffe::Blob<Dtype>*>&, const std::vector<caffe::Blob<Dtype>*>&) [with Dtype = float]’:
src/caffe/layers/proposal_target_layer.cpp:342:1:   required from here
src/caffe/layers/proposal_target_layer.cpp:58:84: error: ‘class caffe::LayerParameter’ has no member named ‘proposal_target_param’
   const float fg_fraction = this->layer_param_.proposal_target_param().fg_fraction();
                                                                                    ^
src/caffe/layers/proposal_target_layer.cpp:60:94: error: ‘class caffe::LayerParameter’ has no member named ‘proposal_target_param’
   const int num_img_per_batch = this->layer_param_.proposal_target_param().num_img_per_batch();
                                                                                              ^
src/caffe/layers/proposal_target_layer.cpp:61:74: error: ‘class caffe::LayerParameter’ has no member named ‘proposal_target_param’
   const float fg_thr = this->layer_param_.proposal_target_param().fg_thr();
                                                                          ^
src/caffe/layers/proposal_target_layer.cpp:62:80: error: ‘class caffe::LayerParameter’ has no member named ‘proposal_target_param’
   const float bg_thr_hg = this->layer_param_.proposal_target_param().bg_thr_hg();
                                                                                ^
src/caffe/layers/proposal_target_layer.cpp:63:80: error: ‘class caffe::LayerParameter’ has no member named ‘proposal_target_param’
   const float bg_thr_lw = this->layer_param_.proposal_target_param().bg_thr_lw();
                                                                                ^
src/caffe/layers/proposal_target_layer.cpp:65:78: error: ‘class caffe::LayerParameter’ has no member named ‘proposal_target_param’
   const int img_width = this->layer_param_.proposal_target_param().img_width();
                                                                              ^
src/caffe/layers/proposal_target_layer.cpp:66:80: error: ‘class caffe::LayerParameter’ has no member named ‘proposal_target_param’
   const int img_height = this->layer_param_.proposal_target_param().img_height();
                                                                                ^
src/caffe/layers/proposal_target_layer.cpp:67:85: error: ‘class caffe::LayerParameter’ has no member named ‘proposal_target_param’
   const bool iou_weighted = this->layer_param_.proposal_target_param().iou_weighted();
                                                                                     ^
src/caffe/layers/proposal_target_layer.cpp:72:60: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
   if (this->layer_param_.bbox_reg_param().bbox_mean_size() > 0
                                                            ^
src/caffe/layers/proposal_target_layer.cpp:73:62: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
       && this->layer_param_.bbox_reg_param().bbox_std_size() > 0) {
                                                              ^
src/caffe/layers/proposal_target_layer.cpp:75:77: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
     int num_bbox_means = this->layer_param_.bbox_reg_param().bbox_mean_size();
                                                                             ^
src/caffe/layers/proposal_target_layer.cpp:76:75: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
     int num_bbox_stds = this->layer_param_.bbox_reg_param().bbox_std_size();
                                                                           ^
src/caffe/layers/proposal_target_layer.cpp:79:7: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
       bbox_means.push_back(this->layer_param_.bbox_reg_param().bbox_mean(i));
       ^
src/caffe/layers/proposal_target_layer.cpp:80:7: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
       bbox_stds.push_back(this->layer_param_.bbox_reg_param().bbox_std(i));
       ^
src/caffe/layers/proposal_target_layer.cpp:127:24: error: ‘BoxIOU’ was not declared in this scope
       float op = BoxIOU(rois_boxes[i][1], rois_boxes[i][2], rois_boxes[i][3], rois_boxes[i][4],
                        ^
src/caffe/layers/proposal_target_layer.cpp:194:26: error: ‘BoxIOU’ was not declared in this scope
         float op = BoxIOU(Dtype(bb_x), Dtype(bb_y), Dtype(bb_width), Dtype(bb_height), 
                          ^
src/caffe/layers/proposal_target_layer.cpp: In instantiation of ‘void caffe::ProposalTargetLayer<Dtype>::LayerSetUp(const std::vector<caffe::Blob<Dtype>*>&, const std::vector<caffe::Blob<Dtype>*>&) [with Dtype = double]’:
src/caffe/layers/proposal_target_layer.cpp:342:1:   required from here
src/caffe/layers/proposal_target_layer.cpp:24:15: error: ‘class caffe::LayerParameter’ has no member named ‘proposal_target_param’
   batch_size_ = this->layer_param_.proposal_target_param().batch_size();
               ^
src/caffe/layers/proposal_target_layer.cpp: In instantiation of ‘void caffe::ProposalTargetLayer<Dtype>::Forward_cpu(const std::vector<caffe::Blob<Dtype>*>&, const std::vector<caffe::Blob<Dtype>*>&) [with Dtype = double]’:
src/caffe/layers/proposal_target_layer.cpp:342:1:   required from here
src/caffe/layers/proposal_target_layer.cpp:58:84: error: ‘class caffe::LayerParameter’ has no member named ‘proposal_target_param’
   const float fg_fraction = this->layer_param_.proposal_target_param().fg_fraction();
                                                                                    ^
src/caffe/layers/proposal_target_layer.cpp:60:94: error: ‘class caffe::LayerParameter’ has no member named ‘proposal_target_param’
   const int num_img_per_batch = this->layer_param_.proposal_target_param().num_img_per_batch();
                                                                                              ^
src/caffe/layers/proposal_target_layer.cpp:61:74: error: ‘class caffe::LayerParameter’ has no member named ‘proposal_target_param’
   const float fg_thr = this->layer_param_.proposal_target_param().fg_thr();
                                                                          ^
src/caffe/layers/proposal_target_layer.cpp:62:80: error: ‘class caffe::LayerParameter’ has no member named ‘proposal_target_param’
   const float bg_thr_hg = this->layer_param_.proposal_target_param().bg_thr_hg();
                                                                                ^
src/caffe/layers/proposal_target_layer.cpp:63:80: error: ‘class caffe::LayerParameter’ has no member named ‘proposal_target_param’
   const float bg_thr_lw = this->layer_param_.proposal_target_param().bg_thr_lw();
                                                                                ^
src/caffe/layers/proposal_target_layer.cpp:65:78: error: ‘class caffe::LayerParameter’ has no member named ‘proposal_target_param’
   const int img_width = this->layer_param_.proposal_target_param().img_width();
                                                                              ^
src/caffe/layers/proposal_target_layer.cpp:66:80: error: ‘class caffe::LayerParameter’ has no member named ‘proposal_target_param’
   const int img_height = this->layer_param_.proposal_target_param().img_height();
                                                                                ^
src/caffe/layers/proposal_target_layer.cpp:67:85: error: ‘class caffe::LayerParameter’ has no member named ‘proposal_target_param’
   const bool iou_weighted = this->layer_param_.proposal_target_param().iou_weighted();
                                                                                     ^
src/caffe/layers/proposal_target_layer.cpp:72:60: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
   if (this->layer_param_.bbox_reg_param().bbox_mean_size() > 0
                                                            ^
src/caffe/layers/proposal_target_layer.cpp:73:62: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
       && this->layer_param_.bbox_reg_param().bbox_std_size() > 0) {
                                                              ^
src/caffe/layers/proposal_target_layer.cpp:75:77: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
     int num_bbox_means = this->layer_param_.bbox_reg_param().bbox_mean_size();
                                                                             ^
src/caffe/layers/proposal_target_layer.cpp:76:75: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
     int num_bbox_stds = this->layer_param_.bbox_reg_param().bbox_std_size();
                                                                           ^
src/caffe/layers/proposal_target_layer.cpp:79:7: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
       bbox_means.push_back(this->layer_param_.bbox_reg_param().bbox_mean(i));
       ^
src/caffe/layers/proposal_target_layer.cpp:80:7: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
       bbox_stds.push_back(this->layer_param_.bbox_reg_param().bbox_std(i));
       ^
src/caffe/layers/proposal_target_layer.cpp:127:24: error: ‘BoxIOU’ was not declared in this scope
       float op = BoxIOU(rois_boxes[i][1], rois_boxes[i][2], rois_boxes[i][3], rois_boxes[i][4],
                        ^
src/caffe/layers/proposal_target_layer.cpp:194:26: error: ‘BoxIOU’ was not declared in this scope
         float op = BoxIOU(Dtype(bb_x), Dtype(bb_y), Dtype(bb_width), Dtype(bb_height), 
                          ^
Makefile:575: recipe for target '.build_release/src/caffe/layers/proposal_target_layer.o' failed
make: *** [.build_release/src/caffe/layers/proposal_target_layer.o] Error 1
make: *** Waiting for unfinished jobs....
src/caffe/layers/bbox_accuracy_layer.cpp: In instantiation of ‘void caffe::BboxAccuracyLayer<Dtype>::Forward_cpu(const std::vector<caffe::Blob<Dtype>*>&, const std::vector<caffe::Blob<Dtype>*>&) [with Dtype = float]’:
src/caffe/layers/bbox_accuracy_layer.cpp:127:1:   required from here
src/caffe/layers/bbox_accuracy_layer.cpp:56:60: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
   if (this->layer_param_.bbox_reg_param().bbox_mean_size() > 0
                                                            ^
src/caffe/layers/bbox_accuracy_layer.cpp:57:62: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
       && this->layer_param_.bbox_reg_param().bbox_std_size() > 0) {
                                                              ^
src/caffe/layers/bbox_accuracy_layer.cpp:59:77: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
     int num_bbox_means = this->layer_param_.bbox_reg_param().bbox_mean_size();
                                                                             ^
src/caffe/layers/bbox_accuracy_layer.cpp:60:75: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
     int num_bbox_stds = this->layer_param_.bbox_reg_param().bbox_std_size();
                                                                           ^
src/caffe/layers/bbox_accuracy_layer.cpp:63:7: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
       bbox_means.push_back(this->layer_param_.bbox_reg_param().bbox_mean(i));
       ^
src/caffe/layers/bbox_accuracy_layer.cpp:64:7: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
       bbox_stds.push_back(this->layer_param_.bbox_reg_param().bbox_std(i));
       ^
src/caffe/layers/bbox_accuracy_layer.cpp:108:23: error: ‘BoxIOU’ was not declared in this scope
     Dtype iou = BoxIOU(tx,ty,tw,th,gt_x,gt_y,gt_w,gt_h,"IOU");
                       ^
src/caffe/layers/bbox_accuracy_layer.cpp:110:27: error: ‘BoxIOU’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
     Dtype roi_iou = BoxIOU(roi_x,roi_y,roi_w,roi_h,gt_x,gt_y,gt_w,gt_h,"IOU");
                           ^
src/caffe/layers/bbox_accuracy_layer.cpp:108:23: note: ‘BoxIOU’ declared here, later in the translation unit
     Dtype iou = BoxIOU(tx,ty,tw,th,gt_x,gt_y,gt_w,gt_h,"IOU");
                       ^
src/caffe/layers/bbox_accuracy_layer.cpp: In instantiation of ‘void caffe::BboxAccuracyLayer<Dtype>::Forward_cpu(const std::vector<caffe::Blob<Dtype>*>&, const std::vector<caffe::Blob<Dtype>*>&) [with Dtype = double]’:
src/caffe/layers/bbox_accuracy_layer.cpp:127:1:   required from here
src/caffe/layers/bbox_accuracy_layer.cpp:56:60: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
   if (this->layer_param_.bbox_reg_param().bbox_mean_size() > 0
                                                            ^
src/caffe/layers/bbox_accuracy_layer.cpp:57:62: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
       && this->layer_param_.bbox_reg_param().bbox_std_size() > 0) {
                                                              ^
src/caffe/layers/bbox_accuracy_layer.cpp:59:77: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
     int num_bbox_means = this->layer_param_.bbox_reg_param().bbox_mean_size();
                                                                             ^
src/caffe/layers/bbox_accuracy_layer.cpp:60:75: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
     int num_bbox_stds = this->layer_param_.bbox_reg_param().bbox_std_size();
                                                                           ^
src/caffe/layers/bbox_accuracy_layer.cpp:63:7: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
       bbox_means.push_back(this->layer_param_.bbox_reg_param().bbox_mean(i));
       ^
src/caffe/layers/bbox_accuracy_layer.cpp:64:7: error: ‘class caffe::LayerParameter’ has no member named ‘bbox_reg_param’
       bbox_stds.push_back(this->layer_param_.bbox_reg_param().bbox_std(i));
       ^
src/caffe/layers/bbox_accuracy_layer.cpp:108:23: error: ‘BoxIOU’ was not declared in this scope
     Dtype iou = BoxIOU(tx,ty,tw,th,gt_x,gt_y,gt_w,gt_h,"IOU");
                       ^
src/caffe/layers/bbox_accuracy_layer.cpp:110:27: error: ‘BoxIOU’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
     Dtype roi_iou = BoxIOU(roi_x,roi_y,roi_w,roi_h,gt_x,gt_y,gt_w,gt_h,"IOU");
                           ^
src/caffe/layers/bbox_accuracy_layer.cpp:108:23: note: ‘BoxIOU’ declared here, later in the translation unit
     Dtype iou = BoxIOU(tx,ty,tw,th,gt_x,gt_y,gt_w,gt_h,"IOU");
                       ^
Makefile:575: recipe for target '.build_release/src/caffe/layers/bbox_accuracy_layer.o' failed
make: *** [.build_release/src/caffe/layers/bbox_accuracy_layer.o] Error 1

Then I checked if it was an issue related to the first line of the error message. I did:

ee303@ee303-All-Series:~/WORKSPACE/mscnn$ grep -rwn . -e ProposalTargetParameter
./src/caffe/layers/proposal_target_layer.cpp:22:  ProposalTargetParameter proposal_target_param = this->layer_param_.proposal_target_param();
Binary file ./matlab/+caffe/private/.nfs000000000e1c25bc00000009 matches

Seemed that ProposalTargetParameter has not been assigned? Is there a bug or something?