From 8e1837622d0701f75aad3b60794dad6068a448a0 Mon Sep 17 00:00:00 2001 From: Dmitry Kurtaev Date: Wed, 21 Mar 2018 13:23:07 +0300 Subject: [PATCH] Manage unknown protobuf fields in text --- .../src/google/protobuf/text_format.cc | 36 +- .../src/google/protobuf/text_format.h | 2 +- modules/dnn/include/opencv2/dnn/dnn.inl.hpp | 12 +- modules/dnn/misc/caffe/opencv-caffe.pb.cc | 1778 ++++------------- modules/dnn/misc/caffe/opencv-caffe.pb.h | 687 +------ modules/dnn/src/caffe/caffe_importer.cpp | 30 +- modules/dnn/src/caffe/caffe_io.cpp | 2 +- modules/dnn/src/caffe/opencv-caffe.proto | 14 - 8 files changed, 490 insertions(+), 2071 deletions(-) diff --git a/3rdparty/protobuf/src/google/protobuf/text_format.cc b/3rdparty/protobuf/src/google/protobuf/text_format.cc index eed2a768c099..78f1acd7feda 100644 --- a/3rdparty/protobuf/src/google/protobuf/text_format.cc +++ b/3rdparty/protobuf/src/google/protobuf/text_format.cc @@ -469,8 +469,9 @@ class TextFormat::Parser::ParserImpl { "\" has no field named \"" + field_name + "\"."); return false; } else { - ReportWarning("Message type \"" + descriptor->full_name() + - "\" has no field named \"" + field_name + "\"."); + // No warnings to let user define custom layers (see https://github.com/opencv/opencv/pull/11129) + // ReportWarning("Message type \"" + descriptor->full_name() + + // "\" has no field named \"" + field_name + "\"."); } } } @@ -485,10 +486,13 @@ class TextFormat::Parser::ParserImpl { // start with "{" or "<" which indicates the beginning of a message body. // If there is no ":" or there is a "{" or "<" after ":", this field has // to be a message or the input is ill-formed. + UnknownFieldSet* unknown_fields = reflection->MutableUnknownFields(message); if (TryConsume(":") && !LookingAt("{") && !LookingAt("<")) { - return SkipFieldValue(); + UnknownFieldSet* unknown_field = unknown_fields->AddGroup(unknown_fields->field_count()); + unknown_field->AddLengthDelimited(0, field_name); // Add a field's name. + return SkipFieldValue(unknown_field); } else { - return SkipFieldMessage(); + return SkipFieldMessage(unknown_fields); } } @@ -571,7 +575,7 @@ class TextFormat::Parser::ParserImpl { } // Skips the next field including the field's name and value. - bool SkipField() { + bool SkipField(UnknownFieldSet* unknown_fields) { string field_name; if (TryConsume("[")) { // Extension name. @@ -588,9 +592,11 @@ class TextFormat::Parser::ParserImpl { // If there is no ":" or there is a "{" or "<" after ":", this field has // to be a message or the input is ill-formed. if (TryConsume(":") && !LookingAt("{") && !LookingAt("<")) { - DO(SkipFieldValue()); + UnknownFieldSet* unknown_field = unknown_fields->AddGroup(unknown_fields->field_count()); + unknown_field->AddLengthDelimited(0, field_name); // Add a field's name. + DO(SkipFieldValue(unknown_field)); } else { - DO(SkipFieldMessage()); + DO(SkipFieldMessage(unknown_fields)); } // For historical reasons, fields may optionally be separated by commas or // semicolons. @@ -625,11 +631,11 @@ class TextFormat::Parser::ParserImpl { // Skips the whole body of a message including the beginning delimiter and // the ending delimiter. - bool SkipFieldMessage() { + bool SkipFieldMessage(UnknownFieldSet* unknown_fields) { string delimiter; DO(ConsumeMessageDelimiter(&delimiter)); while (!LookingAt(">") && !LookingAt("}")) { - DO(SkipField()); + DO(SkipField(unknown_fields)); } DO(Consume(delimiter)); return true; @@ -769,7 +775,7 @@ class TextFormat::Parser::ParserImpl { return true; } - bool SkipFieldValue() { + bool SkipFieldValue(UnknownFieldSet* unknown_field) { if (LookingAtType(io::Tokenizer::TYPE_STRING)) { while (LookingAtType(io::Tokenizer::TYPE_STRING)) { tokenizer_.Next(); @@ -779,9 +785,9 @@ class TextFormat::Parser::ParserImpl { if (TryConsume("[")) { while (true) { if (!LookingAt("{") && !LookingAt("<")) { - DO(SkipFieldValue()); + DO(SkipFieldValue(unknown_field)); } else { - DO(SkipFieldMessage()); + DO(SkipFieldMessage(unknown_field)); } if (TryConsume("]")) { break; @@ -833,6 +839,8 @@ class TextFormat::Parser::ParserImpl { return false; } } + // Use a tag 1 because tag 0 is used for field's name. + unknown_field->AddLengthDelimited(1, tokenizer_.current().text); tokenizer_.Next(); return true; } @@ -1298,13 +1306,13 @@ class TextFormat::Printer::TextGenerator TextFormat::Finder::~Finder() { } -TextFormat::Parser::Parser() +TextFormat::Parser::Parser(bool allow_unknown_field) : error_collector_(NULL), finder_(NULL), parse_info_tree_(NULL), allow_partial_(false), allow_case_insensitive_field_(false), - allow_unknown_field_(false), + allow_unknown_field_(allow_unknown_field), allow_unknown_enum_(false), allow_field_number_(false), allow_relaxed_whitespace_(false), diff --git a/3rdparty/protobuf/src/google/protobuf/text_format.h b/3rdparty/protobuf/src/google/protobuf/text_format.h index a2670d6bb405..74d89a5f3ed8 100644 --- a/3rdparty/protobuf/src/google/protobuf/text_format.h +++ b/3rdparty/protobuf/src/google/protobuf/text_format.h @@ -457,7 +457,7 @@ class LIBPROTOBUF_EXPORT TextFormat { // For more control over parsing, use this class. class LIBPROTOBUF_EXPORT Parser { public: - Parser(); + Parser(bool allow_unknown_field = false); ~Parser(); // Like TextFormat::Parse(). diff --git a/modules/dnn/include/opencv2/dnn/dnn.inl.hpp b/modules/dnn/include/opencv2/dnn/dnn.inl.hpp index c30185b27b4d..60ba975bd5c7 100644 --- a/modules/dnn/include/opencv2/dnn/dnn.inl.hpp +++ b/modules/dnn/include/opencv2/dnn/dnn.inl.hpp @@ -102,9 +102,13 @@ inline int64 DictValue::get(int idx) const return (int64)doubleValue; } + else if (type == Param::STRING) + { + return std::atoi((*ps)[idx].c_str()); + } else { - CV_Assert(isInt() || isReal()); + CV_Assert(isInt() || isReal() || isString()); return 0; } } @@ -146,9 +150,13 @@ inline double DictValue::get(int idx) const { return (double)(*pi)[idx]; } + else if (type == Param::STRING) + { + return std::atof((*ps)[idx].c_str()); + } else { - CV_Assert(isReal() || isInt()); + CV_Assert(isReal() || isInt() || isString()); return 0; } } diff --git a/modules/dnn/misc/caffe/opencv-caffe.pb.cc b/modules/dnn/misc/caffe/opencv-caffe.pb.cc index d6dfc7ca0e9c..af84d72279b4 100644 --- a/modules/dnn/misc/caffe/opencv-caffe.pb.cc +++ b/modules/dnn/misc/caffe/opencv-caffe.pb.cc @@ -375,16 +375,6 @@ class PSROIPoolingParameterDefaultTypeInternal { ::google::protobuf::internal::ExplicitlyConstructed _instance; } _PSROIPoolingParameter_default_instance_; -class CustomParameter_ValueDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; -} _CustomParameter_Value_default_instance_; -class CustomParameterDefaultTypeInternal { - public: - ::google::protobuf::internal::ExplicitlyConstructed - _instance; -} _CustomParameter_default_instance_; } // namespace opencv_caffe namespace protobuf_opencv_2dcaffe_2eproto { void InitDefaultsBlobShapeImpl() { @@ -747,7 +737,6 @@ void InitDefaultsLayerParameterImpl() { protobuf_opencv_2dcaffe_2eproto::InitDefaultsContrastiveLossParameter(); protobuf_opencv_2dcaffe_2eproto::InitDefaultsConvolutionParameter(); protobuf_opencv_2dcaffe_2eproto::InitDefaultsCropParameter(); - protobuf_opencv_2dcaffe_2eproto::InitDefaultsCustomParameter(); protobuf_opencv_2dcaffe_2eproto::InitDefaultsDataParameter(); protobuf_opencv_2dcaffe_2eproto::InitDefaultsDetectionOutputParameter(); protobuf_opencv_2dcaffe_2eproto::InitDefaultsDropoutParameter(); @@ -2016,50 +2005,7 @@ void InitDefaultsPSROIPoolingParameter() { ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsPSROIPoolingParameterImpl); } -void InitDefaultsCustomParameter_ValueImpl() { - GOOGLE_PROTOBUF_VERIFY_VERSION; - -#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - ::google::protobuf::internal::InitProtobufDefaultsForceUnique(); -#else - ::google::protobuf::internal::InitProtobufDefaults(); -#endif // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - { - void* ptr = &::opencv_caffe::_CustomParameter_Value_default_instance_; - new (ptr) ::opencv_caffe::CustomParameter_Value(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - ::opencv_caffe::CustomParameter_Value::InitAsDefaultInstance(); -} - -void InitDefaultsCustomParameter_Value() { - static GOOGLE_PROTOBUF_DECLARE_ONCE(once); - ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsCustomParameter_ValueImpl); -} - -void InitDefaultsCustomParameterImpl() { - GOOGLE_PROTOBUF_VERIFY_VERSION; - -#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - ::google::protobuf::internal::InitProtobufDefaultsForceUnique(); -#else - ::google::protobuf::internal::InitProtobufDefaults(); -#endif // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS - protobuf_opencv_2dcaffe_2eproto::InitDefaultsCustomParameter_Value(); - { - void* ptr = &::opencv_caffe::_CustomParameter_default_instance_; - new (ptr) ::opencv_caffe::CustomParameter(); - ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); - } - ::opencv_caffe::CustomParameter::InitAsDefaultInstance(); -} - -void InitDefaultsCustomParameter() { - static GOOGLE_PROTOBUF_DECLARE_ONCE(once); - ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsCustomParameterImpl); -} - -::google::protobuf::Metadata file_level_metadata[73]; +::google::protobuf::Metadata file_level_metadata[71]; const ::google::protobuf::EnumDescriptor* file_level_enum_descriptors[27]; const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = { @@ -2414,7 +2360,6 @@ const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUT GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::opencv_caffe::LayerParameter, contrastive_loss_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::opencv_caffe::LayerParameter, convolution_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::opencv_caffe::LayerParameter, crop_param_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::opencv_caffe::LayerParameter, custom_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::opencv_caffe::LayerParameter, data_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::opencv_caffe::LayerParameter, detection_output_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::opencv_caffe::LayerParameter, dropout_param_), @@ -2463,7 +2408,7 @@ const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUT 1, ~0u, ~0u, - 57, + 56, ~0u, ~0u, ~0u, @@ -2480,7 +2425,6 @@ const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUT 7, 8, 46, - 54, 9, 49, 10, @@ -2509,13 +2453,13 @@ const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUT 33, 52, 53, - 55, + 54, 32, 48, 38, 25, 35, - 56, + 55, 44, 26, 27, @@ -3398,32 +3342,6 @@ const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUT 0, 1, 2, - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::opencv_caffe::CustomParameter_Value, _has_bits_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::opencv_caffe::CustomParameter_Value, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::opencv_caffe::CustomParameter_Value, name_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::opencv_caffe::CustomParameter_Value, i_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::opencv_caffe::CustomParameter_Value, ui_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::opencv_caffe::CustomParameter_Value, f_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::opencv_caffe::CustomParameter_Value, d_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::opencv_caffe::CustomParameter_Value, b_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::opencv_caffe::CustomParameter_Value, s_), - 0, - 2, - 3, - 5, - 4, - 6, - 1, - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::opencv_caffe::CustomParameter, _has_bits_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::opencv_caffe::CustomParameter, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::opencv_caffe::CustomParameter, value_), - ~0u, }; static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = { { 0, 6, sizeof(::opencv_caffe::BlobShape)}, @@ -3441,64 +3359,62 @@ static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_PROT { 286, 294, sizeof(::opencv_caffe::NetState)}, { 297, 307, sizeof(::opencv_caffe::NetStateRule)}, { 312, 321, sizeof(::opencv_caffe::ParamSpec)}, - { 325, 396, sizeof(::opencv_caffe::LayerParameter)}, - { 462, 474, sizeof(::opencv_caffe::TransformationParameter)}, - { 481, 489, sizeof(::opencv_caffe::LossParameter)}, - { 492, 500, sizeof(::opencv_caffe::AccuracyParameter)}, - { 503, 511, sizeof(::opencv_caffe::ArgMaxParameter)}, - { 514, 521, sizeof(::opencv_caffe::ConcatParameter)}, - { 523, 532, sizeof(::opencv_caffe::BatchNormParameter)}, - { 536, 544, sizeof(::opencv_caffe::BiasParameter)}, - { 547, 554, sizeof(::opencv_caffe::ContrastiveLossParameter)}, - { 556, 579, sizeof(::opencv_caffe::ConvolutionParameter)}, - { 597, 604, sizeof(::opencv_caffe::CropParameter)}, - { 606, 621, sizeof(::opencv_caffe::DataParameter)}, - { 631, 639, sizeof(::opencv_caffe::NonMaximumSuppressionParameter)}, - { 642, 653, sizeof(::opencv_caffe::SaveOutputParameter)}, - { 659, 666, sizeof(::opencv_caffe::DropoutParameter)}, - { 668, 679, sizeof(::opencv_caffe::DummyDataParameter)}, - { 685, 693, sizeof(::opencv_caffe::EltwiseParameter)}, - { 696, 702, sizeof(::opencv_caffe::ELUParameter)}, - { 703, 713, sizeof(::opencv_caffe::EmbedParameter)}, - { 718, 726, sizeof(::opencv_caffe::ExpParameter)}, - { 729, 736, sizeof(::opencv_caffe::FlattenParameter)}, - { 738, 746, sizeof(::opencv_caffe::HDF5DataParameter)}, - { 749, 755, sizeof(::opencv_caffe::HDF5OutputParameter)}, - { 756, 762, sizeof(::opencv_caffe::HingeLossParameter)}, - { 763, 780, sizeof(::opencv_caffe::ImageDataParameter)}, - { 792, 798, sizeof(::opencv_caffe::InfogainLossParameter)}, - { 799, 810, sizeof(::opencv_caffe::InnerProductParameter)}, - { 816, 822, sizeof(::opencv_caffe::InputParameter)}, - { 823, 831, sizeof(::opencv_caffe::LogParameter)}, - { 834, 845, sizeof(::opencv_caffe::LRNParameter)}, - { 851, 860, sizeof(::opencv_caffe::MemoryDataParameter)}, - { 864, 872, sizeof(::opencv_caffe::MVNParameter)}, - { 875, 881, sizeof(::opencv_caffe::ParameterParameter)}, - { 882, 900, sizeof(::opencv_caffe::PoolingParameter)}, - { 913, 921, sizeof(::opencv_caffe::PowerParameter)}, - { 924, 933, sizeof(::opencv_caffe::PythonParameter)}, - { 937, 947, sizeof(::opencv_caffe::RecurrentParameter)}, - { 952, 960, sizeof(::opencv_caffe::ReductionParameter)}, - { 963, 970, sizeof(::opencv_caffe::ReLUParameter)}, - { 972, 980, sizeof(::opencv_caffe::ReshapeParameter)}, - { 983, 993, sizeof(::opencv_caffe::ScaleParameter)}, - { 998, 1004, sizeof(::opencv_caffe::SigmoidParameter)}, - { 1005, 1013, sizeof(::opencv_caffe::SliceParameter)}, - { 1016, 1023, sizeof(::opencv_caffe::SoftmaxParameter)}, - { 1025, 1031, sizeof(::opencv_caffe::TanHParameter)}, - { 1032, 1039, sizeof(::opencv_caffe::TileParameter)}, - { 1041, 1047, sizeof(::opencv_caffe::ThresholdParameter)}, - { 1048, 1066, sizeof(::opencv_caffe::WindowDataParameter)}, - { 1079, 1087, sizeof(::opencv_caffe::SPPParameter)}, - { 1090, 1138, sizeof(::opencv_caffe::V1LayerParameter)}, - { 1181, 1224, sizeof(::opencv_caffe::V0LayerParameter)}, - { 1262, 1269, sizeof(::opencv_caffe::PReLUParameter)}, - { 1271, 1284, sizeof(::opencv_caffe::NormalizedBBox)}, - { 1292, 1300, sizeof(::opencv_caffe::ROIPoolingParameter)}, - { 1303, 1316, sizeof(::opencv_caffe::ProposalParameter)}, - { 1324, 1332, sizeof(::opencv_caffe::PSROIPoolingParameter)}, - { 1335, 1347, sizeof(::opencv_caffe::CustomParameter_Value)}, - { 1354, 1360, sizeof(::opencv_caffe::CustomParameter)}, + { 325, 395, sizeof(::opencv_caffe::LayerParameter)}, + { 460, 472, sizeof(::opencv_caffe::TransformationParameter)}, + { 479, 487, sizeof(::opencv_caffe::LossParameter)}, + { 490, 498, sizeof(::opencv_caffe::AccuracyParameter)}, + { 501, 509, sizeof(::opencv_caffe::ArgMaxParameter)}, + { 512, 519, sizeof(::opencv_caffe::ConcatParameter)}, + { 521, 530, sizeof(::opencv_caffe::BatchNormParameter)}, + { 534, 542, sizeof(::opencv_caffe::BiasParameter)}, + { 545, 552, sizeof(::opencv_caffe::ContrastiveLossParameter)}, + { 554, 577, sizeof(::opencv_caffe::ConvolutionParameter)}, + { 595, 602, sizeof(::opencv_caffe::CropParameter)}, + { 604, 619, sizeof(::opencv_caffe::DataParameter)}, + { 629, 637, sizeof(::opencv_caffe::NonMaximumSuppressionParameter)}, + { 640, 651, sizeof(::opencv_caffe::SaveOutputParameter)}, + { 657, 664, sizeof(::opencv_caffe::DropoutParameter)}, + { 666, 677, sizeof(::opencv_caffe::DummyDataParameter)}, + { 683, 691, sizeof(::opencv_caffe::EltwiseParameter)}, + { 694, 700, sizeof(::opencv_caffe::ELUParameter)}, + { 701, 711, sizeof(::opencv_caffe::EmbedParameter)}, + { 716, 724, sizeof(::opencv_caffe::ExpParameter)}, + { 727, 734, sizeof(::opencv_caffe::FlattenParameter)}, + { 736, 744, sizeof(::opencv_caffe::HDF5DataParameter)}, + { 747, 753, sizeof(::opencv_caffe::HDF5OutputParameter)}, + { 754, 760, sizeof(::opencv_caffe::HingeLossParameter)}, + { 761, 778, sizeof(::opencv_caffe::ImageDataParameter)}, + { 790, 796, sizeof(::opencv_caffe::InfogainLossParameter)}, + { 797, 808, sizeof(::opencv_caffe::InnerProductParameter)}, + { 814, 820, sizeof(::opencv_caffe::InputParameter)}, + { 821, 829, sizeof(::opencv_caffe::LogParameter)}, + { 832, 843, sizeof(::opencv_caffe::LRNParameter)}, + { 849, 858, sizeof(::opencv_caffe::MemoryDataParameter)}, + { 862, 870, sizeof(::opencv_caffe::MVNParameter)}, + { 873, 879, sizeof(::opencv_caffe::ParameterParameter)}, + { 880, 898, sizeof(::opencv_caffe::PoolingParameter)}, + { 911, 919, sizeof(::opencv_caffe::PowerParameter)}, + { 922, 931, sizeof(::opencv_caffe::PythonParameter)}, + { 935, 945, sizeof(::opencv_caffe::RecurrentParameter)}, + { 950, 958, sizeof(::opencv_caffe::ReductionParameter)}, + { 961, 968, sizeof(::opencv_caffe::ReLUParameter)}, + { 970, 978, sizeof(::opencv_caffe::ReshapeParameter)}, + { 981, 991, sizeof(::opencv_caffe::ScaleParameter)}, + { 996, 1002, sizeof(::opencv_caffe::SigmoidParameter)}, + { 1003, 1011, sizeof(::opencv_caffe::SliceParameter)}, + { 1014, 1021, sizeof(::opencv_caffe::SoftmaxParameter)}, + { 1023, 1029, sizeof(::opencv_caffe::TanHParameter)}, + { 1030, 1037, sizeof(::opencv_caffe::TileParameter)}, + { 1039, 1045, sizeof(::opencv_caffe::ThresholdParameter)}, + { 1046, 1064, sizeof(::opencv_caffe::WindowDataParameter)}, + { 1077, 1085, sizeof(::opencv_caffe::SPPParameter)}, + { 1088, 1136, sizeof(::opencv_caffe::V1LayerParameter)}, + { 1179, 1222, sizeof(::opencv_caffe::V0LayerParameter)}, + { 1260, 1267, sizeof(::opencv_caffe::PReLUParameter)}, + { 1269, 1282, sizeof(::opencv_caffe::NormalizedBBox)}, + { 1290, 1298, sizeof(::opencv_caffe::ROIPoolingParameter)}, + { 1301, 1314, sizeof(::opencv_caffe::ProposalParameter)}, + { 1322, 1330, sizeof(::opencv_caffe::PSROIPoolingParameter)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -3573,8 +3489,6 @@ static ::google::protobuf::Message const * const file_default_instances[] = { reinterpret_cast(&::opencv_caffe::_ROIPoolingParameter_default_instance_), reinterpret_cast(&::opencv_caffe::_ProposalParameter_default_instance_), reinterpret_cast(&::opencv_caffe::_PSROIPoolingParameter_default_instance_), - reinterpret_cast(&::opencv_caffe::_CustomParameter_Value_default_instance_), - reinterpret_cast(&::opencv_caffe::_CustomParameter_default_instance_), }; void protobuf_AssignDescriptors() { @@ -3593,7 +3507,7 @@ void protobuf_AssignDescriptorsOnce() { void protobuf_RegisterTypes(const ::std::string&) GOOGLE_PROTOBUF_ATTRIBUTE_COLD; void protobuf_RegisterTypes(const ::std::string&) { protobuf_AssignDescriptorsOnce(); - ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 73); + ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 71); } void AddDescriptorsImpl() { @@ -3698,7 +3612,7 @@ void AddDescriptorsImpl() { "e_mode\030\002 \001(\0162$.opencv_caffe.ParamSpec.Di" "mCheckMode\022\022\n\007lr_mult\030\003 \001(\002:\0011\022\025\n\ndecay_" "mult\030\004 \001(\002:\0011\"*\n\014DimCheckMode\022\n\n\006STRICT\020" - "\000\022\016\n\nPERMISSIVE\020\001\"\331\032\n\016LayerParameter\022\014\n\004" + "\000\022\016\n\nPERMISSIVE\020\001\"\243\032\n\016LayerParameter\022\014\n\004" "name\030\001 \001(\t\022\014\n\004type\030\002 \001(\t\022\016\n\006bottom\030\003 \003(\t" "\022\013\n\003top\030\004 \003(\t\022\"\n\005phase\030\n \001(\0162\023.opencv_ca" "ffe.Phase\022\023\n\013loss_weight\030\005 \003(\002\022&\n\005param\030" @@ -3720,365 +3634,359 @@ void AddDescriptorsImpl() { "\001(\0132&.opencv_caffe.ContrastiveLossParame" "ter\022=\n\021convolution_param\030j \001(\0132\".opencv_" "caffe.ConvolutionParameter\0220\n\ncrop_param" - "\030\220\001 \001(\0132\033.opencv_caffe.CropParameter\0224\n\014" - "custom_param\030\312\001 \001(\0132\035.opencv_caffe.Custo" - "mParameter\022/\n\ndata_param\030k \001(\0132\033.opencv_" - "caffe.DataParameter\022G\n\026detection_output_" - "param\030\223\001 \001(\0132&.opencv_caffe.DetectionOut" - "putParameter\0225\n\rdropout_param\030l \001(\0132\036.op" - "encv_caffe.DropoutParameter\022:\n\020dummy_dat" - "a_param\030m \001(\0132 .opencv_caffe.DummyDataPa" - "rameter\0225\n\reltwise_param\030n \001(\0132\036.opencv_" - "caffe.EltwiseParameter\022.\n\telu_param\030\214\001 \001" - "(\0132\032.opencv_caffe.ELUParameter\0222\n\013embed_" - "param\030\211\001 \001(\0132\034.opencv_caffe.EmbedParamet" - "er\022-\n\texp_param\030o \001(\0132\032.opencv_caffe.Exp" - "Parameter\0226\n\rflatten_param\030\207\001 \001(\0132\036.open" - "cv_caffe.FlattenParameter\0228\n\017hdf5_data_p" - "aram\030p \001(\0132\037.opencv_caffe.HDF5DataParame" - "ter\022<\n\021hdf5_output_param\030q \001(\0132!.opencv_" - "caffe.HDF5OutputParameter\022:\n\020hinge_loss_" - "param\030r \001(\0132 .opencv_caffe.HingeLossPara" - "meter\022:\n\020image_data_param\030s \001(\0132 .opencv" - "_caffe.ImageDataParameter\022@\n\023infogain_lo" - "ss_param\030t \001(\0132#.opencv_caffe.InfogainLo" - "ssParameter\022@\n\023inner_product_param\030u \001(\013" - "2#.opencv_caffe.InnerProductParameter\0222\n" - "\013input_param\030\217\001 \001(\0132\034.opencv_caffe.Input" - "Parameter\022.\n\tlog_param\030\206\001 \001(\0132\032.opencv_c" - "affe.LogParameter\022-\n\tlrn_param\030v \001(\0132\032.o" - "pencv_caffe.LRNParameter\022<\n\021memory_data_" - "param\030w \001(\0132!.opencv_caffe.MemoryDataPar" - "ameter\022-\n\tmvn_param\030x \001(\0132\032.opencv_caffe" - ".MVNParameter\0229\n\nnorm_param\030\225\001 \001(\0132$.ope" - "ncv_caffe.NormalizeBBoxParameter\0226\n\rperm" - "ute_param\030\224\001 \001(\0132\036.opencv_caffe.PermuteP" - "arameter\022:\n\017parameter_param\030\221\001 \001(\0132 .ope" - "ncv_caffe.ParameterParameter\0225\n\rpooling_" - "param\030y \001(\0132\036.opencv_caffe.PoolingParame" - "ter\0221\n\013power_param\030z \001(\0132\034.opencv_caffe." - "PowerParameter\0222\n\013prelu_param\030\203\001 \001(\0132\034.o" - "pencv_caffe.PReLUParameter\0229\n\017prior_box_" - "param\030\226\001 \001(\0132\037.opencv_caffe.PriorBoxPara" - "meter\0228\n\016proposal_param\030\311\001 \001(\0132\037.opencv_" - "caffe.ProposalParameter\022A\n\023psroi_pooling" - "_param\030\222N \001(\0132#.opencv_caffe.PSROIPoolin" - "gParameter\0224\n\014python_param\030\202\001 \001(\0132\035.open" - "cv_caffe.PythonParameter\022:\n\017recurrent_pa" - "ram\030\222\001 \001(\0132 .opencv_caffe.RecurrentParam" - "eter\022:\n\017reduction_param\030\210\001 \001(\0132 .opencv_" - "caffe.ReductionParameter\022/\n\nrelu_param\030{" - " \001(\0132\033.opencv_caffe.ReLUParameter\0226\n\rres" - "hape_param\030\205\001 \001(\0132\036.opencv_caffe.Reshape" - "Parameter\022\?\n\021roi_pooling_param\030\327\307\370\003 \001(\0132" - "!.opencv_caffe.ROIPoolingParameter\0222\n\013sc" - "ale_param\030\216\001 \001(\0132\034.opencv_caffe.ScalePar" - "ameter\0225\n\rsigmoid_param\030| \001(\0132\036.opencv_c" - "affe.SigmoidParameter\0225\n\rsoftmax_param\030}" - " \001(\0132\036.opencv_caffe.SoftmaxParameter\022.\n\t" - "spp_param\030\204\001 \001(\0132\032.opencv_caffe.SPPParam" - "eter\0221\n\013slice_param\030~ \001(\0132\034.opencv_caffe" - ".SliceParameter\022/\n\ntanh_param\030\177 \001(\0132\033.op" - "encv_caffe.TanHParameter\022:\n\017threshold_pa" - "ram\030\200\001 \001(\0132 .opencv_caffe.ThresholdParam" - "eter\0220\n\ntile_param\030\212\001 \001(\0132\033.opencv_caffe" - ".TileParameter\022=\n\021window_data_param\030\201\001 \001" - "(\0132!.opencv_caffe.WindowDataParameter\"\266\001" - "\n\027TransformationParameter\022\020\n\005scale\030\001 \001(\002" - ":\0011\022\025\n\006mirror\030\002 \001(\010:\005false\022\024\n\tcrop_size\030" - "\003 \001(\r:\0010\022\021\n\tmean_file\030\004 \001(\t\022\022\n\nmean_valu" - "e\030\005 \003(\002\022\032\n\013force_color\030\006 \001(\010:\005false\022\031\n\nf" - "orce_gray\030\007 \001(\010:\005false\"\311\001\n\rLossParameter" - "\022\024\n\014ignore_label\030\001 \001(\005\022K\n\rnormalization\030" - "\003 \001(\0162-.opencv_caffe.LossParameter.Norma" - "lizationMode:\005VALID\022\021\n\tnormalize\030\002 \001(\010\"B" - "\n\021NormalizationMode\022\010\n\004FULL\020\000\022\t\n\005VALID\020\001" - "\022\016\n\nBATCH_SIZE\020\002\022\010\n\004NONE\020\003\"L\n\021AccuracyPa" - "rameter\022\020\n\005top_k\030\001 \001(\r:\0011\022\017\n\004axis\030\002 \001(\005:" - "\0011\022\024\n\014ignore_label\030\003 \001(\005\"M\n\017ArgMaxParame" - "ter\022\032\n\013out_max_val\030\001 \001(\010:\005false\022\020\n\005top_k" - "\030\002 \001(\r:\0011\022\014\n\004axis\030\003 \001(\005\"9\n\017ConcatParamet" - "er\022\017\n\004axis\030\002 \001(\005:\0011\022\025\n\nconcat_dim\030\001 \001(\r:" - "\0011\"\205\001\n\022BatchNormParameter\022\030\n\020use_global_" - "stats\030\001 \001(\010\022&\n\027moving_average_fraction\030\002" - " \001(\002:\0050.999\022\022\n\003eps\030\003 \001(\002:\0051e-05\022\031\n\nscale" - "_bias\030\007 \001(\010:\005false\"d\n\rBiasParameter\022\017\n\004a" - "xis\030\001 \001(\005:\0011\022\023\n\010num_axes\030\002 \001(\005:\0011\022-\n\006fil" - "ler\030\003 \001(\0132\035.opencv_caffe.FillerParameter" - "\"L\n\030ContrastiveLossParameter\022\021\n\006margin\030\001" - " \001(\002:\0011\022\035\n\016legacy_version\030\002 \001(\010:\005false\"\221" - "\004\n\024ConvolutionParameter\022\022\n\nnum_output\030\001 " - "\001(\r\022\027\n\tbias_term\030\002 \001(\010:\004true\022\013\n\003pad\030\003 \003(" - "\r\022\023\n\013kernel_size\030\004 \003(\r\022\016\n\006stride\030\006 \003(\r\022\020" - "\n\010dilation\030\022 \003(\r\022\020\n\005pad_h\030\t \001(\r:\0010\022\020\n\005pa" - "d_w\030\n \001(\r:\0010\022\020\n\010kernel_h\030\013 \001(\r\022\020\n\010kernel" - "_w\030\014 \001(\r\022\020\n\010stride_h\030\r \001(\r\022\020\n\010stride_w\030\016" - " \001(\r\022\020\n\005group\030\005 \001(\r:\0011\0224\n\rweight_filler\030" - "\007 \001(\0132\035.opencv_caffe.FillerParameter\0222\n\013" - "bias_filler\030\010 \001(\0132\035.opencv_caffe.FillerP" - "arameter\022B\n\006engine\030\017 \001(\0162).opencv_caffe." - "ConvolutionParameter.Engine:\007DEFAULT\022\017\n\004" - "axis\030\020 \001(\005:\0011\022\036\n\017force_nd_im2col\030\021 \001(\010:\005" - "false\"+\n\006Engine\022\013\n\007DEFAULT\020\000\022\t\n\005CAFFE\020\001\022" - "\t\n\005CUDNN\020\002\"0\n\rCropParameter\022\017\n\004axis\030\001 \001(" - "\005:\0012\022\016\n\006offset\030\002 \003(\r\"\253\002\n\rDataParameter\022\016" - "\n\006source\030\001 \001(\t\022\022\n\nbatch_size\030\004 \001(\r\022\024\n\tra" - "nd_skip\030\007 \001(\r:\0010\0228\n\007backend\030\010 \001(\0162\036.open" - "cv_caffe.DataParameter.DB:\007LEVELDB\022\020\n\005sc" - "ale\030\002 \001(\002:\0011\022\021\n\tmean_file\030\003 \001(\t\022\024\n\tcrop_" - "size\030\005 \001(\r:\0010\022\025\n\006mirror\030\006 \001(\010:\005false\022\"\n\023" - "force_encoded_color\030\t \001(\010:\005false\022\023\n\010pref" - "etch\030\n \001(\r:\0014\"\033\n\002DB\022\013\n\007LEVELDB\020\000\022\010\n\004LMDB" - "\020\001\"[\n\036NonMaximumSuppressionParameter\022\032\n\r" - "nms_threshold\030\001 \001(\002:\0030.3\022\r\n\005top_k\030\002 \001(\005\022" - "\016\n\003eta\030\003 \001(\002:\0011\"\252\001\n\023SaveOutputParameter\022" - "\030\n\020output_directory\030\001 \001(\t\022\032\n\022output_name" - "_prefix\030\002 \001(\t\022\025\n\routput_format\030\003 \001(\t\022\026\n\016" - "label_map_file\030\004 \001(\t\022\026\n\016name_size_file\030\005" - " \001(\t\022\026\n\016num_test_image\030\006 \001(\r\"I\n\020DropoutP" - "arameter\022\032\n\rdropout_ratio\030\001 \001(\002:\0030.5\022\031\n\013" - "scale_train\030\002 \001(\010:\004true\"\256\001\n\022DummyDataPar" - "ameter\0222\n\013data_filler\030\001 \003(\0132\035.opencv_caf" - "fe.FillerParameter\022&\n\005shape\030\006 \003(\0132\027.open" - "cv_caffe.BlobShape\022\013\n\003num\030\002 \003(\r\022\020\n\010chann" - "els\030\003 \003(\r\022\016\n\006height\030\004 \003(\r\022\r\n\005width\030\005 \003(\r" - "\"\254\001\n\020EltwiseParameter\022@\n\toperation\030\001 \001(\016" - "2(.opencv_caffe.EltwiseParameter.Eltwise" - "Op:\003SUM\022\r\n\005coeff\030\002 \003(\002\022\036\n\020stable_prod_gr" - "ad\030\003 \001(\010:\004true\"\'\n\tEltwiseOp\022\010\n\004PROD\020\000\022\007\n" - "\003SUM\020\001\022\007\n\003MAX\020\002\" \n\014ELUParameter\022\020\n\005alpha" - "\030\001 \001(\002:\0011\"\272\001\n\016EmbedParameter\022\022\n\nnum_outp" - "ut\030\001 \001(\r\022\021\n\tinput_dim\030\002 \001(\r\022\027\n\tbias_term" - "\030\003 \001(\010:\004true\0224\n\rweight_filler\030\004 \001(\0132\035.op" - "encv_caffe.FillerParameter\0222\n\013bias_fille" - "r\030\005 \001(\0132\035.opencv_caffe.FillerParameter\"D" - "\n\014ExpParameter\022\020\n\004base\030\001 \001(\002:\002-1\022\020\n\005scal" - "e\030\002 \001(\002:\0011\022\020\n\005shift\030\003 \001(\002:\0010\"9\n\020FlattenP" - "arameter\022\017\n\004axis\030\001 \001(\005:\0011\022\024\n\010end_axis\030\002 " - "\001(\005:\002-1\"O\n\021HDF5DataParameter\022\016\n\006source\030\001" - " \001(\t\022\022\n\nbatch_size\030\002 \001(\r\022\026\n\007shuffle\030\003 \001(" - "\010:\005false\"(\n\023HDF5OutputParameter\022\021\n\tfile_" - "name\030\001 \001(\t\"e\n\022HingeLossParameter\0227\n\004norm" - "\030\001 \001(\0162%.opencv_caffe.HingeLossParameter" - ".Norm:\002L1\"\026\n\004Norm\022\006\n\002L1\020\001\022\006\n\002L2\020\002\"\227\002\n\022Im" - "ageDataParameter\022\016\n\006source\030\001 \001(\t\022\025\n\nbatc" - "h_size\030\004 \001(\r:\0011\022\024\n\trand_skip\030\007 \001(\r:\0010\022\026\n" - "\007shuffle\030\010 \001(\010:\005false\022\025\n\nnew_height\030\t \001(" - "\r:\0010\022\024\n\tnew_width\030\n \001(\r:\0010\022\026\n\010is_color\030\013" - " \001(\010:\004true\022\020\n\005scale\030\002 \001(\002:\0011\022\021\n\tmean_fil" - "e\030\003 \001(\t\022\024\n\tcrop_size\030\005 \001(\r:\0010\022\025\n\006mirror\030" - "\006 \001(\010:\005false\022\025\n\013root_folder\030\014 \001(\t:\000\"\'\n\025I" - "nfogainLossParameter\022\016\n\006source\030\001 \001(\t\"\331\001\n" - "\025InnerProductParameter\022\022\n\nnum_output\030\001 \001" - "(\r\022\027\n\tbias_term\030\002 \001(\010:\004true\0224\n\rweight_fi" - "ller\030\003 \001(\0132\035.opencv_caffe.FillerParamete" - "r\0222\n\013bias_filler\030\004 \001(\0132\035.opencv_caffe.Fi" - "llerParameter\022\017\n\004axis\030\005 \001(\005:\0011\022\030\n\ttransp" - "ose\030\006 \001(\010:\005false\"8\n\016InputParameter\022&\n\005sh" - "ape\030\001 \003(\0132\027.opencv_caffe.BlobShape\"D\n\014Lo" - "gParameter\022\020\n\004base\030\001 \001(\002:\002-1\022\020\n\005scale\030\002 " - "\001(\002:\0011\022\020\n\005shift\030\003 \001(\002:\0010\"\306\002\n\014LRNParamete" - "r\022\025\n\nlocal_size\030\001 \001(\r:\0015\022\020\n\005alpha\030\002 \001(\002:" - "\0011\022\022\n\004beta\030\003 \001(\002:\0040.75\022K\n\013norm_region\030\004 " - "\001(\0162%.opencv_caffe.LRNParameter.NormRegi" - "on:\017ACROSS_CHANNELS\022\014\n\001k\030\005 \001(\002:\0011\022:\n\006eng" - "ine\030\006 \001(\0162!.opencv_caffe.LRNParameter.En" - "gine:\007DEFAULT\"5\n\nNormRegion\022\023\n\017ACROSS_CH" - "ANNELS\020\000\022\022\n\016WITHIN_CHANNEL\020\001\"+\n\006Engine\022\013" - "\n\007DEFAULT\020\000\022\t\n\005CAFFE\020\001\022\t\n\005CUDNN\020\002\"Z\n\023Mem" - "oryDataParameter\022\022\n\nbatch_size\030\001 \001(\r\022\020\n\010" - "channels\030\002 \001(\r\022\016\n\006height\030\003 \001(\r\022\r\n\005width\030" - "\004 \001(\r\"d\n\014MVNParameter\022 \n\022normalize_varia" - "nce\030\001 \001(\010:\004true\022\036\n\017across_channels\030\002 \001(\010" - ":\005false\022\022\n\003eps\030\003 \001(\002:\0051e-09\"<\n\022Parameter" - "Parameter\022&\n\005shape\030\001 \001(\0132\027.opencv_caffe." - "BlobShape\"\311\003\n\020PoolingParameter\022<\n\004pool\030\001" - " \001(\0162).opencv_caffe.PoolingParameter.Poo" - "lMethod:\003MAX\022\016\n\003pad\030\004 \001(\r:\0010\022\020\n\005pad_h\030\t " - "\001(\r:\0010\022\020\n\005pad_w\030\n \001(\r:\0010\022\023\n\013kernel_size\030" - "\002 \001(\r\022\020\n\010kernel_h\030\005 \001(\r\022\020\n\010kernel_w\030\006 \001(" - "\r\022\021\n\006stride\030\003 \001(\r:\0011\022\020\n\010stride_h\030\007 \001(\r\022\020" - "\n\010stride_w\030\010 \001(\r\022>\n\006engine\030\013 \001(\0162%.openc" - "v_caffe.PoolingParameter.Engine:\007DEFAULT" - "\022\035\n\016global_pooling\030\014 \001(\010:\005false\022\027\n\tceil_" - "mode\030\r \001(\010:\004true\".\n\nPoolMethod\022\007\n\003MAX\020\000\022" - "\007\n\003AVE\020\001\022\016\n\nSTOCHASTIC\020\002\"+\n\006Engine\022\013\n\007DE" - "FAULT\020\000\022\t\n\005CAFFE\020\001\022\t\n\005CUDNN\020\002\"F\n\016PowerPa" - "rameter\022\020\n\005power\030\001 \001(\002:\0011\022\020\n\005scale\030\002 \001(\002" - ":\0011\022\020\n\005shift\030\003 \001(\002:\0010\"g\n\017PythonParameter" - "\022\016\n\006module\030\001 \001(\t\022\r\n\005layer\030\002 \001(\t\022\023\n\tparam" - "_str\030\003 \001(\t:\000\022 \n\021share_in_parallel\030\004 \001(\010:" - "\005false\"\316\001\n\022RecurrentParameter\022\025\n\nnum_out" - "put\030\001 \001(\r:\0010\0224\n\rweight_filler\030\002 \001(\0132\035.op" - "encv_caffe.FillerParameter\0222\n\013bias_fille" - "r\030\003 \001(\0132\035.opencv_caffe.FillerParameter\022\031" - "\n\ndebug_info\030\004 \001(\010:\005false\022\034\n\rexpose_hidd" - "en\030\005 \001(\010:\005false\"\264\001\n\022ReductionParameter\022D" - "\n\toperation\030\001 \001(\0162,.opencv_caffe.Reducti" - "onParameter.ReductionOp:\003SUM\022\017\n\004axis\030\002 \001" - "(\005:\0010\022\020\n\005coeff\030\003 \001(\002:\0011\"5\n\013ReductionOp\022\007" - "\n\003SUM\020\001\022\010\n\004ASUM\020\002\022\t\n\005SUMSQ\020\003\022\010\n\004MEAN\020\004\"\224" - "\001\n\rReLUParameter\022\031\n\016negative_slope\030\001 \001(\002" - ":\0010\022;\n\006engine\030\002 \001(\0162\".opencv_caffe.ReLUP" - "arameter.Engine:\007DEFAULT\"+\n\006Engine\022\013\n\007DE" - "FAULT\020\000\022\t\n\005CAFFE\020\001\022\t\n\005CUDNN\020\002\"a\n\020Reshape" - "Parameter\022&\n\005shape\030\001 \001(\0132\027.opencv_caffe." - "BlobShape\022\017\n\004axis\030\002 \001(\005:\0010\022\024\n\010num_axes\030\003" - " \001(\005:\002-1\"\263\001\n\016ScaleParameter\022\017\n\004axis\030\001 \001(" - "\005:\0011\022\023\n\010num_axes\030\002 \001(\005:\0011\022-\n\006filler\030\003 \001(" - "\0132\035.opencv_caffe.FillerParameter\022\030\n\tbias" - "_term\030\004 \001(\010:\005false\0222\n\013bias_filler\030\005 \001(\0132" - "\035.opencv_caffe.FillerParameter\"\177\n\020Sigmoi" - "dParameter\022>\n\006engine\030\001 \001(\0162%.opencv_caff" - "e.SigmoidParameter.Engine:\007DEFAULT\"+\n\006En" - "gine\022\013\n\007DEFAULT\020\000\022\t\n\005CAFFE\020\001\022\t\n\005CUDNN\020\002\"" - "L\n\016SliceParameter\022\017\n\004axis\030\003 \001(\005:\0011\022\023\n\013sl" - "ice_point\030\002 \003(\r\022\024\n\tslice_dim\030\001 \001(\r:\0011\"\220\001" - "\n\020SoftmaxParameter\022>\n\006engine\030\001 \001(\0162%.ope" - "ncv_caffe.SoftmaxParameter.Engine:\007DEFAU" - "LT\022\017\n\004axis\030\002 \001(\005:\0011\"+\n\006Engine\022\013\n\007DEFAULT" - "\020\000\022\t\n\005CAFFE\020\001\022\t\n\005CUDNN\020\002\"y\n\rTanHParamete" - "r\022;\n\006engine\030\001 \001(\0162\".opencv_caffe.TanHPar" - "ameter.Engine:\007DEFAULT\"+\n\006Engine\022\013\n\007DEFA" - "ULT\020\000\022\t\n\005CAFFE\020\001\022\t\n\005CUDNN\020\002\"/\n\rTileParam" - "eter\022\017\n\004axis\030\001 \001(\005:\0011\022\r\n\005tiles\030\002 \001(\005\"*\n\022" - "ThresholdParameter\022\024\n\tthreshold\030\001 \001(\002:\0010" - "\"\301\002\n\023WindowDataParameter\022\016\n\006source\030\001 \001(\t" - "\022\020\n\005scale\030\002 \001(\002:\0011\022\021\n\tmean_file\030\003 \001(\t\022\022\n" - "\nbatch_size\030\004 \001(\r\022\024\n\tcrop_size\030\005 \001(\r:\0010\022" - "\025\n\006mirror\030\006 \001(\010:\005false\022\031\n\014fg_threshold\030\007" - " \001(\002:\0030.5\022\031\n\014bg_threshold\030\010 \001(\002:\0030.5\022\031\n\013" - "fg_fraction\030\t \001(\002:\0040.25\022\026\n\013context_pad\030\n" - " \001(\r:\0010\022\027\n\tcrop_mode\030\013 \001(\t:\004warp\022\033\n\014cach" - "e_images\030\014 \001(\010:\005false\022\025\n\013root_folder\030\r \001" - "(\t:\000\"\371\001\n\014SPPParameter\022\026\n\016pyramid_height\030" - "\001 \001(\r\0228\n\004pool\030\002 \001(\0162%.opencv_caffe.SPPPa" - "rameter.PoolMethod:\003MAX\022:\n\006engine\030\006 \001(\0162" - "!.opencv_caffe.SPPParameter.Engine:\007DEFA" - "ULT\".\n\nPoolMethod\022\007\n\003MAX\020\000\022\007\n\003AVE\020\001\022\016\n\nS" - "TOCHASTIC\020\002\"+\n\006Engine\022\013\n\007DEFAULT\020\000\022\t\n\005CA" - "FFE\020\001\022\t\n\005CUDNN\020\002\"\334\025\n\020V1LayerParameter\022\016\n" - "\006bottom\030\002 \003(\t\022\013\n\003top\030\003 \003(\t\022\014\n\004name\030\004 \001(\t" - "\022+\n\007include\030 \003(\0132\032.opencv_caffe.NetStat" - "eRule\022+\n\007exclude\030! \003(\0132\032.opencv_caffe.Ne" - "tStateRule\0226\n\004type\030\005 \001(\0162(.opencv_caffe." - "V1LayerParameter.LayerType\022&\n\005blobs\030\006 \003(" - "\0132\027.opencv_caffe.BlobProto\022\016\n\005param\030\351\007 \003" - "(\t\022E\n\017blob_share_mode\030\352\007 \003(\0162+.opencv_ca" - "ffe.V1LayerParameter.DimCheckMode\022\020\n\010blo" - "bs_lr\030\007 \003(\002\022\024\n\014weight_decay\030\010 \003(\002\022\023\n\013los" - "s_weight\030# \003(\002\0227\n\016accuracy_param\030\033 \001(\0132\037" - ".opencv_caffe.AccuracyParameter\0223\n\014argma" - "x_param\030\027 \001(\0132\035.opencv_caffe.ArgMaxParam" - "eter\0223\n\014concat_param\030\t \001(\0132\035.opencv_caff" - "e.ConcatParameter\022F\n\026contrastive_loss_pa" - "ram\030( \001(\0132&.opencv_caffe.ContrastiveLoss" - "Parameter\022=\n\021convolution_param\030\n \001(\0132\".o" - "pencv_caffe.ConvolutionParameter\022/\n\ndata" - "_param\030\013 \001(\0132\033.opencv_caffe.DataParamete" - "r\0225\n\rdropout_param\030\014 \001(\0132\036.opencv_caffe." - "DropoutParameter\022:\n\020dummy_data_param\030\032 \001" - "(\0132 .opencv_caffe.DummyDataParameter\0225\n\r" - "eltwise_param\030\030 \001(\0132\036.opencv_caffe.Eltwi" - "seParameter\022-\n\texp_param\030) \001(\0132\032.opencv_" - "caffe.ExpParameter\0228\n\017hdf5_data_param\030\r " - "\001(\0132\037.opencv_caffe.HDF5DataParameter\022<\n\021" - "hdf5_output_param\030\016 \001(\0132!.opencv_caffe.H" - "DF5OutputParameter\022:\n\020hinge_loss_param\030\035" - " \001(\0132 .opencv_caffe.HingeLossParameter\022:" - "\n\020image_data_param\030\017 \001(\0132 .opencv_caffe." - "ImageDataParameter\022@\n\023infogain_loss_para" - "m\030\020 \001(\0132#.opencv_caffe.InfogainLossParam" - "eter\022@\n\023inner_product_param\030\021 \001(\0132#.open" - "cv_caffe.InnerProductParameter\022-\n\tlrn_pa" - "ram\030\022 \001(\0132\032.opencv_caffe.LRNParameter\022<\n" - "\021memory_data_param\030\026 \001(\0132!.opencv_caffe." - "MemoryDataParameter\022-\n\tmvn_param\030\" \001(\0132\032" - ".opencv_caffe.MVNParameter\0225\n\rpooling_pa" - "ram\030\023 \001(\0132\036.opencv_caffe.PoolingParamete" - "r\0221\n\013power_param\030\025 \001(\0132\034.opencv_caffe.Po" - "werParameter\022/\n\nrelu_param\030\036 \001(\0132\033.openc" - "v_caffe.ReLUParameter\0225\n\rsigmoid_param\030&" - " \001(\0132\036.opencv_caffe.SigmoidParameter\0225\n\r" - "softmax_param\030\' \001(\0132\036.opencv_caffe.Softm" - "axParameter\0221\n\013slice_param\030\037 \001(\0132\034.openc" - "v_caffe.SliceParameter\022/\n\ntanh_param\030% \001" - "(\0132\033.opencv_caffe.TanHParameter\0229\n\017thres" - "hold_param\030\031 \001(\0132 .opencv_caffe.Threshol" - "dParameter\022<\n\021window_data_param\030\024 \001(\0132!." - "opencv_caffe.WindowDataParameter\022>\n\017tran" - "sform_param\030$ \001(\0132%.opencv_caffe.Transfo" - "rmationParameter\022/\n\nloss_param\030* \001(\0132\033.o" - "pencv_caffe.LossParameter\022-\n\005layer\030\001 \001(\013" - "2\036.opencv_caffe.V0LayerParameter\"\330\004\n\tLay" - "erType\022\010\n\004NONE\020\000\022\n\n\006ABSVAL\020#\022\014\n\010ACCURACY" - "\020\001\022\n\n\006ARGMAX\020\036\022\010\n\004BNLL\020\002\022\n\n\006CONCAT\020\003\022\024\n\020" - "CONTRASTIVE_LOSS\020%\022\017\n\013CONVOLUTION\020\004\022\010\n\004D" - "ATA\020\005\022\021\n\rDECONVOLUTION\020\'\022\013\n\007DROPOUT\020\006\022\016\n" - "\nDUMMY_DATA\020 \022\022\n\016EUCLIDEAN_LOSS\020\007\022\013\n\007ELT" - "WISE\020\031\022\007\n\003EXP\020&\022\013\n\007FLATTEN\020\010\022\r\n\tHDF5_DAT" - "A\020\t\022\017\n\013HDF5_OUTPUT\020\n\022\016\n\nHINGE_LOSS\020\034\022\n\n\006" - "IM2COL\020\013\022\016\n\nIMAGE_DATA\020\014\022\021\n\rINFOGAIN_LOS" - "S\020\r\022\021\n\rINNER_PRODUCT\020\016\022\007\n\003LRN\020\017\022\017\n\013MEMOR" - "Y_DATA\020\035\022\035\n\031MULTINOMIAL_LOGISTIC_LOSS\020\020\022" - "\007\n\003MVN\020\"\022\013\n\007POOLING\020\021\022\t\n\005POWER\020\032\022\010\n\004RELU" - "\020\022\022\013\n\007SIGMOID\020\023\022\036\n\032SIGMOID_CROSS_ENTROPY" - "_LOSS\020\033\022\013\n\007SILENCE\020$\022\013\n\007SOFTMAX\020\024\022\020\n\014SOF" - "TMAX_LOSS\020\025\022\t\n\005SPLIT\020\026\022\t\n\005SLICE\020!\022\010\n\004TAN" - "H\020\027\022\017\n\013WINDOW_DATA\020\030\022\r\n\tTHRESHOLD\020\037\"*\n\014D" - "imCheckMode\022\n\n\006STRICT\020\000\022\016\n\nPERMISSIVE\020\001\"" - "\240\010\n\020V0LayerParameter\022\014\n\004name\030\001 \001(\t\022\014\n\004ty" - "pe\030\002 \001(\t\022\022\n\nnum_output\030\003 \001(\r\022\026\n\010biasterm" - "\030\004 \001(\010:\004true\0224\n\rweight_filler\030\005 \001(\0132\035.op" - "encv_caffe.FillerParameter\0222\n\013bias_fille" - "r\030\006 \001(\0132\035.opencv_caffe.FillerParameter\022\016" - "\n\003pad\030\007 \001(\r:\0010\022\022\n\nkernelsize\030\010 \001(\r\022\020\n\005gr" - "oup\030\t \001(\r:\0011\022\021\n\006stride\030\n \001(\r:\0011\022<\n\004pool\030" - "\013 \001(\0162).opencv_caffe.V0LayerParameter.Po" - "olMethod:\003MAX\022\032\n\rdropout_ratio\030\014 \001(\002:\0030." - "5\022\025\n\nlocal_size\030\r \001(\r:\0015\022\020\n\005alpha\030\016 \001(\002:" - "\0011\022\022\n\004beta\030\017 \001(\002:\0040.75\022\014\n\001k\030\026 \001(\002:\0011\022\016\n\006" - "source\030\020 \001(\t\022\020\n\005scale\030\021 \001(\002:\0011\022\020\n\010meanfi" - "le\030\022 \001(\t\022\021\n\tbatchsize\030\023 \001(\r\022\023\n\010cropsize\030" - "\024 \001(\r:\0010\022\025\n\006mirror\030\025 \001(\010:\005false\022&\n\005blobs" - "\0302 \003(\0132\027.opencv_caffe.BlobProto\022\020\n\010blobs" - "_lr\0303 \003(\002\022\024\n\014weight_decay\0304 \003(\002\022\024\n\trand_" - "skip\0305 \001(\r:\0010\022\035\n\020det_fg_threshold\0306 \001(\002:" - "\0030.5\022\035\n\020det_bg_threshold\0307 \001(\002:\0030.5\022\035\n\017d" - "et_fg_fraction\0308 \001(\002:\0040.25\022\032\n\017det_contex" - "t_pad\030: \001(\r:\0010\022\033\n\rdet_crop_mode\030; \001(\t:\004w" - "arp\022\022\n\007new_num\030< \001(\005:\0010\022\027\n\014new_channels\030" - "= \001(\005:\0010\022\025\n\nnew_height\030> \001(\005:\0010\022\024\n\tnew_w" - "idth\030\? \001(\005:\0010\022\035\n\016shuffle_images\030@ \001(\010:\005f" - "alse\022\025\n\nconcat_dim\030A \001(\r:\0011\022=\n\021hdf5_outp" - "ut_param\030\351\007 \001(\0132!.opencv_caffe.HDF5Outpu" - "tParameter\".\n\nPoolMethod\022\007\n\003MAX\020\000\022\007\n\003AVE" - "\020\001\022\016\n\nSTOCHASTIC\020\002\"^\n\016PReLUParameter\022-\n\006" - "filler\030\001 \001(\0132\035.opencv_caffe.FillerParame" - "ter\022\035\n\016channel_shared\030\002 \001(\010:\005false\"\207\001\n\016N" - "ormalizedBBox\022\014\n\004xmin\030\001 \001(\002\022\014\n\004ymin\030\002 \001(" - "\002\022\014\n\004xmax\030\003 \001(\002\022\014\n\004ymax\030\004 \001(\002\022\r\n\005label\030\005" - " \001(\005\022\021\n\tdifficult\030\006 \001(\010\022\r\n\005score\030\007 \001(\002\022\014" - "\n\004size\030\010 \001(\002\"Y\n\023ROIPoolingParameter\022\023\n\010p" - "ooled_h\030\001 \001(\r:\0010\022\023\n\010pooled_w\030\002 \001(\r:\0010\022\030\n" - "\rspatial_scale\030\003 \001(\002:\0011\"\310\001\n\021ProposalPara" - "meter\022\027\n\013feat_stride\030\001 \001(\r:\00216\022\025\n\tbase_s" - "ize\030\002 \001(\r:\00216\022\024\n\010min_size\030\003 \001(\r:\00216\022\r\n\005r" - "atio\030\004 \003(\002\022\r\n\005scale\030\005 \003(\002\022\032\n\014pre_nms_top" - "n\030\006 \001(\r:\0046000\022\032\n\rpost_nms_topn\030\007 \001(\r:\00330" - "0\022\027\n\nnms_thresh\030\010 \001(\002:\0030.7\"V\n\025PSROIPooli" - "ngParameter\022\025\n\rspatial_scale\030\001 \002(\002\022\022\n\nou" - "tput_dim\030\002 \002(\005\022\022\n\ngroup_size\030\003 \002(\005\"\237\001\n\017C" - "ustomParameter\0222\n\005value\030\001 \003(\0132#.opencv_c" - "affe.CustomParameter.Value\032X\n\005Value\022\014\n\004n" - "ame\030\001 \002(\t\022\t\n\001i\030\002 \001(\005\022\n\n\002ui\030\003 \001(\r\022\t\n\001f\030\006 " - "\001(\002\022\t\n\001d\030\007 \001(\001\022\t\n\001b\030\010 \001(\010\022\t\n\001s\030\t \001(\t*=\n\004" - "Type\022\n\n\006DOUBLE\020\000\022\t\n\005FLOAT\020\001\022\013\n\007FLOAT16\020\002" - "\022\007\n\003INT\020\003\022\010\n\004UINT\020\004*\034\n\005Phase\022\t\n\005TRAIN\020\000\022" - "\010\n\004TEST\020\001" + "\030\220\001 \001(\0132\033.opencv_caffe.CropParameter\022/\n\n" + "data_param\030k \001(\0132\033.opencv_caffe.DataPara" + "meter\022G\n\026detection_output_param\030\223\001 \001(\0132&" + ".opencv_caffe.DetectionOutputParameter\0225" + "\n\rdropout_param\030l \001(\0132\036.opencv_caffe.Dro" + "poutParameter\022:\n\020dummy_data_param\030m \001(\0132" + " .opencv_caffe.DummyDataParameter\0225\n\relt" + "wise_param\030n \001(\0132\036.opencv_caffe.EltwiseP" + "arameter\022.\n\telu_param\030\214\001 \001(\0132\032.opencv_ca" + "ffe.ELUParameter\0222\n\013embed_param\030\211\001 \001(\0132\034" + ".opencv_caffe.EmbedParameter\022-\n\texp_para" + "m\030o \001(\0132\032.opencv_caffe.ExpParameter\0226\n\rf" + "latten_param\030\207\001 \001(\0132\036.opencv_caffe.Flatt" + "enParameter\0228\n\017hdf5_data_param\030p \001(\0132\037.o" + "pencv_caffe.HDF5DataParameter\022<\n\021hdf5_ou" + "tput_param\030q \001(\0132!.opencv_caffe.HDF5Outp" + "utParameter\022:\n\020hinge_loss_param\030r \001(\0132 ." + "opencv_caffe.HingeLossParameter\022:\n\020image" + "_data_param\030s \001(\0132 .opencv_caffe.ImageDa" + "taParameter\022@\n\023infogain_loss_param\030t \001(\013" + "2#.opencv_caffe.InfogainLossParameter\022@\n" + "\023inner_product_param\030u \001(\0132#.opencv_caff" + "e.InnerProductParameter\0222\n\013input_param\030\217" + "\001 \001(\0132\034.opencv_caffe.InputParameter\022.\n\tl" + "og_param\030\206\001 \001(\0132\032.opencv_caffe.LogParame" + "ter\022-\n\tlrn_param\030v \001(\0132\032.opencv_caffe.LR" + "NParameter\022<\n\021memory_data_param\030w \001(\0132!." + "opencv_caffe.MemoryDataParameter\022-\n\tmvn_" + "param\030x \001(\0132\032.opencv_caffe.MVNParameter\022" + "9\n\nnorm_param\030\225\001 \001(\0132$.opencv_caffe.Norm" + "alizeBBoxParameter\0226\n\rpermute_param\030\224\001 \001" + "(\0132\036.opencv_caffe.PermuteParameter\022:\n\017pa" + "rameter_param\030\221\001 \001(\0132 .opencv_caffe.Para" + "meterParameter\0225\n\rpooling_param\030y \001(\0132\036." + "opencv_caffe.PoolingParameter\0221\n\013power_p" + "aram\030z \001(\0132\034.opencv_caffe.PowerParameter" + "\0222\n\013prelu_param\030\203\001 \001(\0132\034.opencv_caffe.PR" + "eLUParameter\0229\n\017prior_box_param\030\226\001 \001(\0132\037" + ".opencv_caffe.PriorBoxParameter\0228\n\016propo" + "sal_param\030\311\001 \001(\0132\037.opencv_caffe.Proposal" + "Parameter\022A\n\023psroi_pooling_param\030\222N \001(\0132" + "#.opencv_caffe.PSROIPoolingParameter\0224\n\014" + "python_param\030\202\001 \001(\0132\035.opencv_caffe.Pytho" + "nParameter\022:\n\017recurrent_param\030\222\001 \001(\0132 .o" + "pencv_caffe.RecurrentParameter\022:\n\017reduct" + "ion_param\030\210\001 \001(\0132 .opencv_caffe.Reductio" + "nParameter\022/\n\nrelu_param\030{ \001(\0132\033.opencv_" + "caffe.ReLUParameter\0226\n\rreshape_param\030\205\001 " + "\001(\0132\036.opencv_caffe.ReshapeParameter\022\?\n\021r" + "oi_pooling_param\030\327\307\370\003 \001(\0132!.opencv_caffe" + ".ROIPoolingParameter\0222\n\013scale_param\030\216\001 \001" + "(\0132\034.opencv_caffe.ScaleParameter\0225\n\rsigm" + "oid_param\030| \001(\0132\036.opencv_caffe.SigmoidPa" + "rameter\0225\n\rsoftmax_param\030} \001(\0132\036.opencv_" + "caffe.SoftmaxParameter\022.\n\tspp_param\030\204\001 \001" + "(\0132\032.opencv_caffe.SPPParameter\0221\n\013slice_" + "param\030~ \001(\0132\034.opencv_caffe.SliceParamete" + "r\022/\n\ntanh_param\030\177 \001(\0132\033.opencv_caffe.Tan" + "HParameter\022:\n\017threshold_param\030\200\001 \001(\0132 .o" + "pencv_caffe.ThresholdParameter\0220\n\ntile_p" + "aram\030\212\001 \001(\0132\033.opencv_caffe.TileParameter" + "\022=\n\021window_data_param\030\201\001 \001(\0132!.opencv_ca" + "ffe.WindowDataParameter\"\266\001\n\027Transformati" + "onParameter\022\020\n\005scale\030\001 \001(\002:\0011\022\025\n\006mirror\030" + "\002 \001(\010:\005false\022\024\n\tcrop_size\030\003 \001(\r:\0010\022\021\n\tme" + "an_file\030\004 \001(\t\022\022\n\nmean_value\030\005 \003(\002\022\032\n\013for" + "ce_color\030\006 \001(\010:\005false\022\031\n\nforce_gray\030\007 \001(" + "\010:\005false\"\311\001\n\rLossParameter\022\024\n\014ignore_lab" + "el\030\001 \001(\005\022K\n\rnormalization\030\003 \001(\0162-.opencv" + "_caffe.LossParameter.NormalizationMode:\005" + "VALID\022\021\n\tnormalize\030\002 \001(\010\"B\n\021Normalizatio" + "nMode\022\010\n\004FULL\020\000\022\t\n\005VALID\020\001\022\016\n\nBATCH_SIZE" + "\020\002\022\010\n\004NONE\020\003\"L\n\021AccuracyParameter\022\020\n\005top" + "_k\030\001 \001(\r:\0011\022\017\n\004axis\030\002 \001(\005:\0011\022\024\n\014ignore_l" + "abel\030\003 \001(\005\"M\n\017ArgMaxParameter\022\032\n\013out_max" + "_val\030\001 \001(\010:\005false\022\020\n\005top_k\030\002 \001(\r:\0011\022\014\n\004a" + "xis\030\003 \001(\005\"9\n\017ConcatParameter\022\017\n\004axis\030\002 \001" + "(\005:\0011\022\025\n\nconcat_dim\030\001 \001(\r:\0011\"\205\001\n\022BatchNo" + "rmParameter\022\030\n\020use_global_stats\030\001 \001(\010\022&\n" + "\027moving_average_fraction\030\002 \001(\002:\0050.999\022\022\n" + "\003eps\030\003 \001(\002:\0051e-05\022\031\n\nscale_bias\030\007 \001(\010:\005f" + "alse\"d\n\rBiasParameter\022\017\n\004axis\030\001 \001(\005:\0011\022\023" + "\n\010num_axes\030\002 \001(\005:\0011\022-\n\006filler\030\003 \001(\0132\035.op" + "encv_caffe.FillerParameter\"L\n\030Contrastiv" + "eLossParameter\022\021\n\006margin\030\001 \001(\002:\0011\022\035\n\016leg" + "acy_version\030\002 \001(\010:\005false\"\221\004\n\024Convolution" + "Parameter\022\022\n\nnum_output\030\001 \001(\r\022\027\n\tbias_te" + "rm\030\002 \001(\010:\004true\022\013\n\003pad\030\003 \003(\r\022\023\n\013kernel_si" + "ze\030\004 \003(\r\022\016\n\006stride\030\006 \003(\r\022\020\n\010dilation\030\022 \003" + "(\r\022\020\n\005pad_h\030\t \001(\r:\0010\022\020\n\005pad_w\030\n \001(\r:\0010\022\020" + "\n\010kernel_h\030\013 \001(\r\022\020\n\010kernel_w\030\014 \001(\r\022\020\n\010st" + "ride_h\030\r \001(\r\022\020\n\010stride_w\030\016 \001(\r\022\020\n\005group\030" + "\005 \001(\r:\0011\0224\n\rweight_filler\030\007 \001(\0132\035.opencv" + "_caffe.FillerParameter\0222\n\013bias_filler\030\010 " + "\001(\0132\035.opencv_caffe.FillerParameter\022B\n\006en" + "gine\030\017 \001(\0162).opencv_caffe.ConvolutionPar" + "ameter.Engine:\007DEFAULT\022\017\n\004axis\030\020 \001(\005:\0011\022" + "\036\n\017force_nd_im2col\030\021 \001(\010:\005false\"+\n\006Engin" + "e\022\013\n\007DEFAULT\020\000\022\t\n\005CAFFE\020\001\022\t\n\005CUDNN\020\002\"0\n\r" + "CropParameter\022\017\n\004axis\030\001 \001(\005:\0012\022\016\n\006offset" + "\030\002 \003(\r\"\253\002\n\rDataParameter\022\016\n\006source\030\001 \001(\t" + "\022\022\n\nbatch_size\030\004 \001(\r\022\024\n\trand_skip\030\007 \001(\r:" + "\0010\0228\n\007backend\030\010 \001(\0162\036.opencv_caffe.DataP" + "arameter.DB:\007LEVELDB\022\020\n\005scale\030\002 \001(\002:\0011\022\021" + "\n\tmean_file\030\003 \001(\t\022\024\n\tcrop_size\030\005 \001(\r:\0010\022" + "\025\n\006mirror\030\006 \001(\010:\005false\022\"\n\023force_encoded_" + "color\030\t \001(\010:\005false\022\023\n\010prefetch\030\n \001(\r:\0014\"" + "\033\n\002DB\022\013\n\007LEVELDB\020\000\022\010\n\004LMDB\020\001\"[\n\036NonMaxim" + "umSuppressionParameter\022\032\n\rnms_threshold\030" + "\001 \001(\002:\0030.3\022\r\n\005top_k\030\002 \001(\005\022\016\n\003eta\030\003 \001(\002:\001" + "1\"\252\001\n\023SaveOutputParameter\022\030\n\020output_dire" + "ctory\030\001 \001(\t\022\032\n\022output_name_prefix\030\002 \001(\t\022" + "\025\n\routput_format\030\003 \001(\t\022\026\n\016label_map_file" + "\030\004 \001(\t\022\026\n\016name_size_file\030\005 \001(\t\022\026\n\016num_te" + "st_image\030\006 \001(\r\"I\n\020DropoutParameter\022\032\n\rdr" + "opout_ratio\030\001 \001(\002:\0030.5\022\031\n\013scale_train\030\002 " + "\001(\010:\004true\"\256\001\n\022DummyDataParameter\0222\n\013data" + "_filler\030\001 \003(\0132\035.opencv_caffe.FillerParam" + "eter\022&\n\005shape\030\006 \003(\0132\027.opencv_caffe.BlobS" + "hape\022\013\n\003num\030\002 \003(\r\022\020\n\010channels\030\003 \003(\r\022\016\n\006h" + "eight\030\004 \003(\r\022\r\n\005width\030\005 \003(\r\"\254\001\n\020EltwisePa" + "rameter\022@\n\toperation\030\001 \001(\0162(.opencv_caff" + "e.EltwiseParameter.EltwiseOp:\003SUM\022\r\n\005coe" + "ff\030\002 \003(\002\022\036\n\020stable_prod_grad\030\003 \001(\010:\004true" + "\"\'\n\tEltwiseOp\022\010\n\004PROD\020\000\022\007\n\003SUM\020\001\022\007\n\003MAX\020" + "\002\" \n\014ELUParameter\022\020\n\005alpha\030\001 \001(\002:\0011\"\272\001\n\016" + "EmbedParameter\022\022\n\nnum_output\030\001 \001(\r\022\021\n\tin" + "put_dim\030\002 \001(\r\022\027\n\tbias_term\030\003 \001(\010:\004true\0224" + "\n\rweight_filler\030\004 \001(\0132\035.opencv_caffe.Fil" + "lerParameter\0222\n\013bias_filler\030\005 \001(\0132\035.open" + "cv_caffe.FillerParameter\"D\n\014ExpParameter" + "\022\020\n\004base\030\001 \001(\002:\002-1\022\020\n\005scale\030\002 \001(\002:\0011\022\020\n\005" + "shift\030\003 \001(\002:\0010\"9\n\020FlattenParameter\022\017\n\004ax" + "is\030\001 \001(\005:\0011\022\024\n\010end_axis\030\002 \001(\005:\002-1\"O\n\021HDF" + "5DataParameter\022\016\n\006source\030\001 \001(\t\022\022\n\nbatch_" + "size\030\002 \001(\r\022\026\n\007shuffle\030\003 \001(\010:\005false\"(\n\023HD" + "F5OutputParameter\022\021\n\tfile_name\030\001 \001(\t\"e\n\022" + "HingeLossParameter\0227\n\004norm\030\001 \001(\0162%.openc" + "v_caffe.HingeLossParameter.Norm:\002L1\"\026\n\004N" + "orm\022\006\n\002L1\020\001\022\006\n\002L2\020\002\"\227\002\n\022ImageDataParamet" + "er\022\016\n\006source\030\001 \001(\t\022\025\n\nbatch_size\030\004 \001(\r:\001" + "1\022\024\n\trand_skip\030\007 \001(\r:\0010\022\026\n\007shuffle\030\010 \001(\010" + ":\005false\022\025\n\nnew_height\030\t \001(\r:\0010\022\024\n\tnew_wi" + "dth\030\n \001(\r:\0010\022\026\n\010is_color\030\013 \001(\010:\004true\022\020\n\005" + "scale\030\002 \001(\002:\0011\022\021\n\tmean_file\030\003 \001(\t\022\024\n\tcro" + "p_size\030\005 \001(\r:\0010\022\025\n\006mirror\030\006 \001(\010:\005false\022\025" + "\n\013root_folder\030\014 \001(\t:\000\"\'\n\025InfogainLossPar" + "ameter\022\016\n\006source\030\001 \001(\t\"\331\001\n\025InnerProductP" + "arameter\022\022\n\nnum_output\030\001 \001(\r\022\027\n\tbias_ter" + "m\030\002 \001(\010:\004true\0224\n\rweight_filler\030\003 \001(\0132\035.o" + "pencv_caffe.FillerParameter\0222\n\013bias_fill" + "er\030\004 \001(\0132\035.opencv_caffe.FillerParameter\022" + "\017\n\004axis\030\005 \001(\005:\0011\022\030\n\ttranspose\030\006 \001(\010:\005fal" + "se\"8\n\016InputParameter\022&\n\005shape\030\001 \003(\0132\027.op" + "encv_caffe.BlobShape\"D\n\014LogParameter\022\020\n\004" + "base\030\001 \001(\002:\002-1\022\020\n\005scale\030\002 \001(\002:\0011\022\020\n\005shif" + "t\030\003 \001(\002:\0010\"\306\002\n\014LRNParameter\022\025\n\nlocal_siz" + "e\030\001 \001(\r:\0015\022\020\n\005alpha\030\002 \001(\002:\0011\022\022\n\004beta\030\003 \001" + "(\002:\0040.75\022K\n\013norm_region\030\004 \001(\0162%.opencv_c" + "affe.LRNParameter.NormRegion:\017ACROSS_CHA" + "NNELS\022\014\n\001k\030\005 \001(\002:\0011\022:\n\006engine\030\006 \001(\0162!.op" + "encv_caffe.LRNParameter.Engine:\007DEFAULT\"" + "5\n\nNormRegion\022\023\n\017ACROSS_CHANNELS\020\000\022\022\n\016WI" + "THIN_CHANNEL\020\001\"+\n\006Engine\022\013\n\007DEFAULT\020\000\022\t\n" + "\005CAFFE\020\001\022\t\n\005CUDNN\020\002\"Z\n\023MemoryDataParamet" + "er\022\022\n\nbatch_size\030\001 \001(\r\022\020\n\010channels\030\002 \001(\r" + "\022\016\n\006height\030\003 \001(\r\022\r\n\005width\030\004 \001(\r\"d\n\014MVNPa" + "rameter\022 \n\022normalize_variance\030\001 \001(\010:\004tru" + "e\022\036\n\017across_channels\030\002 \001(\010:\005false\022\022\n\003eps" + "\030\003 \001(\002:\0051e-09\"<\n\022ParameterParameter\022&\n\005s" + "hape\030\001 \001(\0132\027.opencv_caffe.BlobShape\"\311\003\n\020" + "PoolingParameter\022<\n\004pool\030\001 \001(\0162).opencv_" + "caffe.PoolingParameter.PoolMethod:\003MAX\022\016" + "\n\003pad\030\004 \001(\r:\0010\022\020\n\005pad_h\030\t \001(\r:\0010\022\020\n\005pad_" + "w\030\n \001(\r:\0010\022\023\n\013kernel_size\030\002 \001(\r\022\020\n\010kerne" + "l_h\030\005 \001(\r\022\020\n\010kernel_w\030\006 \001(\r\022\021\n\006stride\030\003 " + "\001(\r:\0011\022\020\n\010stride_h\030\007 \001(\r\022\020\n\010stride_w\030\010 \001" + "(\r\022>\n\006engine\030\013 \001(\0162%.opencv_caffe.Poolin" + "gParameter.Engine:\007DEFAULT\022\035\n\016global_poo" + "ling\030\014 \001(\010:\005false\022\027\n\tceil_mode\030\r \001(\010:\004tr" + "ue\".\n\nPoolMethod\022\007\n\003MAX\020\000\022\007\n\003AVE\020\001\022\016\n\nST" + "OCHASTIC\020\002\"+\n\006Engine\022\013\n\007DEFAULT\020\000\022\t\n\005CAF" + "FE\020\001\022\t\n\005CUDNN\020\002\"F\n\016PowerParameter\022\020\n\005pow" + "er\030\001 \001(\002:\0011\022\020\n\005scale\030\002 \001(\002:\0011\022\020\n\005shift\030\003" + " \001(\002:\0010\"g\n\017PythonParameter\022\016\n\006module\030\001 \001" + "(\t\022\r\n\005layer\030\002 \001(\t\022\023\n\tparam_str\030\003 \001(\t:\000\022 " + "\n\021share_in_parallel\030\004 \001(\010:\005false\"\316\001\n\022Rec" + "urrentParameter\022\025\n\nnum_output\030\001 \001(\r:\0010\0224" + "\n\rweight_filler\030\002 \001(\0132\035.opencv_caffe.Fil" + "lerParameter\0222\n\013bias_filler\030\003 \001(\0132\035.open" + "cv_caffe.FillerParameter\022\031\n\ndebug_info\030\004" + " \001(\010:\005false\022\034\n\rexpose_hidden\030\005 \001(\010:\005fals" + "e\"\264\001\n\022ReductionParameter\022D\n\toperation\030\001 " + "\001(\0162,.opencv_caffe.ReductionParameter.Re" + "ductionOp:\003SUM\022\017\n\004axis\030\002 \001(\005:\0010\022\020\n\005coeff" + "\030\003 \001(\002:\0011\"5\n\013ReductionOp\022\007\n\003SUM\020\001\022\010\n\004ASU" + "M\020\002\022\t\n\005SUMSQ\020\003\022\010\n\004MEAN\020\004\"\224\001\n\rReLUParamet" + "er\022\031\n\016negative_slope\030\001 \001(\002:\0010\022;\n\006engine\030" + "\002 \001(\0162\".opencv_caffe.ReLUParameter.Engin" + "e:\007DEFAULT\"+\n\006Engine\022\013\n\007DEFAULT\020\000\022\t\n\005CAF" + "FE\020\001\022\t\n\005CUDNN\020\002\"a\n\020ReshapeParameter\022&\n\005s" + "hape\030\001 \001(\0132\027.opencv_caffe.BlobShape\022\017\n\004a" + "xis\030\002 \001(\005:\0010\022\024\n\010num_axes\030\003 \001(\005:\002-1\"\263\001\n\016S" + "caleParameter\022\017\n\004axis\030\001 \001(\005:\0011\022\023\n\010num_ax" + "es\030\002 \001(\005:\0011\022-\n\006filler\030\003 \001(\0132\035.opencv_caf" + "fe.FillerParameter\022\030\n\tbias_term\030\004 \001(\010:\005f" + "alse\0222\n\013bias_filler\030\005 \001(\0132\035.opencv_caffe" + ".FillerParameter\"\177\n\020SigmoidParameter\022>\n\006" + "engine\030\001 \001(\0162%.opencv_caffe.SigmoidParam" + "eter.Engine:\007DEFAULT\"+\n\006Engine\022\013\n\007DEFAUL" + "T\020\000\022\t\n\005CAFFE\020\001\022\t\n\005CUDNN\020\002\"L\n\016SliceParame" + "ter\022\017\n\004axis\030\003 \001(\005:\0011\022\023\n\013slice_point\030\002 \003(" + "\r\022\024\n\tslice_dim\030\001 \001(\r:\0011\"\220\001\n\020SoftmaxParam" + "eter\022>\n\006engine\030\001 \001(\0162%.opencv_caffe.Soft" + "maxParameter.Engine:\007DEFAULT\022\017\n\004axis\030\002 \001" + "(\005:\0011\"+\n\006Engine\022\013\n\007DEFAULT\020\000\022\t\n\005CAFFE\020\001\022" + "\t\n\005CUDNN\020\002\"y\n\rTanHParameter\022;\n\006engine\030\001 " + "\001(\0162\".opencv_caffe.TanHParameter.Engine:" + "\007DEFAULT\"+\n\006Engine\022\013\n\007DEFAULT\020\000\022\t\n\005CAFFE" + "\020\001\022\t\n\005CUDNN\020\002\"/\n\rTileParameter\022\017\n\004axis\030\001" + " \001(\005:\0011\022\r\n\005tiles\030\002 \001(\005\"*\n\022ThresholdParam" + "eter\022\024\n\tthreshold\030\001 \001(\002:\0010\"\301\002\n\023WindowDat" + "aParameter\022\016\n\006source\030\001 \001(\t\022\020\n\005scale\030\002 \001(" + "\002:\0011\022\021\n\tmean_file\030\003 \001(\t\022\022\n\nbatch_size\030\004 " + "\001(\r\022\024\n\tcrop_size\030\005 \001(\r:\0010\022\025\n\006mirror\030\006 \001(" + "\010:\005false\022\031\n\014fg_threshold\030\007 \001(\002:\0030.5\022\031\n\014b" + "g_threshold\030\010 \001(\002:\0030.5\022\031\n\013fg_fraction\030\t " + "\001(\002:\0040.25\022\026\n\013context_pad\030\n \001(\r:\0010\022\027\n\tcro" + "p_mode\030\013 \001(\t:\004warp\022\033\n\014cache_images\030\014 \001(\010" + ":\005false\022\025\n\013root_folder\030\r \001(\t:\000\"\371\001\n\014SPPPa" + "rameter\022\026\n\016pyramid_height\030\001 \001(\r\0228\n\004pool\030" + "\002 \001(\0162%.opencv_caffe.SPPParameter.PoolMe" + "thod:\003MAX\022:\n\006engine\030\006 \001(\0162!.opencv_caffe" + ".SPPParameter.Engine:\007DEFAULT\".\n\nPoolMet" + "hod\022\007\n\003MAX\020\000\022\007\n\003AVE\020\001\022\016\n\nSTOCHASTIC\020\002\"+\n" + "\006Engine\022\013\n\007DEFAULT\020\000\022\t\n\005CAFFE\020\001\022\t\n\005CUDNN" + "\020\002\"\334\025\n\020V1LayerParameter\022\016\n\006bottom\030\002 \003(\t\022" + "\013\n\003top\030\003 \003(\t\022\014\n\004name\030\004 \001(\t\022+\n\007include\030 " + "\003(\0132\032.opencv_caffe.NetStateRule\022+\n\007exclu" + "de\030! \003(\0132\032.opencv_caffe.NetStateRule\0226\n\004" + "type\030\005 \001(\0162(.opencv_caffe.V1LayerParamet" + "er.LayerType\022&\n\005blobs\030\006 \003(\0132\027.opencv_caf" + "fe.BlobProto\022\016\n\005param\030\351\007 \003(\t\022E\n\017blob_sha" + "re_mode\030\352\007 \003(\0162+.opencv_caffe.V1LayerPar" + "ameter.DimCheckMode\022\020\n\010blobs_lr\030\007 \003(\002\022\024\n" + "\014weight_decay\030\010 \003(\002\022\023\n\013loss_weight\030# \003(\002" + "\0227\n\016accuracy_param\030\033 \001(\0132\037.opencv_caffe." + "AccuracyParameter\0223\n\014argmax_param\030\027 \001(\0132" + "\035.opencv_caffe.ArgMaxParameter\0223\n\014concat" + "_param\030\t \001(\0132\035.opencv_caffe.ConcatParame" + "ter\022F\n\026contrastive_loss_param\030( \001(\0132&.op" + "encv_caffe.ContrastiveLossParameter\022=\n\021c" + "onvolution_param\030\n \001(\0132\".opencv_caffe.Co" + "nvolutionParameter\022/\n\ndata_param\030\013 \001(\0132\033" + ".opencv_caffe.DataParameter\0225\n\rdropout_p" + "aram\030\014 \001(\0132\036.opencv_caffe.DropoutParamet" + "er\022:\n\020dummy_data_param\030\032 \001(\0132 .opencv_ca" + "ffe.DummyDataParameter\0225\n\reltwise_param\030" + "\030 \001(\0132\036.opencv_caffe.EltwiseParameter\022-\n" + "\texp_param\030) \001(\0132\032.opencv_caffe.ExpParam" + "eter\0228\n\017hdf5_data_param\030\r \001(\0132\037.opencv_c" + "affe.HDF5DataParameter\022<\n\021hdf5_output_pa" + "ram\030\016 \001(\0132!.opencv_caffe.HDF5OutputParam" + "eter\022:\n\020hinge_loss_param\030\035 \001(\0132 .opencv_" + "caffe.HingeLossParameter\022:\n\020image_data_p" + "aram\030\017 \001(\0132 .opencv_caffe.ImageDataParam" + "eter\022@\n\023infogain_loss_param\030\020 \001(\0132#.open" + "cv_caffe.InfogainLossParameter\022@\n\023inner_" + "product_param\030\021 \001(\0132#.opencv_caffe.Inner" + "ProductParameter\022-\n\tlrn_param\030\022 \001(\0132\032.op" + "encv_caffe.LRNParameter\022<\n\021memory_data_p" + "aram\030\026 \001(\0132!.opencv_caffe.MemoryDataPara" + "meter\022-\n\tmvn_param\030\" \001(\0132\032.opencv_caffe." + "MVNParameter\0225\n\rpooling_param\030\023 \001(\0132\036.op" + "encv_caffe.PoolingParameter\0221\n\013power_par" + "am\030\025 \001(\0132\034.opencv_caffe.PowerParameter\022/" + "\n\nrelu_param\030\036 \001(\0132\033.opencv_caffe.ReLUPa" + "rameter\0225\n\rsigmoid_param\030& \001(\0132\036.opencv_" + "caffe.SigmoidParameter\0225\n\rsoftmax_param\030" + "\' \001(\0132\036.opencv_caffe.SoftmaxParameter\0221\n" + "\013slice_param\030\037 \001(\0132\034.opencv_caffe.SliceP" + "arameter\022/\n\ntanh_param\030% \001(\0132\033.opencv_ca" + "ffe.TanHParameter\0229\n\017threshold_param\030\031 \001" + "(\0132 .opencv_caffe.ThresholdParameter\022<\n\021" + "window_data_param\030\024 \001(\0132!.opencv_caffe.W" + "indowDataParameter\022>\n\017transform_param\030$ " + "\001(\0132%.opencv_caffe.TransformationParamet" + "er\022/\n\nloss_param\030* \001(\0132\033.opencv_caffe.Lo" + "ssParameter\022-\n\005layer\030\001 \001(\0132\036.opencv_caff" + "e.V0LayerParameter\"\330\004\n\tLayerType\022\010\n\004NONE" + "\020\000\022\n\n\006ABSVAL\020#\022\014\n\010ACCURACY\020\001\022\n\n\006ARGMAX\020\036" + "\022\010\n\004BNLL\020\002\022\n\n\006CONCAT\020\003\022\024\n\020CONTRASTIVE_LO" + "SS\020%\022\017\n\013CONVOLUTION\020\004\022\010\n\004DATA\020\005\022\021\n\rDECON" + "VOLUTION\020\'\022\013\n\007DROPOUT\020\006\022\016\n\nDUMMY_DATA\020 \022" + "\022\n\016EUCLIDEAN_LOSS\020\007\022\013\n\007ELTWISE\020\031\022\007\n\003EXP\020" + "&\022\013\n\007FLATTEN\020\010\022\r\n\tHDF5_DATA\020\t\022\017\n\013HDF5_OU" + "TPUT\020\n\022\016\n\nHINGE_LOSS\020\034\022\n\n\006IM2COL\020\013\022\016\n\nIM" + "AGE_DATA\020\014\022\021\n\rINFOGAIN_LOSS\020\r\022\021\n\rINNER_P" + "RODUCT\020\016\022\007\n\003LRN\020\017\022\017\n\013MEMORY_DATA\020\035\022\035\n\031MU" + "LTINOMIAL_LOGISTIC_LOSS\020\020\022\007\n\003MVN\020\"\022\013\n\007PO" + "OLING\020\021\022\t\n\005POWER\020\032\022\010\n\004RELU\020\022\022\013\n\007SIGMOID\020" + "\023\022\036\n\032SIGMOID_CROSS_ENTROPY_LOSS\020\033\022\013\n\007SIL" + "ENCE\020$\022\013\n\007SOFTMAX\020\024\022\020\n\014SOFTMAX_LOSS\020\025\022\t\n" + "\005SPLIT\020\026\022\t\n\005SLICE\020!\022\010\n\004TANH\020\027\022\017\n\013WINDOW_" + "DATA\020\030\022\r\n\tTHRESHOLD\020\037\"*\n\014DimCheckMode\022\n\n" + "\006STRICT\020\000\022\016\n\nPERMISSIVE\020\001\"\240\010\n\020V0LayerPar" + "ameter\022\014\n\004name\030\001 \001(\t\022\014\n\004type\030\002 \001(\t\022\022\n\nnu" + "m_output\030\003 \001(\r\022\026\n\010biasterm\030\004 \001(\010:\004true\0224" + "\n\rweight_filler\030\005 \001(\0132\035.opencv_caffe.Fil" + "lerParameter\0222\n\013bias_filler\030\006 \001(\0132\035.open" + "cv_caffe.FillerParameter\022\016\n\003pad\030\007 \001(\r:\0010" + "\022\022\n\nkernelsize\030\010 \001(\r\022\020\n\005group\030\t \001(\r:\0011\022\021" + "\n\006stride\030\n \001(\r:\0011\022<\n\004pool\030\013 \001(\0162).opencv" + "_caffe.V0LayerParameter.PoolMethod:\003MAX\022" + "\032\n\rdropout_ratio\030\014 \001(\002:\0030.5\022\025\n\nlocal_siz" + "e\030\r \001(\r:\0015\022\020\n\005alpha\030\016 \001(\002:\0011\022\022\n\004beta\030\017 \001" + "(\002:\0040.75\022\014\n\001k\030\026 \001(\002:\0011\022\016\n\006source\030\020 \001(\t\022\020" + "\n\005scale\030\021 \001(\002:\0011\022\020\n\010meanfile\030\022 \001(\t\022\021\n\tba" + "tchsize\030\023 \001(\r\022\023\n\010cropsize\030\024 \001(\r:\0010\022\025\n\006mi" + "rror\030\025 \001(\010:\005false\022&\n\005blobs\0302 \003(\0132\027.openc" + "v_caffe.BlobProto\022\020\n\010blobs_lr\0303 \003(\002\022\024\n\014w" + "eight_decay\0304 \003(\002\022\024\n\trand_skip\0305 \001(\r:\0010\022" + "\035\n\020det_fg_threshold\0306 \001(\002:\0030.5\022\035\n\020det_bg" + "_threshold\0307 \001(\002:\0030.5\022\035\n\017det_fg_fraction" + "\0308 \001(\002:\0040.25\022\032\n\017det_context_pad\030: \001(\r:\0010" + "\022\033\n\rdet_crop_mode\030; \001(\t:\004warp\022\022\n\007new_num" + "\030< \001(\005:\0010\022\027\n\014new_channels\030= \001(\005:\0010\022\025\n\nne" + "w_height\030> \001(\005:\0010\022\024\n\tnew_width\030\? \001(\005:\0010\022" + "\035\n\016shuffle_images\030@ \001(\010:\005false\022\025\n\nconcat" + "_dim\030A \001(\r:\0011\022=\n\021hdf5_output_param\030\351\007 \001(" + "\0132!.opencv_caffe.HDF5OutputParameter\".\n\n" + "PoolMethod\022\007\n\003MAX\020\000\022\007\n\003AVE\020\001\022\016\n\nSTOCHAST" + "IC\020\002\"^\n\016PReLUParameter\022-\n\006filler\030\001 \001(\0132\035" + ".opencv_caffe.FillerParameter\022\035\n\016channel" + "_shared\030\002 \001(\010:\005false\"\207\001\n\016NormalizedBBox\022" + "\014\n\004xmin\030\001 \001(\002\022\014\n\004ymin\030\002 \001(\002\022\014\n\004xmax\030\003 \001(" + "\002\022\014\n\004ymax\030\004 \001(\002\022\r\n\005label\030\005 \001(\005\022\021\n\tdiffic" + "ult\030\006 \001(\010\022\r\n\005score\030\007 \001(\002\022\014\n\004size\030\010 \001(\002\"Y" + "\n\023ROIPoolingParameter\022\023\n\010pooled_h\030\001 \001(\r:" + "\0010\022\023\n\010pooled_w\030\002 \001(\r:\0010\022\030\n\rspatial_scale" + "\030\003 \001(\002:\0011\"\310\001\n\021ProposalParameter\022\027\n\013feat_" + "stride\030\001 \001(\r:\00216\022\025\n\tbase_size\030\002 \001(\r:\00216\022" + "\024\n\010min_size\030\003 \001(\r:\00216\022\r\n\005ratio\030\004 \003(\002\022\r\n\005" + "scale\030\005 \003(\002\022\032\n\014pre_nms_topn\030\006 \001(\r:\0046000\022" + "\032\n\rpost_nms_topn\030\007 \001(\r:\003300\022\027\n\nnms_thres" + "h\030\010 \001(\002:\0030.7\"V\n\025PSROIPoolingParameter\022\025\n" + "\rspatial_scale\030\001 \002(\002\022\022\n\noutput_dim\030\002 \002(\005" + "\022\022\n\ngroup_size\030\003 \002(\005*=\n\004Type\022\n\n\006DOUBLE\020\000" + "\022\t\n\005FLOAT\020\001\022\013\n\007FLOAT16\020\002\022\007\n\003INT\020\003\022\010\n\004UIN" + "T\020\004*\034\n\005Phase\022\t\n\005TRAIN\020\000\022\010\n\004TEST\020\001" }; ::google::protobuf::DescriptorPool::InternalAddGeneratedFile( - descriptor, 19049); + descriptor, 18833); ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile( "opencv-caffe.proto", &protobuf_RegisterTypes); } @@ -13344,8 +13252,6 @@ void LayerParameter::InitAsDefaultInstance() { ::opencv_caffe::ConvolutionParameter::internal_default_instance()); ::opencv_caffe::_LayerParameter_default_instance_._instance.get_mutable()->crop_param_ = const_cast< ::opencv_caffe::CropParameter*>( ::opencv_caffe::CropParameter::internal_default_instance()); - ::opencv_caffe::_LayerParameter_default_instance_._instance.get_mutable()->custom_param_ = const_cast< ::opencv_caffe::CustomParameter*>( - ::opencv_caffe::CustomParameter::internal_default_instance()); ::opencv_caffe::_LayerParameter_default_instance_._instance.get_mutable()->data_param_ = const_cast< ::opencv_caffe::DataParameter*>( ::opencv_caffe::DataParameter::internal_default_instance()); ::opencv_caffe::_LayerParameter_default_instance_._instance.get_mutable()->detection_output_param_ = const_cast< ::opencv_caffe::DetectionOutputParameter*>( @@ -13457,7 +13363,6 @@ const int LayerParameter::kConcatParamFieldNumber; const int LayerParameter::kContrastiveLossParamFieldNumber; const int LayerParameter::kConvolutionParamFieldNumber; const int LayerParameter::kCropParamFieldNumber; -const int LayerParameter::kCustomParamFieldNumber; const int LayerParameter::kDataParamFieldNumber; const int LayerParameter::kDetectionOutputParamFieldNumber; const int LayerParameter::kDropoutParamFieldNumber; @@ -13794,11 +13699,6 @@ LayerParameter::LayerParameter(const LayerParameter& from) } else { proposal_param_ = NULL; } - if (from.has_custom_param()) { - custom_param_ = new ::opencv_caffe::CustomParameter(*from.custom_param_); - } else { - custom_param_ = NULL; - } if (from.has_psroi_pooling_param()) { psroi_pooling_param_ = new ::opencv_caffe::PSROIPoolingParameter(*from.psroi_pooling_param_); } else { @@ -13882,7 +13782,6 @@ void LayerParameter::SharedDtor() { if (this != internal_default_instance()) delete norm_param_; if (this != internal_default_instance()) delete prior_box_param_; if (this != internal_default_instance()) delete proposal_param_; - if (this != internal_default_instance()) delete custom_param_; if (this != internal_default_instance()) delete psroi_pooling_param_; if (this != internal_default_instance()) delete roi_pooling_param_; } @@ -14156,17 +14055,13 @@ void LayerParameter::Clear() { proposal_param_->Clear(); } if (cached_has_bits & 0x00400000u) { - GOOGLE_DCHECK(custom_param_ != NULL); - custom_param_->Clear(); - } - if (cached_has_bits & 0x00800000u) { GOOGLE_DCHECK(psroi_pooling_param_ != NULL); psroi_pooling_param_->Clear(); } - } - if (cached_has_bits & 0x01000000u) { - GOOGLE_DCHECK(roi_pooling_param_ != NULL); - roi_pooling_param_->Clear(); + if (cached_has_bits & 0x00800000u) { + GOOGLE_DCHECK(roi_pooling_param_ != NULL); + roi_pooling_param_->Clear(); + } } phase_ = 0; _has_bits_.Clear(); @@ -14975,18 +14870,6 @@ bool LayerParameter::MergePartialFromCodedStream( break; } - // optional .opencv_caffe.CustomParameter custom_param = 202; - case 202: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(82u /* 1618 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( - input, mutable_custom_param())); - } else { - goto handle_unusual; - } - break; - } - // optional .opencv_caffe.PSROIPoolingParameter psroi_pooling_param = 10002; case 10002: { if (static_cast< ::google::protobuf::uint8>(tag) == @@ -15114,7 +14997,7 @@ void LayerParameter::SerializeWithCachedSizes( cached_has_bits = _has_bits_[1]; // optional .opencv_caffe.Phase phase = 10; - if (cached_has_bits & 0x02000000u) { + if (cached_has_bits & 0x01000000u) { ::google::protobuf::internal::WireFormatLite::WriteEnum( 10, this->phase(), output); } @@ -15439,20 +15322,14 @@ void LayerParameter::SerializeWithCachedSizes( 201, *this->proposal_param_, output); } - // optional .opencv_caffe.CustomParameter custom_param = 202; - if (cached_has_bits & 0x00400000u) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 202, *this->custom_param_, output); - } - // optional .opencv_caffe.PSROIPoolingParameter psroi_pooling_param = 10002; - if (cached_has_bits & 0x00800000u) { + if (cached_has_bits & 0x00400000u) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( 10002, *this->psroi_pooling_param_, output); } // optional .opencv_caffe.ROIPoolingParameter roi_pooling_param = 8266711; - if (cached_has_bits & 0x01000000u) { + if (cached_has_bits & 0x00800000u) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( 8266711, *this->roi_pooling_param_, output); } @@ -15552,7 +15429,7 @@ ::google::protobuf::uint8* LayerParameter::InternalSerializeWithCachedSizesToArr cached_has_bits = _has_bits_[1]; // optional .opencv_caffe.Phase phase = 10; - if (cached_has_bits & 0x02000000u) { + if (cached_has_bits & 0x01000000u) { target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray( 10, this->phase(), target); } @@ -15927,22 +15804,15 @@ ::google::protobuf::uint8* LayerParameter::InternalSerializeWithCachedSizesToArr 201, *this->proposal_param_, deterministic, target); } - // optional .opencv_caffe.CustomParameter custom_param = 202; - if (cached_has_bits & 0x00400000u) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 202, *this->custom_param_, deterministic, target); - } - // optional .opencv_caffe.PSROIPoolingParameter psroi_pooling_param = 10002; - if (cached_has_bits & 0x00800000u) { + if (cached_has_bits & 0x00400000u) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( 10002, *this->psroi_pooling_param_, deterministic, target); } // optional .opencv_caffe.ROIPoolingParameter roi_pooling_param = 8266711; - if (cached_has_bits & 0x01000000u) { + if (cached_has_bits & 0x00800000u) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( 8266711, *this->roi_pooling_param_, deterministic, target); @@ -16434,13 +16304,6 @@ size_t LayerParameter::ByteSizeLong() const { *this->proposal_param_); } - // optional .opencv_caffe.CustomParameter custom_param = 202; - if (has_custom_param()) { - total_size += 2 + - ::google::protobuf::internal::WireFormatLite::MessageSize( - *this->custom_param_); - } - // optional .opencv_caffe.PSROIPoolingParameter psroi_pooling_param = 10002; if (has_psroi_pooling_param()) { total_size += 3 + @@ -16448,8 +16311,6 @@ size_t LayerParameter::ByteSizeLong() const { *this->psroi_pooling_param_); } - } - if (_has_bits_[56 / 32] & 50331648u) { // optional .opencv_caffe.ROIPoolingParameter roi_pooling_param = 8266711; if (has_roi_pooling_param()) { total_size += 4 + @@ -16457,13 +16318,13 @@ size_t LayerParameter::ByteSizeLong() const { *this->roi_pooling_param_); } - // optional .opencv_caffe.Phase phase = 10; - if (has_phase()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::EnumSize(this->phase()); - } - } + // optional .opencv_caffe.Phase phase = 10; + if (has_phase()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::EnumSize(this->phase()); + } + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); _cached_size_ = cached_size; @@ -16681,20 +16542,14 @@ void LayerParameter::MergeFrom(const LayerParameter& from) { mutable_proposal_param()->::opencv_caffe::ProposalParameter::MergeFrom(from.proposal_param()); } if (cached_has_bits & 0x00400000u) { - mutable_custom_param()->::opencv_caffe::CustomParameter::MergeFrom(from.custom_param()); - } - if (cached_has_bits & 0x00800000u) { mutable_psroi_pooling_param()->::opencv_caffe::PSROIPoolingParameter::MergeFrom(from.psroi_pooling_param()); } - } - if (cached_has_bits & 50331648u) { - if (cached_has_bits & 0x01000000u) { + if (cached_has_bits & 0x00800000u) { mutable_roi_pooling_param()->::opencv_caffe::ROIPoolingParameter::MergeFrom(from.roi_pooling_param()); } - if (cached_has_bits & 0x02000000u) { - phase_ = from.phase_; - } - _has_bits_[1] |= cached_has_bits; + } + if (cached_has_bits & 0x01000000u) { + set_phase(from.phase()); } } @@ -16713,9 +16568,6 @@ void LayerParameter::CopyFrom(const LayerParameter& from) { } bool LayerParameter::IsInitialized() const { - if (has_custom_param()) { - if (!this->custom_param_->IsInitialized()) return false; - } if (has_psroi_pooling_param()) { if (!this->psroi_pooling_param_->IsInitialized()) return false; } @@ -16790,7 +16642,6 @@ void LayerParameter::InternalSwap(LayerParameter* other) { swap(norm_param_, other->norm_param_); swap(prior_box_param_, other->prior_box_param_); swap(proposal_param_, other->proposal_param_); - swap(custom_param_, other->custom_param_); swap(psroi_pooling_param_, other->psroi_pooling_param_); swap(roi_pooling_param_, other->roi_pooling_param_); swap(phase_, other->phase_); @@ -41258,769 +41109,6 @@ ::google::protobuf::Metadata PSROIPoolingParameter::GetMetadata() const { } -// =================================================================== - -void CustomParameter_Value::InitAsDefaultInstance() { -} -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int CustomParameter_Value::kNameFieldNumber; -const int CustomParameter_Value::kIFieldNumber; -const int CustomParameter_Value::kUiFieldNumber; -const int CustomParameter_Value::kFFieldNumber; -const int CustomParameter_Value::kDFieldNumber; -const int CustomParameter_Value::kBFieldNumber; -const int CustomParameter_Value::kSFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 - -CustomParameter_Value::CustomParameter_Value() - : ::google::protobuf::Message(), _internal_metadata_(NULL) { - if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { - ::protobuf_opencv_2dcaffe_2eproto::InitDefaultsCustomParameter_Value(); - } - SharedCtor(); - // @@protoc_insertion_point(constructor:opencv_caffe.CustomParameter.Value) -} -CustomParameter_Value::CustomParameter_Value(const CustomParameter_Value& from) - : ::google::protobuf::Message(), - _internal_metadata_(NULL), - _has_bits_(from._has_bits_), - _cached_size_(0) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (from.has_name()) { - name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_); - } - s_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - if (from.has_s()) { - s_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.s_); - } - ::memcpy(&i_, &from.i_, - static_cast(reinterpret_cast(&b_) - - reinterpret_cast(&i_)) + sizeof(b_)); - // @@protoc_insertion_point(copy_constructor:opencv_caffe.CustomParameter.Value) -} - -void CustomParameter_Value::SharedCtor() { - _cached_size_ = 0; - name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - s_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - ::memset(&i_, 0, static_cast( - reinterpret_cast(&b_) - - reinterpret_cast(&i_)) + sizeof(b_)); -} - -CustomParameter_Value::~CustomParameter_Value() { - // @@protoc_insertion_point(destructor:opencv_caffe.CustomParameter.Value) - SharedDtor(); -} - -void CustomParameter_Value::SharedDtor() { - name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - s_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); -} - -void CustomParameter_Value::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); -} -const ::google::protobuf::Descriptor* CustomParameter_Value::descriptor() { - ::protobuf_opencv_2dcaffe_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_opencv_2dcaffe_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; -} - -const CustomParameter_Value& CustomParameter_Value::default_instance() { - ::protobuf_opencv_2dcaffe_2eproto::InitDefaultsCustomParameter_Value(); - return *internal_default_instance(); -} - -CustomParameter_Value* CustomParameter_Value::New(::google::protobuf::Arena* arena) const { - CustomParameter_Value* n = new CustomParameter_Value; - if (arena != NULL) { - arena->Own(n); - } - return n; -} - -void CustomParameter_Value::Clear() { -// @@protoc_insertion_point(message_clear_start:opencv_caffe.CustomParameter.Value) - ::google::protobuf::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - cached_has_bits = _has_bits_[0]; - if (cached_has_bits & 3u) { - if (cached_has_bits & 0x00000001u) { - GOOGLE_DCHECK(!name_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited())); - (*name_.UnsafeRawStringPointer())->clear(); - } - if (cached_has_bits & 0x00000002u) { - GOOGLE_DCHECK(!s_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited())); - (*s_.UnsafeRawStringPointer())->clear(); - } - } - if (cached_has_bits & 124u) { - ::memset(&i_, 0, static_cast( - reinterpret_cast(&b_) - - reinterpret_cast(&i_)) + sizeof(b_)); - } - _has_bits_.Clear(); - _internal_metadata_.Clear(); -} - -bool CustomParameter_Value::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - // @@protoc_insertion_point(parse_start:opencv_caffe.CustomParameter.Value) - for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // required string name = 1; - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_name())); - ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( - this->name().data(), static_cast(this->name().length()), - ::google::protobuf::internal::WireFormat::PARSE, - "opencv_caffe.CustomParameter.Value.name"); - } else { - goto handle_unusual; - } - break; - } - - // optional int32 i = 2; - case 2: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) { - set_has_i(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( - input, &i_))); - } else { - goto handle_unusual; - } - break; - } - - // optional uint32 ui = 3; - case 3: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) { - set_has_ui(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &ui_))); - } else { - goto handle_unusual; - } - break; - } - - // optional float f = 6; - case 6: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(53u /* 53 & 0xFF */)) { - set_has_f(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>( - input, &f_))); - } else { - goto handle_unusual; - } - break; - } - - // optional double d = 7; - case 7: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(57u /* 57 & 0xFF */)) { - set_has_d(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( - input, &d_))); - } else { - goto handle_unusual; - } - break; - } - - // optional bool b = 8; - case 8: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(64u /* 64 & 0xFF */)) { - set_has_b(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( - input, &b_))); - } else { - goto handle_unusual; - } - break; - } - - // optional string s = 9; - case 9: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(74u /* 74 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_s())); - ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( - this->s().data(), static_cast(this->s().length()), - ::google::protobuf::internal::WireFormat::PARSE, - "opencv_caffe.CustomParameter.Value.s"); - } else { - goto handle_unusual; - } - break; - } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:opencv_caffe.CustomParameter.Value) - return true; -failure: - // @@protoc_insertion_point(parse_failure:opencv_caffe.CustomParameter.Value) - return false; -#undef DO_ -} - -void CustomParameter_Value::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:opencv_caffe.CustomParameter.Value) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _has_bits_[0]; - // required string name = 1; - if (cached_has_bits & 0x00000001u) { - ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( - this->name().data(), static_cast(this->name().length()), - ::google::protobuf::internal::WireFormat::SERIALIZE, - "opencv_caffe.CustomParameter.Value.name"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 1, this->name(), output); - } - - // optional int32 i = 2; - if (cached_has_bits & 0x00000004u) { - ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->i(), output); - } - - // optional uint32 ui = 3; - if (cached_has_bits & 0x00000008u) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->ui(), output); - } - - // optional float f = 6; - if (cached_has_bits & 0x00000020u) { - ::google::protobuf::internal::WireFormatLite::WriteFloat(6, this->f(), output); - } - - // optional double d = 7; - if (cached_has_bits & 0x00000010u) { - ::google::protobuf::internal::WireFormatLite::WriteDouble(7, this->d(), output); - } - - // optional bool b = 8; - if (cached_has_bits & 0x00000040u) { - ::google::protobuf::internal::WireFormatLite::WriteBool(8, this->b(), output); - } - - // optional string s = 9; - if (cached_has_bits & 0x00000002u) { - ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( - this->s().data(), static_cast(this->s().length()), - ::google::protobuf::internal::WireFormat::SERIALIZE, - "opencv_caffe.CustomParameter.Value.s"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 9, this->s(), output); - } - - if (_internal_metadata_.have_unknown_fields()) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - _internal_metadata_.unknown_fields(), output); - } - // @@protoc_insertion_point(serialize_end:opencv_caffe.CustomParameter.Value) -} - -::google::protobuf::uint8* CustomParameter_Value::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.CustomParameter.Value) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _has_bits_[0]; - // required string name = 1; - if (cached_has_bits & 0x00000001u) { - ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( - this->name().data(), static_cast(this->name().length()), - ::google::protobuf::internal::WireFormat::SERIALIZE, - "opencv_caffe.CustomParameter.Value.name"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 1, this->name(), target); - } - - // optional int32 i = 2; - if (cached_has_bits & 0x00000004u) { - target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->i(), target); - } - - // optional uint32 ui = 3; - if (cached_has_bits & 0x00000008u) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(3, this->ui(), target); - } - - // optional float f = 6; - if (cached_has_bits & 0x00000020u) { - target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(6, this->f(), target); - } - - // optional double d = 7; - if (cached_has_bits & 0x00000010u) { - target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(7, this->d(), target); - } - - // optional bool b = 8; - if (cached_has_bits & 0x00000040u) { - target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(8, this->b(), target); - } - - // optional string s = 9; - if (cached_has_bits & 0x00000002u) { - ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( - this->s().data(), static_cast(this->s().length()), - ::google::protobuf::internal::WireFormat::SERIALIZE, - "opencv_caffe.CustomParameter.Value.s"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 9, this->s(), target); - } - - if (_internal_metadata_.have_unknown_fields()) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields(), target); - } - // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.CustomParameter.Value) - return target; -} - -size_t CustomParameter_Value::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:opencv_caffe.CustomParameter.Value) - size_t total_size = 0; - - if (_internal_metadata_.have_unknown_fields()) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - _internal_metadata_.unknown_fields()); - } - // required string name = 1; - if (has_name()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->name()); - } - if (_has_bits_[0 / 32] & 126u) { - // optional string s = 9; - if (has_s()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->s()); - } - - // optional int32 i = 2; - if (has_i()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::Int32Size( - this->i()); - } - - // optional uint32 ui = 3; - if (has_ui()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->ui()); - } - - // optional double d = 7; - if (has_d()) { - total_size += 1 + 8; - } - - // optional float f = 6; - if (has_f()) { - total_size += 1 + 4; - } - - // optional bool b = 8; - if (has_b()) { - total_size += 1 + 1; - } - - } - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - return total_size; -} - -void CustomParameter_Value::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.CustomParameter.Value) - GOOGLE_DCHECK_NE(&from, this); - const CustomParameter_Value* source = - ::google::protobuf::internal::DynamicCastToGenerated( - &from); - if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.CustomParameter.Value) - ::google::protobuf::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.CustomParameter.Value) - MergeFrom(*source); - } -} - -void CustomParameter_Value::MergeFrom(const CustomParameter_Value& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.CustomParameter.Value) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = from._has_bits_[0]; - if (cached_has_bits & 127u) { - if (cached_has_bits & 0x00000001u) { - set_has_name(); - name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_); - } - if (cached_has_bits & 0x00000002u) { - set_has_s(); - s_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.s_); - } - if (cached_has_bits & 0x00000004u) { - i_ = from.i_; - } - if (cached_has_bits & 0x00000008u) { - ui_ = from.ui_; - } - if (cached_has_bits & 0x00000010u) { - d_ = from.d_; - } - if (cached_has_bits & 0x00000020u) { - f_ = from.f_; - } - if (cached_has_bits & 0x00000040u) { - b_ = from.b_; - } - _has_bits_[0] |= cached_has_bits; - } -} - -void CustomParameter_Value::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.CustomParameter.Value) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void CustomParameter_Value::CopyFrom(const CustomParameter_Value& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.CustomParameter.Value) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool CustomParameter_Value::IsInitialized() const { - if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false; - return true; -} - -void CustomParameter_Value::Swap(CustomParameter_Value* other) { - if (other == this) return; - InternalSwap(other); -} -void CustomParameter_Value::InternalSwap(CustomParameter_Value* other) { - using std::swap; - name_.Swap(&other->name_); - s_.Swap(&other->s_); - swap(i_, other->i_); - swap(ui_, other->ui_); - swap(d_, other->d_); - swap(f_, other->f_); - swap(b_, other->b_); - swap(_has_bits_[0], other->_has_bits_[0]); - _internal_metadata_.Swap(&other->_internal_metadata_); - swap(_cached_size_, other->_cached_size_); -} - -::google::protobuf::Metadata CustomParameter_Value::GetMetadata() const { - protobuf_opencv_2dcaffe_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_opencv_2dcaffe_2eproto::file_level_metadata[kIndexInFileMessages]; -} - - -// =================================================================== - -void CustomParameter::InitAsDefaultInstance() { -} -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int CustomParameter::kValueFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 - -CustomParameter::CustomParameter() - : ::google::protobuf::Message(), _internal_metadata_(NULL) { - if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { - ::protobuf_opencv_2dcaffe_2eproto::InitDefaultsCustomParameter(); - } - SharedCtor(); - // @@protoc_insertion_point(constructor:opencv_caffe.CustomParameter) -} -CustomParameter::CustomParameter(const CustomParameter& from) - : ::google::protobuf::Message(), - _internal_metadata_(NULL), - _has_bits_(from._has_bits_), - _cached_size_(0), - value_(from.value_) { - _internal_metadata_.MergeFrom(from._internal_metadata_); - // @@protoc_insertion_point(copy_constructor:opencv_caffe.CustomParameter) -} - -void CustomParameter::SharedCtor() { - _cached_size_ = 0; -} - -CustomParameter::~CustomParameter() { - // @@protoc_insertion_point(destructor:opencv_caffe.CustomParameter) - SharedDtor(); -} - -void CustomParameter::SharedDtor() { -} - -void CustomParameter::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); -} -const ::google::protobuf::Descriptor* CustomParameter::descriptor() { - ::protobuf_opencv_2dcaffe_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_opencv_2dcaffe_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; -} - -const CustomParameter& CustomParameter::default_instance() { - ::protobuf_opencv_2dcaffe_2eproto::InitDefaultsCustomParameter(); - return *internal_default_instance(); -} - -CustomParameter* CustomParameter::New(::google::protobuf::Arena* arena) const { - CustomParameter* n = new CustomParameter; - if (arena != NULL) { - arena->Own(n); - } - return n; -} - -void CustomParameter::Clear() { -// @@protoc_insertion_point(message_clear_start:opencv_caffe.CustomParameter) - ::google::protobuf::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - value_.Clear(); - _has_bits_.Clear(); - _internal_metadata_.Clear(); -} - -bool CustomParameter::MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) { -#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure - ::google::protobuf::uint32 tag; - // @@protoc_insertion_point(parse_start:opencv_caffe.CustomParameter) - for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // repeated .opencv_caffe.CustomParameter.Value value = 1; - case 1: { - if (static_cast< ::google::protobuf::uint8>(tag) == - static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) { - DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(input, add_value())); - } else { - goto handle_unusual; - } - break; - } - - default: { - handle_unusual: - if (tag == 0) { - goto success; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, _internal_metadata_.mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:opencv_caffe.CustomParameter) - return true; -failure: - // @@protoc_insertion_point(parse_failure:opencv_caffe.CustomParameter) - return false; -#undef DO_ -} - -void CustomParameter::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:opencv_caffe.CustomParameter) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // repeated .opencv_caffe.CustomParameter.Value value = 1; - for (unsigned int i = 0, - n = static_cast(this->value_size()); i < n; i++) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 1, this->value(static_cast(i)), output); - } - - if (_internal_metadata_.have_unknown_fields()) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - _internal_metadata_.unknown_fields(), output); - } - // @@protoc_insertion_point(serialize_end:opencv_caffe.CustomParameter) -} - -::google::protobuf::uint8* CustomParameter::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.CustomParameter) - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // repeated .opencv_caffe.CustomParameter.Value value = 1; - for (unsigned int i = 0, - n = static_cast(this->value_size()); i < n; i++) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageToArray( - 1, this->value(static_cast(i)), deterministic, target); - } - - if (_internal_metadata_.have_unknown_fields()) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields(), target); - } - // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.CustomParameter) - return target; -} - -size_t CustomParameter::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:opencv_caffe.CustomParameter) - size_t total_size = 0; - - if (_internal_metadata_.have_unknown_fields()) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - _internal_metadata_.unknown_fields()); - } - // repeated .opencv_caffe.CustomParameter.Value value = 1; - { - unsigned int count = static_cast(this->value_size()); - total_size += 1UL * count; - for (unsigned int i = 0; i < count; i++) { - total_size += - ::google::protobuf::internal::WireFormatLite::MessageSize( - this->value(static_cast(i))); - } - } - - int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = cached_size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); - return total_size; -} - -void CustomParameter::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.CustomParameter) - GOOGLE_DCHECK_NE(&from, this); - const CustomParameter* source = - ::google::protobuf::internal::DynamicCastToGenerated( - &from); - if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.CustomParameter) - ::google::protobuf::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.CustomParameter) - MergeFrom(*source); - } -} - -void CustomParameter::MergeFrom(const CustomParameter& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.CustomParameter) - GOOGLE_DCHECK_NE(&from, this); - _internal_metadata_.MergeFrom(from._internal_metadata_); - ::google::protobuf::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - value_.MergeFrom(from.value_); -} - -void CustomParameter::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.CustomParameter) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void CustomParameter::CopyFrom(const CustomParameter& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.CustomParameter) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool CustomParameter::IsInitialized() const { - if (!::google::protobuf::internal::AllAreInitialized(this->value())) return false; - return true; -} - -void CustomParameter::Swap(CustomParameter* other) { - if (other == this) return; - InternalSwap(other); -} -void CustomParameter::InternalSwap(CustomParameter* other) { - using std::swap; - value_.InternalSwap(&other->value_); - swap(_has_bits_[0], other->_has_bits_[0]); - _internal_metadata_.Swap(&other->_internal_metadata_); - swap(_cached_size_, other->_cached_size_); -} - -::google::protobuf::Metadata CustomParameter::GetMetadata() const { - protobuf_opencv_2dcaffe_2eproto::protobuf_AssignDescriptorsOnce(); - return ::protobuf_opencv_2dcaffe_2eproto::file_level_metadata[kIndexInFileMessages]; -} - - // @@protoc_insertion_point(namespace_scope) } // namespace opencv_caffe diff --git a/modules/dnn/misc/caffe/opencv-caffe.pb.h b/modules/dnn/misc/caffe/opencv-caffe.pb.h index d2afcba38a9e..1920cf8e89e6 100644 --- a/modules/dnn/misc/caffe/opencv-caffe.pb.h +++ b/modules/dnn/misc/caffe/opencv-caffe.pb.h @@ -37,7 +37,7 @@ namespace protobuf_opencv_2dcaffe_2eproto { struct TableStruct { static const ::google::protobuf::internal::ParseTableField entries[]; static const ::google::protobuf::internal::AuxillaryParseTableField aux[]; - static const ::google::protobuf::internal::ParseTable schema[73]; + static const ::google::protobuf::internal::ParseTable schema[71]; static const ::google::protobuf::internal::FieldMetadata field_metadata[]; static const ::google::protobuf::internal::SerializationTable serialization_table[]; static const ::google::protobuf::uint32 offsets[]; @@ -185,10 +185,6 @@ void InitDefaultsProposalParameterImpl(); void InitDefaultsProposalParameter(); void InitDefaultsPSROIPoolingParameterImpl(); void InitDefaultsPSROIPoolingParameter(); -void InitDefaultsCustomParameter_ValueImpl(); -void InitDefaultsCustomParameter_Value(); -void InitDefaultsCustomParameterImpl(); -void InitDefaultsCustomParameter(); inline void InitDefaults() { InitDefaultsBlobShape(); InitDefaultsBlobProto(); @@ -261,8 +257,6 @@ inline void InitDefaults() { InitDefaultsROIPoolingParameter(); InitDefaultsProposalParameter(); InitDefaultsPSROIPoolingParameter(); - InitDefaultsCustomParameter_Value(); - InitDefaultsCustomParameter(); } } // namespace protobuf_opencv_2dcaffe_2eproto namespace opencv_caffe { @@ -299,12 +293,6 @@ extern ConvolutionParameterDefaultTypeInternal _ConvolutionParameter_default_ins class CropParameter; class CropParameterDefaultTypeInternal; extern CropParameterDefaultTypeInternal _CropParameter_default_instance_; -class CustomParameter; -class CustomParameterDefaultTypeInternal; -extern CustomParameterDefaultTypeInternal _CustomParameter_default_instance_; -class CustomParameter_Value; -class CustomParameter_ValueDefaultTypeInternal; -extern CustomParameter_ValueDefaultTypeInternal _CustomParameter_Value_default_instance_; class DataParameter; class DataParameterDefaultTypeInternal; extern DataParameterDefaultTypeInternal _DataParameter_default_instance_; @@ -4938,15 +4926,6 @@ class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_ ::opencv_caffe::ProposalParameter* mutable_proposal_param(); void set_allocated_proposal_param(::opencv_caffe::ProposalParameter* proposal_param); - // optional .opencv_caffe.CustomParameter custom_param = 202; - bool has_custom_param() const; - void clear_custom_param(); - static const int kCustomParamFieldNumber = 202; - const ::opencv_caffe::CustomParameter& custom_param() const; - ::opencv_caffe::CustomParameter* release_custom_param(); - ::opencv_caffe::CustomParameter* mutable_custom_param(); - void set_allocated_custom_param(::opencv_caffe::CustomParameter* custom_param); - // optional .opencv_caffe.PSROIPoolingParameter psroi_pooling_param = 10002; bool has_psroi_pooling_param() const; void clear_psroi_pooling_param(); @@ -5000,8 +4979,6 @@ class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_ void clear_has_convolution_param(); void set_has_crop_param(); void clear_has_crop_param(); - void set_has_custom_param(); - void clear_has_custom_param(); void set_has_data_param(); void clear_has_data_param(); void set_has_detection_output_param(); @@ -5155,7 +5132,6 @@ class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_ ::opencv_caffe::NormalizeBBoxParameter* norm_param_; ::opencv_caffe::PriorBoxParameter* prior_box_param_; ::opencv_caffe::ProposalParameter* proposal_param_; - ::opencv_caffe::CustomParameter* custom_param_; ::opencv_caffe::PSROIPoolingParameter* psroi_pooling_param_; ::opencv_caffe::ROIPoolingParameter* roi_pooling_param_; int phase_; @@ -14690,307 +14666,6 @@ class PSROIPoolingParameter : public ::google::protobuf::Message /* @@protoc_ins friend struct ::protobuf_opencv_2dcaffe_2eproto::TableStruct; friend void ::protobuf_opencv_2dcaffe_2eproto::InitDefaultsPSROIPoolingParameterImpl(); }; -// ------------------------------------------------------------------- - -class CustomParameter_Value : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.CustomParameter.Value) */ { - public: - CustomParameter_Value(); - virtual ~CustomParameter_Value(); - - CustomParameter_Value(const CustomParameter_Value& from); - - inline CustomParameter_Value& operator=(const CustomParameter_Value& from) { - CopyFrom(from); - return *this; - } - #if LANG_CXX11 - CustomParameter_Value(CustomParameter_Value&& from) noexcept - : CustomParameter_Value() { - *this = ::std::move(from); - } - - inline CustomParameter_Value& operator=(CustomParameter_Value&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - #endif - inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields(); - } - inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields(); - } - - static const ::google::protobuf::Descriptor* descriptor(); - static const CustomParameter_Value& default_instance(); - - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const CustomParameter_Value* internal_default_instance() { - return reinterpret_cast( - &_CustomParameter_Value_default_instance_); - } - static PROTOBUF_CONSTEXPR int const kIndexInFileMessages = - 71; - - void Swap(CustomParameter_Value* other); - friend void swap(CustomParameter_Value& a, CustomParameter_Value& b) { - a.Swap(&b); - } - - // implements Message ---------------------------------------------- - - inline CustomParameter_Value* New() const PROTOBUF_FINAL { return New(NULL); } - - CustomParameter_Value* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL; - void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void CopyFrom(const CustomParameter_Value& from); - void MergeFrom(const CustomParameter_Value& from); - void Clear() PROTOBUF_FINAL; - bool IsInitialized() const PROTOBUF_FINAL; - - size_t ByteSizeLong() const PROTOBUF_FINAL; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL; - ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL; - int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const PROTOBUF_FINAL; - void InternalSwap(CustomParameter_Value* other); - private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; - } - inline void* MaybeArenaPtr() const { - return NULL; - } - public: - - ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - // required string name = 1; - bool has_name() const; - void clear_name(); - static const int kNameFieldNumber = 1; - const ::std::string& name() const; - void set_name(const ::std::string& value); - #if LANG_CXX11 - void set_name(::std::string&& value); - #endif - void set_name(const char* value); - void set_name(const char* value, size_t size); - ::std::string* mutable_name(); - ::std::string* release_name(); - void set_allocated_name(::std::string* name); - - // optional string s = 9; - bool has_s() const; - void clear_s(); - static const int kSFieldNumber = 9; - const ::std::string& s() const; - void set_s(const ::std::string& value); - #if LANG_CXX11 - void set_s(::std::string&& value); - #endif - void set_s(const char* value); - void set_s(const char* value, size_t size); - ::std::string* mutable_s(); - ::std::string* release_s(); - void set_allocated_s(::std::string* s); - - // optional int32 i = 2; - bool has_i() const; - void clear_i(); - static const int kIFieldNumber = 2; - ::google::protobuf::int32 i() const; - void set_i(::google::protobuf::int32 value); - - // optional uint32 ui = 3; - bool has_ui() const; - void clear_ui(); - static const int kUiFieldNumber = 3; - ::google::protobuf::uint32 ui() const; - void set_ui(::google::protobuf::uint32 value); - - // optional double d = 7; - bool has_d() const; - void clear_d(); - static const int kDFieldNumber = 7; - double d() const; - void set_d(double value); - - // optional float f = 6; - bool has_f() const; - void clear_f(); - static const int kFFieldNumber = 6; - float f() const; - void set_f(float value); - - // optional bool b = 8; - bool has_b() const; - void clear_b(); - static const int kBFieldNumber = 8; - bool b() const; - void set_b(bool value); - - // @@protoc_insertion_point(class_scope:opencv_caffe.CustomParameter.Value) - private: - void set_has_name(); - void clear_has_name(); - void set_has_i(); - void clear_has_i(); - void set_has_ui(); - void clear_has_ui(); - void set_has_f(); - void clear_has_f(); - void set_has_d(); - void clear_has_d(); - void set_has_b(); - void clear_has_b(); - void set_has_s(); - void clear_has_s(); - - ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::google::protobuf::internal::HasBits<1> _has_bits_; - mutable int _cached_size_; - ::google::protobuf::internal::ArenaStringPtr name_; - ::google::protobuf::internal::ArenaStringPtr s_; - ::google::protobuf::int32 i_; - ::google::protobuf::uint32 ui_; - double d_; - float f_; - bool b_; - friend struct ::protobuf_opencv_2dcaffe_2eproto::TableStruct; - friend void ::protobuf_opencv_2dcaffe_2eproto::InitDefaultsCustomParameter_ValueImpl(); -}; -// ------------------------------------------------------------------- - -class CustomParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.CustomParameter) */ { - public: - CustomParameter(); - virtual ~CustomParameter(); - - CustomParameter(const CustomParameter& from); - - inline CustomParameter& operator=(const CustomParameter& from) { - CopyFrom(from); - return *this; - } - #if LANG_CXX11 - CustomParameter(CustomParameter&& from) noexcept - : CustomParameter() { - *this = ::std::move(from); - } - - inline CustomParameter& operator=(CustomParameter&& from) noexcept { - if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { - if (this != &from) InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - #endif - inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields(); - } - inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields(); - } - - static const ::google::protobuf::Descriptor* descriptor(); - static const CustomParameter& default_instance(); - - static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY - static inline const CustomParameter* internal_default_instance() { - return reinterpret_cast( - &_CustomParameter_default_instance_); - } - static PROTOBUF_CONSTEXPR int const kIndexInFileMessages = - 72; - - void Swap(CustomParameter* other); - friend void swap(CustomParameter& a, CustomParameter& b) { - a.Swap(&b); - } - - // implements Message ---------------------------------------------- - - inline CustomParameter* New() const PROTOBUF_FINAL { return New(NULL); } - - CustomParameter* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL; - void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL; - void CopyFrom(const CustomParameter& from); - void MergeFrom(const CustomParameter& from); - void Clear() PROTOBUF_FINAL; - bool IsInitialized() const PROTOBUF_FINAL; - - size_t ByteSizeLong() const PROTOBUF_FINAL; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL; - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL; - ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL; - int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const PROTOBUF_FINAL; - void InternalSwap(CustomParameter* other); - private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return NULL; - } - inline void* MaybeArenaPtr() const { - return NULL; - } - public: - - ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL; - - // nested types ---------------------------------------------------- - - typedef CustomParameter_Value Value; - - // accessors ------------------------------------------------------- - - // repeated .opencv_caffe.CustomParameter.Value value = 1; - int value_size() const; - void clear_value(); - static const int kValueFieldNumber = 1; - const ::opencv_caffe::CustomParameter_Value& value(int index) const; - ::opencv_caffe::CustomParameter_Value* mutable_value(int index); - ::opencv_caffe::CustomParameter_Value* add_value(); - ::google::protobuf::RepeatedPtrField< ::opencv_caffe::CustomParameter_Value >* - mutable_value(); - const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::CustomParameter_Value >& - value() const; - - // @@protoc_insertion_point(class_scope:opencv_caffe.CustomParameter) - private: - - ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::google::protobuf::internal::HasBits<1> _has_bits_; - mutable int _cached_size_; - ::google::protobuf::RepeatedPtrField< ::opencv_caffe::CustomParameter_Value > value_; - friend struct ::protobuf_opencv_2dcaffe_2eproto::TableStruct; - friend void ::protobuf_opencv_2dcaffe_2eproto::InitDefaultsCustomParameterImpl(); -}; // =================================================================== @@ -19408,13 +19083,13 @@ LayerParameter::mutable_top() { // optional .opencv_caffe.Phase phase = 10; inline bool LayerParameter::has_phase() const { - return (_has_bits_[1] & 0x02000000u) != 0; + return (_has_bits_[1] & 0x01000000u) != 0; } inline void LayerParameter::set_has_phase() { - _has_bits_[1] |= 0x02000000u; + _has_bits_[1] |= 0x01000000u; } inline void LayerParameter::clear_has_phase() { - _has_bits_[1] &= ~0x02000000u; + _has_bits_[1] &= ~0x01000000u; } inline void LayerParameter::clear_phase() { phase_ = 0; @@ -20151,60 +19826,6 @@ inline void LayerParameter::set_allocated_crop_param(::opencv_caffe::CropParamet // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.crop_param) } -// optional .opencv_caffe.CustomParameter custom_param = 202; -inline bool LayerParameter::has_custom_param() const { - return (_has_bits_[1] & 0x00400000u) != 0; -} -inline void LayerParameter::set_has_custom_param() { - _has_bits_[1] |= 0x00400000u; -} -inline void LayerParameter::clear_has_custom_param() { - _has_bits_[1] &= ~0x00400000u; -} -inline void LayerParameter::clear_custom_param() { - if (custom_param_ != NULL) custom_param_->Clear(); - clear_has_custom_param(); -} -inline const ::opencv_caffe::CustomParameter& LayerParameter::custom_param() const { - const ::opencv_caffe::CustomParameter* p = custom_param_; - // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.custom_param) - return p != NULL ? *p : *reinterpret_cast( - &::opencv_caffe::_CustomParameter_default_instance_); -} -inline ::opencv_caffe::CustomParameter* LayerParameter::release_custom_param() { - // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.custom_param) - clear_has_custom_param(); - ::opencv_caffe::CustomParameter* temp = custom_param_; - custom_param_ = NULL; - return temp; -} -inline ::opencv_caffe::CustomParameter* LayerParameter::mutable_custom_param() { - set_has_custom_param(); - if (custom_param_ == NULL) { - custom_param_ = new ::opencv_caffe::CustomParameter; - } - // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.custom_param) - return custom_param_; -} -inline void LayerParameter::set_allocated_custom_param(::opencv_caffe::CustomParameter* custom_param) { - ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); - if (message_arena == NULL) { - delete custom_param_; - } - if (custom_param) { - ::google::protobuf::Arena* submessage_arena = NULL; - if (message_arena != submessage_arena) { - custom_param = ::google::protobuf::internal::GetOwnedMessage( - message_arena, custom_param, submessage_arena); - } - set_has_custom_param(); - } else { - clear_has_custom_param(); - } - custom_param_ = custom_param; - // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.custom_param) -} - // optional .opencv_caffe.DataParameter data_param = 107; inline bool LayerParameter::has_data_param() const { return (_has_bits_[0] & 0x00000200u) != 0; @@ -21719,13 +21340,13 @@ inline void LayerParameter::set_allocated_proposal_param(::opencv_caffe::Proposa // optional .opencv_caffe.PSROIPoolingParameter psroi_pooling_param = 10002; inline bool LayerParameter::has_psroi_pooling_param() const { - return (_has_bits_[1] & 0x00800000u) != 0; + return (_has_bits_[1] & 0x00400000u) != 0; } inline void LayerParameter::set_has_psroi_pooling_param() { - _has_bits_[1] |= 0x00800000u; + _has_bits_[1] |= 0x00400000u; } inline void LayerParameter::clear_has_psroi_pooling_param() { - _has_bits_[1] &= ~0x00800000u; + _has_bits_[1] &= ~0x00400000u; } inline void LayerParameter::clear_psroi_pooling_param() { if (psroi_pooling_param_ != NULL) psroi_pooling_param_->Clear(); @@ -22043,13 +21664,13 @@ inline void LayerParameter::set_allocated_reshape_param(::opencv_caffe::ReshapeP // optional .opencv_caffe.ROIPoolingParameter roi_pooling_param = 8266711; inline bool LayerParameter::has_roi_pooling_param() const { - return (_has_bits_[1] & 0x01000000u) != 0; + return (_has_bits_[1] & 0x00800000u) != 0; } inline void LayerParameter::set_has_roi_pooling_param() { - _has_bits_[1] |= 0x01000000u; + _has_bits_[1] |= 0x00800000u; } inline void LayerParameter::clear_has_roi_pooling_param() { - _has_bits_[1] &= ~0x01000000u; + _has_bits_[1] &= ~0x00800000u; } inline void LayerParameter::clear_roi_pooling_param() { if (roi_pooling_param_ != NULL) roi_pooling_param_->Clear(); @@ -32787,290 +32408,6 @@ inline void PSROIPoolingParameter::set_group_size(::google::protobuf::int32 valu // @@protoc_insertion_point(field_set:opencv_caffe.PSROIPoolingParameter.group_size) } -// ------------------------------------------------------------------- - -// CustomParameter_Value - -// required string name = 1; -inline bool CustomParameter_Value::has_name() const { - return (_has_bits_[0] & 0x00000001u) != 0; -} -inline void CustomParameter_Value::set_has_name() { - _has_bits_[0] |= 0x00000001u; -} -inline void CustomParameter_Value::clear_has_name() { - _has_bits_[0] &= ~0x00000001u; -} -inline void CustomParameter_Value::clear_name() { - name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - clear_has_name(); -} -inline const ::std::string& CustomParameter_Value::name() const { - // @@protoc_insertion_point(field_get:opencv_caffe.CustomParameter.Value.name) - return name_.GetNoArena(); -} -inline void CustomParameter_Value::set_name(const ::std::string& value) { - set_has_name(); - name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); - // @@protoc_insertion_point(field_set:opencv_caffe.CustomParameter.Value.name) -} -#if LANG_CXX11 -inline void CustomParameter_Value::set_name(::std::string&& value) { - set_has_name(); - name_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:opencv_caffe.CustomParameter.Value.name) -} -#endif -inline void CustomParameter_Value::set_name(const char* value) { - GOOGLE_DCHECK(value != NULL); - set_has_name(); - name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:opencv_caffe.CustomParameter.Value.name) -} -inline void CustomParameter_Value::set_name(const char* value, size_t size) { - set_has_name(); - name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:opencv_caffe.CustomParameter.Value.name) -} -inline ::std::string* CustomParameter_Value::mutable_name() { - set_has_name(); - // @@protoc_insertion_point(field_mutable:opencv_caffe.CustomParameter.Value.name) - return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); -} -inline ::std::string* CustomParameter_Value::release_name() { - // @@protoc_insertion_point(field_release:opencv_caffe.CustomParameter.Value.name) - clear_has_name(); - return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); -} -inline void CustomParameter_Value::set_allocated_name(::std::string* name) { - if (name != NULL) { - set_has_name(); - } else { - clear_has_name(); - } - name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name); - // @@protoc_insertion_point(field_set_allocated:opencv_caffe.CustomParameter.Value.name) -} - -// optional int32 i = 2; -inline bool CustomParameter_Value::has_i() const { - return (_has_bits_[0] & 0x00000004u) != 0; -} -inline void CustomParameter_Value::set_has_i() { - _has_bits_[0] |= 0x00000004u; -} -inline void CustomParameter_Value::clear_has_i() { - _has_bits_[0] &= ~0x00000004u; -} -inline void CustomParameter_Value::clear_i() { - i_ = 0; - clear_has_i(); -} -inline ::google::protobuf::int32 CustomParameter_Value::i() const { - // @@protoc_insertion_point(field_get:opencv_caffe.CustomParameter.Value.i) - return i_; -} -inline void CustomParameter_Value::set_i(::google::protobuf::int32 value) { - set_has_i(); - i_ = value; - // @@protoc_insertion_point(field_set:opencv_caffe.CustomParameter.Value.i) -} - -// optional uint32 ui = 3; -inline bool CustomParameter_Value::has_ui() const { - return (_has_bits_[0] & 0x00000008u) != 0; -} -inline void CustomParameter_Value::set_has_ui() { - _has_bits_[0] |= 0x00000008u; -} -inline void CustomParameter_Value::clear_has_ui() { - _has_bits_[0] &= ~0x00000008u; -} -inline void CustomParameter_Value::clear_ui() { - ui_ = 0u; - clear_has_ui(); -} -inline ::google::protobuf::uint32 CustomParameter_Value::ui() const { - // @@protoc_insertion_point(field_get:opencv_caffe.CustomParameter.Value.ui) - return ui_; -} -inline void CustomParameter_Value::set_ui(::google::protobuf::uint32 value) { - set_has_ui(); - ui_ = value; - // @@protoc_insertion_point(field_set:opencv_caffe.CustomParameter.Value.ui) -} - -// optional float f = 6; -inline bool CustomParameter_Value::has_f() const { - return (_has_bits_[0] & 0x00000020u) != 0; -} -inline void CustomParameter_Value::set_has_f() { - _has_bits_[0] |= 0x00000020u; -} -inline void CustomParameter_Value::clear_has_f() { - _has_bits_[0] &= ~0x00000020u; -} -inline void CustomParameter_Value::clear_f() { - f_ = 0; - clear_has_f(); -} -inline float CustomParameter_Value::f() const { - // @@protoc_insertion_point(field_get:opencv_caffe.CustomParameter.Value.f) - return f_; -} -inline void CustomParameter_Value::set_f(float value) { - set_has_f(); - f_ = value; - // @@protoc_insertion_point(field_set:opencv_caffe.CustomParameter.Value.f) -} - -// optional double d = 7; -inline bool CustomParameter_Value::has_d() const { - return (_has_bits_[0] & 0x00000010u) != 0; -} -inline void CustomParameter_Value::set_has_d() { - _has_bits_[0] |= 0x00000010u; -} -inline void CustomParameter_Value::clear_has_d() { - _has_bits_[0] &= ~0x00000010u; -} -inline void CustomParameter_Value::clear_d() { - d_ = 0; - clear_has_d(); -} -inline double CustomParameter_Value::d() const { - // @@protoc_insertion_point(field_get:opencv_caffe.CustomParameter.Value.d) - return d_; -} -inline void CustomParameter_Value::set_d(double value) { - set_has_d(); - d_ = value; - // @@protoc_insertion_point(field_set:opencv_caffe.CustomParameter.Value.d) -} - -// optional bool b = 8; -inline bool CustomParameter_Value::has_b() const { - return (_has_bits_[0] & 0x00000040u) != 0; -} -inline void CustomParameter_Value::set_has_b() { - _has_bits_[0] |= 0x00000040u; -} -inline void CustomParameter_Value::clear_has_b() { - _has_bits_[0] &= ~0x00000040u; -} -inline void CustomParameter_Value::clear_b() { - b_ = false; - clear_has_b(); -} -inline bool CustomParameter_Value::b() const { - // @@protoc_insertion_point(field_get:opencv_caffe.CustomParameter.Value.b) - return b_; -} -inline void CustomParameter_Value::set_b(bool value) { - set_has_b(); - b_ = value; - // @@protoc_insertion_point(field_set:opencv_caffe.CustomParameter.Value.b) -} - -// optional string s = 9; -inline bool CustomParameter_Value::has_s() const { - return (_has_bits_[0] & 0x00000002u) != 0; -} -inline void CustomParameter_Value::set_has_s() { - _has_bits_[0] |= 0x00000002u; -} -inline void CustomParameter_Value::clear_has_s() { - _has_bits_[0] &= ~0x00000002u; -} -inline void CustomParameter_Value::clear_s() { - s_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - clear_has_s(); -} -inline const ::std::string& CustomParameter_Value::s() const { - // @@protoc_insertion_point(field_get:opencv_caffe.CustomParameter.Value.s) - return s_.GetNoArena(); -} -inline void CustomParameter_Value::set_s(const ::std::string& value) { - set_has_s(); - s_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); - // @@protoc_insertion_point(field_set:opencv_caffe.CustomParameter.Value.s) -} -#if LANG_CXX11 -inline void CustomParameter_Value::set_s(::std::string&& value) { - set_has_s(); - s_.SetNoArena( - &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); - // @@protoc_insertion_point(field_set_rvalue:opencv_caffe.CustomParameter.Value.s) -} -#endif -inline void CustomParameter_Value::set_s(const char* value) { - GOOGLE_DCHECK(value != NULL); - set_has_s(); - s_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:opencv_caffe.CustomParameter.Value.s) -} -inline void CustomParameter_Value::set_s(const char* value, size_t size) { - set_has_s(); - s_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:opencv_caffe.CustomParameter.Value.s) -} -inline ::std::string* CustomParameter_Value::mutable_s() { - set_has_s(); - // @@protoc_insertion_point(field_mutable:opencv_caffe.CustomParameter.Value.s) - return s_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); -} -inline ::std::string* CustomParameter_Value::release_s() { - // @@protoc_insertion_point(field_release:opencv_caffe.CustomParameter.Value.s) - clear_has_s(); - return s_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); -} -inline void CustomParameter_Value::set_allocated_s(::std::string* s) { - if (s != NULL) { - set_has_s(); - } else { - clear_has_s(); - } - s_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), s); - // @@protoc_insertion_point(field_set_allocated:opencv_caffe.CustomParameter.Value.s) -} - -// ------------------------------------------------------------------- - -// CustomParameter - -// repeated .opencv_caffe.CustomParameter.Value value = 1; -inline int CustomParameter::value_size() const { - return value_.size(); -} -inline void CustomParameter::clear_value() { - value_.Clear(); -} -inline const ::opencv_caffe::CustomParameter_Value& CustomParameter::value(int index) const { - // @@protoc_insertion_point(field_get:opencv_caffe.CustomParameter.value) - return value_.Get(index); -} -inline ::opencv_caffe::CustomParameter_Value* CustomParameter::mutable_value(int index) { - // @@protoc_insertion_point(field_mutable:opencv_caffe.CustomParameter.value) - return value_.Mutable(index); -} -inline ::opencv_caffe::CustomParameter_Value* CustomParameter::add_value() { - // @@protoc_insertion_point(field_add:opencv_caffe.CustomParameter.value) - return value_.Add(); -} -inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::CustomParameter_Value >* -CustomParameter::mutable_value() { - // @@protoc_insertion_point(field_mutable_list:opencv_caffe.CustomParameter.value) - return &value_; -} -inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::CustomParameter_Value >& -CustomParameter::value() const { - // @@protoc_insertion_point(field_list:opencv_caffe.CustomParameter.value) - return value_; -} - #ifdef __GNUC__ #pragma GCC diagnostic pop #endif // __GNUC__ @@ -33214,10 +32551,6 @@ CustomParameter::value() const { // ------------------------------------------------------------------- -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - // @@protoc_insertion_point(namespace_scope) diff --git a/modules/dnn/src/caffe/caffe_importer.cpp b/modules/dnn/src/caffe/caffe_importer.cpp index b2757b093d45..b55907486fb9 100644 --- a/modules/dnn/src/caffe/caffe_importer.cpp +++ b/modules/dnn/src/caffe/caffe_importer.cpp @@ -103,18 +103,16 @@ class CaffeImporter ReadNetParamsFromBinaryBufferOrDie(dataModel, lenModel, &netBinary); } - void extractCustomParams(const caffe::CustomParameter &msg, cv::dnn::LayerParams ¶ms) + void extractCustomParams(const google::protobuf::UnknownFieldSet& unknownFields, cv::dnn::LayerParams ¶ms) { - const int numValues = msg.value_size(); - for (int i = 0; i < numValues; ++i) + const int numFields = unknownFields.field_count(); + for (int i = 0; i < numFields; ++i) { - const caffe::CustomParameter_Value& v = msg.value(i); - if (v.has_i()) params.set(v.name(), v.i()); // int - if (v.has_ui()) params.set(v.name(), v.ui()); // unsigned int - if (v.has_f()) params.set(v.name(), v.f()); // float - if (v.has_d()) params.set(v.name(), v.d()); // double - if (v.has_b()) params.set(v.name(), v.b()); // bool - if (v.has_s()) params.set(v.name(), v.s()); // string + const google::protobuf::UnknownField& field = unknownFields.field(i); + CV_Assert(field.type() == google::protobuf::UnknownField::TYPE_GROUP); + std::string fieldName = field.group().field(0).length_delimited(); + std::string fieldValue = field.group().field(1).length_delimited(); + params.set(fieldName, fieldValue); } } @@ -202,18 +200,16 @@ class CaffeImporter if (!isInternal && !ends_with_param(fd->name())) continue; + const google::protobuf::UnknownFieldSet& unknownFields = msgRefl->GetUnknownFields(msg); bool hasData = fd->is_required() || (fd->is_optional() && msgRefl->HasField(msg, fd)) || - (fd->is_repeated() && msgRefl->FieldSize(msg, fd) > 0); + (fd->is_repeated() && msgRefl->FieldSize(msg, fd) > 0) || + !unknownFields.empty(); if (!hasData) continue; - if (fd->name() == "custom_param") - { - const Message& customParam = msgRefl->GetMessage(msg, fd); - extractCustomParams(static_cast(customParam), params); - } - else if (fd->cpp_type() == FieldDescriptor::CPPTYPE_MESSAGE) + extractCustomParams(unknownFields, params); + if (fd->cpp_type() == FieldDescriptor::CPPTYPE_MESSAGE) { if (fd->is_repeated()) //Extract only first item! extractLayerParams(msgRefl->GetRepeatedMessage(msg, fd, 0), params, true); diff --git a/modules/dnn/src/caffe/caffe_io.cpp b/modules/dnn/src/caffe/caffe_io.cpp index f6b4eb373a9e..7fc5fea37c1a 100644 --- a/modules/dnn/src/caffe/caffe_io.cpp +++ b/modules/dnn/src/caffe/caffe_io.cpp @@ -1120,7 +1120,7 @@ bool ReadProtoFromTextFile(const char* filename, Message* proto) { std::ifstream fs(filename, std::ifstream::in); CHECK(fs.is_open()) << "Can't open \"" << filename << "\""; IstreamInputStream input(&fs); - return google::protobuf::TextFormat::Parse(&input, proto); + return google::protobuf::TextFormat::Parser(true).Parse(&input, proto); } bool ReadProtoFromBinaryFile(const char* filename, Message* proto) { diff --git a/modules/dnn/src/caffe/opencv-caffe.proto b/modules/dnn/src/caffe/opencv-caffe.proto index d0fd5dd40896..41cd46bb1c7d 100644 --- a/modules/dnn/src/caffe/opencv-caffe.proto +++ b/modules/dnn/src/caffe/opencv-caffe.proto @@ -522,7 +522,6 @@ message LayerParameter { optional ContrastiveLossParameter contrastive_loss_param = 105; optional ConvolutionParameter convolution_param = 106; optional CropParameter crop_param = 144; - optional CustomParameter custom_param = 202; optional DataParameter data_param = 107; optional DetectionOutputParameter detection_output_param = 147; optional DropoutParameter dropout_param = 108; @@ -1646,16 +1645,3 @@ message PSROIPoolingParameter { required int32 output_dim = 2; // output channel number required int32 group_size = 3; // equal to pooled_size } - -message CustomParameter { - message Value { - required string name = 1; - optional int32 i = 2; // int - optional uint32 ui = 3; // unsigned int - optional float f = 6; // float - optional double d = 7; // double - optional bool b = 8; // bool - optional string s = 9; // string - } - repeated Value value = 1; -}