From 0cef0503378fab731f8602b9c61e97b97600f640 Mon Sep 17 00:00:00 2001 From: arrybn Date: Wed, 18 Jan 2017 11:07:30 +0300 Subject: [PATCH] Updated proto files, added layers to caffe --- .../dnn/include/opencv2/dnn/all_layers.hpp | 8 +- modules/dnn/misc/caffe/caffe.pb.cc | 14289 +++++++++++----- modules/dnn/misc/caffe/caffe.pb.h | 5094 +++++- modules/dnn/src/caffe/caffe.proto | 391 +- modules/dnn/src/caffe/caffe_io.cpp | 44 +- modules/dnn/src/caffe/layer_loaders.cpp | 18 +- modules/dnn/src/init.cpp | 2 + modules/dnn/src/layers/batch_norm_layer.cpp | 46 +- modules/dnn/src/layers/batch_norm_layer.hpp | 6 +- modules/dnn/src/layers/scale_layer.cpp | 60 + modules/dnn/src/layers/scale_layer.hpp | 36 + modules/dnn/src/torch/torch_importer.cpp | 10 +- modules/dnn/test/test_layers.cpp | 5 + modules/dnn/test/test_torch_importer.cpp | 5 + .../dnn/torch/torch_gen_test_data.lua | 9 +- 15 files changed, 14939 insertions(+), 5084 deletions(-) create mode 100644 modules/dnn/src/layers/scale_layer.cpp create mode 100644 modules/dnn/src/layers/scale_layer.hpp diff --git a/modules/dnn/include/opencv2/dnn/all_layers.hpp b/modules/dnn/include/opencv2/dnn/all_layers.hpp index 9d26b35e7..fb6712d19 100644 --- a/modules/dnn/include/opencv2/dnn/all_layers.hpp +++ b/modules/dnn/include/opencv2/dnn/all_layers.hpp @@ -406,7 +406,7 @@ namespace dnn class CV_EXPORTS_W BatchNormLayer : public Layer { public: - static CV_WRAP Ptr create(float eps, bool has_weights, bool has_bias); + static CV_WRAP Ptr create(bool hasWeights, bool hasBias, float epsilon); }; class CV_EXPORTS_W MaxUnpoolLayer : public Layer @@ -415,6 +415,12 @@ namespace dnn static CV_WRAP Ptr create(Size unpoolSize); }; + class CV_EXPORTS_W ScaleLayer : public Layer + { + public: + static CV_WRAP Ptr create(bool hasBias); + }; + //! @} //! @} diff --git a/modules/dnn/misc/caffe/caffe.pb.cc b/modules/dnn/misc/caffe/caffe.pb.cc index 7bd91f1b8..d3c8ef2ab 100644 --- a/modules/dnn/misc/caffe/caffe.pb.cc +++ b/modules/dnn/misc/caffe/caffe.pb.cc @@ -30,9 +30,6 @@ const ::google::protobuf::internal::GeneratedMessageReflection* const ::google::protobuf::Descriptor* BlobProtoVector_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* BlobProtoVector_reflection_ = NULL; -const ::google::protobuf::Descriptor* CropParameter_descriptor_ = NULL; -const ::google::protobuf::internal::GeneratedMessageReflection* - CropParameter_reflection_ = NULL; const ::google::protobuf::Descriptor* PermuteParameter_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* PermuteParameter_reflection_ = NULL; @@ -59,6 +56,7 @@ const ::google::protobuf::internal::GeneratedMessageReflection* const ::google::protobuf::Descriptor* SolverParameter_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* SolverParameter_reflection_ = NULL; +const ::google::protobuf::EnumDescriptor* SolverParameter_SnapshotFormat_descriptor_ = NULL; const ::google::protobuf::EnumDescriptor* SolverParameter_SolverMode_descriptor_ = NULL; const ::google::protobuf::EnumDescriptor* SolverParameter_SolverType_descriptor_ = NULL; const ::google::protobuf::Descriptor* SolverState_descriptor_ = NULL; @@ -83,6 +81,7 @@ const ::google::protobuf::internal::GeneratedMessageReflection* const ::google::protobuf::Descriptor* LossParameter_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* LossParameter_reflection_ = NULL; +const ::google::protobuf::EnumDescriptor* LossParameter_NormalizationMode_descriptor_ = NULL; const ::google::protobuf::Descriptor* AccuracyParameter_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* AccuracyParameter_reflection_ = NULL; @@ -92,6 +91,12 @@ const ::google::protobuf::internal::GeneratedMessageReflection* const ::google::protobuf::Descriptor* ConcatParameter_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* ConcatParameter_reflection_ = NULL; +const ::google::protobuf::Descriptor* BatchNormParameter_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + BatchNormParameter_reflection_ = NULL; +const ::google::protobuf::Descriptor* BiasParameter_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + BiasParameter_reflection_ = NULL; const ::google::protobuf::Descriptor* ContrastiveLossParameter_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* ContrastiveLossParameter_reflection_ = NULL; @@ -99,6 +104,9 @@ const ::google::protobuf::Descriptor* ConvolutionParameter_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* ConvolutionParameter_reflection_ = NULL; const ::google::protobuf::EnumDescriptor* ConvolutionParameter_Engine_descriptor_ = NULL; +const ::google::protobuf::Descriptor* CropParameter_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + CropParameter_reflection_ = NULL; const ::google::protobuf::Descriptor* DataParameter_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* DataParameter_reflection_ = NULL; @@ -113,6 +121,12 @@ const ::google::protobuf::Descriptor* EltwiseParameter_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* EltwiseParameter_reflection_ = NULL; const ::google::protobuf::EnumDescriptor* EltwiseParameter_EltwiseOp_descriptor_ = NULL; +const ::google::protobuf::Descriptor* ELUParameter_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + ELUParameter_reflection_ = NULL; +const ::google::protobuf::Descriptor* EmbedParameter_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + EmbedParameter_reflection_ = NULL; const ::google::protobuf::Descriptor* ExpParameter_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* ExpParameter_reflection_ = NULL; @@ -138,6 +152,9 @@ const ::google::protobuf::internal::GeneratedMessageReflection* const ::google::protobuf::Descriptor* InnerProductParameter_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* InnerProductParameter_reflection_ = NULL; +const ::google::protobuf::Descriptor* InputParameter_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + InputParameter_reflection_ = NULL; const ::google::protobuf::Descriptor* LogParameter_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* LogParameter_reflection_ = NULL; @@ -145,12 +162,16 @@ const ::google::protobuf::Descriptor* LRNParameter_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* LRNParameter_reflection_ = NULL; const ::google::protobuf::EnumDescriptor* LRNParameter_NormRegion_descriptor_ = NULL; +const ::google::protobuf::EnumDescriptor* LRNParameter_Engine_descriptor_ = NULL; const ::google::protobuf::Descriptor* MemoryDataParameter_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* MemoryDataParameter_reflection_ = NULL; const ::google::protobuf::Descriptor* MVNParameter_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* MVNParameter_reflection_ = NULL; +const ::google::protobuf::Descriptor* ParameterParameter_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + ParameterParameter_reflection_ = NULL; const ::google::protobuf::Descriptor* PoolingParameter_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* PoolingParameter_reflection_ = NULL; @@ -162,6 +183,9 @@ const ::google::protobuf::internal::GeneratedMessageReflection* const ::google::protobuf::Descriptor* PythonParameter_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* PythonParameter_reflection_ = NULL; +const ::google::protobuf::Descriptor* RecurrentParameter_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + RecurrentParameter_reflection_ = NULL; const ::google::protobuf::Descriptor* ReductionParameter_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* ReductionParameter_reflection_ = NULL; @@ -173,6 +197,9 @@ const ::google::protobuf::EnumDescriptor* ReLUParameter_Engine_descriptor_ = NUL const ::google::protobuf::Descriptor* ReshapeParameter_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* ReshapeParameter_reflection_ = NULL; +const ::google::protobuf::Descriptor* ScaleParameter_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + ScaleParameter_reflection_ = NULL; const ::google::protobuf::Descriptor* SigmoidParameter_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* SigmoidParameter_reflection_ = NULL; @@ -188,6 +215,9 @@ const ::google::protobuf::Descriptor* TanHParameter_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* TanHParameter_reflection_ = NULL; const ::google::protobuf::EnumDescriptor* TanHParameter_Engine_descriptor_ = NULL; +const ::google::protobuf::Descriptor* TileParameter_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + TileParameter_reflection_ = NULL; const ::google::protobuf::Descriptor* ThresholdParameter_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* ThresholdParameter_reflection_ = NULL; @@ -241,10 +271,12 @@ void protobuf_AssignDesc_caffe_2eproto() { sizeof(BlobShape), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobShape, _internal_metadata_)); BlobProto_descriptor_ = file->message_type(1); - static const int BlobProto_offsets_[7] = { + static const int BlobProto_offsets_[9] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, shape_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, data_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, diff_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, double_data_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, double_diff_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, num_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, channels_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, height_), @@ -274,22 +306,7 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(BlobProtoVector), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProtoVector, _internal_metadata_)); - CropParameter_descriptor_ = file->message_type(3); - static const int CropParameter_offsets_[2] = { - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CropParameter, axis_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CropParameter, offset_), - }; - CropParameter_reflection_ = - ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection( - CropParameter_descriptor_, - CropParameter::internal_default_instance(), - CropParameter_offsets_, - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CropParameter, _has_bits_), - -1, - -1, - sizeof(CropParameter), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CropParameter, _internal_metadata_)); - PermuteParameter_descriptor_ = file->message_type(4); + PermuteParameter_descriptor_ = file->message_type(3); static const int PermuteParameter_offsets_[1] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PermuteParameter, order_), }; @@ -303,7 +320,7 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(PermuteParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PermuteParameter, _internal_metadata_)); - NormalizeBBoxParameter_descriptor_ = file->message_type(5); + NormalizeBBoxParameter_descriptor_ = file->message_type(4); static const int NormalizeBBoxParameter_offsets_[4] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizeBBoxParameter, across_spatial_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizeBBoxParameter, scale_filler_), @@ -320,7 +337,7 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(NormalizeBBoxParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizeBBoxParameter, _internal_metadata_)); - PriorBoxParameter_descriptor_ = file->message_type(6); + PriorBoxParameter_descriptor_ = file->message_type(5); static const int PriorBoxParameter_offsets_[6] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, min_size_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, max_size_), @@ -340,7 +357,7 @@ void protobuf_AssignDesc_caffe_2eproto() { sizeof(PriorBoxParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, _internal_metadata_)); PriorBoxParameter_CodeType_descriptor_ = PriorBoxParameter_descriptor_->enum_type(0); - DetectionOutputParameter_descriptor_ = file->message_type(7); + DetectionOutputParameter_descriptor_ = file->message_type(6); static const int DetectionOutputParameter_offsets_[9] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, num_classes_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, share_location_), @@ -362,7 +379,7 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(DetectionOutputParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, _internal_metadata_)); - Datum_descriptor_ = file->message_type(8); + Datum_descriptor_ = file->message_type(7); static const int Datum_offsets_[7] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Datum, channels_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Datum, height_), @@ -382,7 +399,7 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(Datum), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Datum, _internal_metadata_)); - FillerParameter_descriptor_ = file->message_type(9); + FillerParameter_descriptor_ = file->message_type(8); static const int FillerParameter_offsets_[8] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FillerParameter, type_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FillerParameter, value_), @@ -404,7 +421,7 @@ void protobuf_AssignDesc_caffe_2eproto() { sizeof(FillerParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FillerParameter, _internal_metadata_)); FillerParameter_VarianceNorm_descriptor_ = FillerParameter_descriptor_->enum_type(0); - NetParameter_descriptor_ = file->message_type(10); + NetParameter_descriptor_ = file->message_type(9); static const int NetParameter_offsets_[9] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, name_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, input_), @@ -426,8 +443,8 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(NetParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, _internal_metadata_)); - SolverParameter_descriptor_ = file->message_type(11); - static const int SolverParameter_offsets_[36] = { + SolverParameter_descriptor_ = file->message_type(10); + static const int SolverParameter_offsets_[40] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, net_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, net_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, train_net_), @@ -457,13 +474,17 @@ void protobuf_AssignDesc_caffe_2eproto() { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, snapshot_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, snapshot_prefix_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, snapshot_diff_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, snapshot_format_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, solver_mode_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, device_id_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, random_seed_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, solver_type_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, type_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, delta_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, momentum2_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, rms_decay_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, debug_info_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, snapshot_after_train_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, solver_type_), }; SolverParameter_reflection_ = ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection( @@ -475,9 +496,10 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(SolverParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, _internal_metadata_)); - SolverParameter_SolverMode_descriptor_ = SolverParameter_descriptor_->enum_type(0); - SolverParameter_SolverType_descriptor_ = SolverParameter_descriptor_->enum_type(1); - SolverState_descriptor_ = file->message_type(12); + SolverParameter_SnapshotFormat_descriptor_ = SolverParameter_descriptor_->enum_type(0); + SolverParameter_SolverMode_descriptor_ = SolverParameter_descriptor_->enum_type(1); + SolverParameter_SolverType_descriptor_ = SolverParameter_descriptor_->enum_type(2); + SolverState_descriptor_ = file->message_type(11); static const int SolverState_offsets_[4] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverState, iter_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverState, learned_net_), @@ -494,7 +516,7 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(SolverState), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverState, _internal_metadata_)); - NetState_descriptor_ = file->message_type(13); + NetState_descriptor_ = file->message_type(12); static const int NetState_offsets_[3] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetState, phase_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetState, level_), @@ -510,7 +532,7 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(NetState), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetState, _internal_metadata_)); - NetStateRule_descriptor_ = file->message_type(14); + NetStateRule_descriptor_ = file->message_type(13); static const int NetStateRule_offsets_[5] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetStateRule, phase_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetStateRule, min_level_), @@ -528,7 +550,7 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(NetStateRule), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetStateRule, _internal_metadata_)); - ParamSpec_descriptor_ = file->message_type(15); + ParamSpec_descriptor_ = file->message_type(14); static const int ParamSpec_offsets_[4] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParamSpec, name_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParamSpec, share_mode_), @@ -546,8 +568,8 @@ void protobuf_AssignDesc_caffe_2eproto() { sizeof(ParamSpec), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParamSpec, _internal_metadata_)); ParamSpec_DimCheckMode_descriptor_ = ParamSpec_descriptor_->enum_type(0); - LayerParameter_descriptor_ = file->message_type(16); - static const int LayerParameter_offsets_[53] = { + LayerParameter_descriptor_ = file->message_type(15); + static const int LayerParameter_offsets_[62] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, name_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, type_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, bottom_), @@ -563,6 +585,8 @@ void protobuf_AssignDesc_caffe_2eproto() { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, loss_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, accuracy_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, argmax_param_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, batch_norm_param_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, bias_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, concat_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, contrastive_loss_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, convolution_param_), @@ -572,6 +596,8 @@ void protobuf_AssignDesc_caffe_2eproto() { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, dropout_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, dummy_data_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, eltwise_param_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, elu_param_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, embed_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, exp_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, flatten_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, hdf5_data_param_), @@ -580,26 +606,31 @@ void protobuf_AssignDesc_caffe_2eproto() { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, image_data_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, infogain_loss_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, inner_product_param_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, input_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, log_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, lrn_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, memory_data_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, mvn_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, normalize_bbox_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, permute_param_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, parameter_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, pooling_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, power_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, prelu_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, prior_box_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, python_param_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, recurrent_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, reduction_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, relu_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, reshape_param_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, scale_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, sigmoid_param_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, slice_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, softmax_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, spp_param_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, slice_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, tanh_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, threshold_param_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, tile_param_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, window_data_param_), }; LayerParameter_reflection_ = @@ -612,7 +643,7 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(LayerParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, _internal_metadata_)); - TransformationParameter_descriptor_ = file->message_type(17); + TransformationParameter_descriptor_ = file->message_type(16); static const int TransformationParameter_offsets_[7] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TransformationParameter, scale_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TransformationParameter, mirror_), @@ -632,9 +663,10 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(TransformationParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TransformationParameter, _internal_metadata_)); - LossParameter_descriptor_ = file->message_type(18); - static const int LossParameter_offsets_[2] = { + LossParameter_descriptor_ = file->message_type(17); + static const int LossParameter_offsets_[3] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LossParameter, ignore_label_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LossParameter, normalization_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LossParameter, normalize_), }; LossParameter_reflection_ = @@ -647,7 +679,8 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(LossParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LossParameter, _internal_metadata_)); - AccuracyParameter_descriptor_ = file->message_type(19); + LossParameter_NormalizationMode_descriptor_ = LossParameter_descriptor_->enum_type(0); + AccuracyParameter_descriptor_ = file->message_type(18); static const int AccuracyParameter_offsets_[3] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AccuracyParameter, top_k_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AccuracyParameter, axis_), @@ -663,10 +696,11 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(AccuracyParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AccuracyParameter, _internal_metadata_)); - ArgMaxParameter_descriptor_ = file->message_type(20); - static const int ArgMaxParameter_offsets_[2] = { + ArgMaxParameter_descriptor_ = file->message_type(19); + static const int ArgMaxParameter_offsets_[3] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ArgMaxParameter, out_max_val_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ArgMaxParameter, top_k_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ArgMaxParameter, axis_), }; ArgMaxParameter_reflection_ = ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection( @@ -678,7 +712,7 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(ArgMaxParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ArgMaxParameter, _internal_metadata_)); - ConcatParameter_descriptor_ = file->message_type(21); + ConcatParameter_descriptor_ = file->message_type(20); static const int ConcatParameter_offsets_[2] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConcatParameter, axis_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConcatParameter, concat_dim_), @@ -693,7 +727,39 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(ConcatParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConcatParameter, _internal_metadata_)); - ContrastiveLossParameter_descriptor_ = file->message_type(22); + BatchNormParameter_descriptor_ = file->message_type(21); + static const int BatchNormParameter_offsets_[3] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BatchNormParameter, use_global_stats_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BatchNormParameter, moving_average_fraction_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BatchNormParameter, eps_), + }; + BatchNormParameter_reflection_ = + ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection( + BatchNormParameter_descriptor_, + BatchNormParameter::internal_default_instance(), + BatchNormParameter_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BatchNormParameter, _has_bits_), + -1, + -1, + sizeof(BatchNormParameter), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BatchNormParameter, _internal_metadata_)); + BiasParameter_descriptor_ = file->message_type(22); + static const int BiasParameter_offsets_[3] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BiasParameter, axis_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BiasParameter, num_axes_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BiasParameter, filler_), + }; + BiasParameter_reflection_ = + ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection( + BiasParameter_descriptor_, + BiasParameter::internal_default_instance(), + BiasParameter_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BiasParameter, _has_bits_), + -1, + -1, + sizeof(BiasParameter), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BiasParameter, _internal_metadata_)); + ContrastiveLossParameter_descriptor_ = file->message_type(23); static const int ContrastiveLossParameter_offsets_[2] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ContrastiveLossParameter, margin_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ContrastiveLossParameter, legacy_version_), @@ -708,26 +774,26 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(ContrastiveLossParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ContrastiveLossParameter, _internal_metadata_)); - ConvolutionParameter_descriptor_ = file->message_type(23); + ConvolutionParameter_descriptor_ = file->message_type(24); static const int ConvolutionParameter_offsets_[18] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, num_output_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, bias_term_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, pad_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, kernel_size_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, stride_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, dilation_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, pad_h_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, pad_w_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, kernel_size_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, kernel_h_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, kernel_w_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, group_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, stride_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, stride_h_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, stride_w_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, group_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, weight_filler_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, bias_filler_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, engine_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, dilation_h_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, dilation_w_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, dilation_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, axis_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, force_nd_im2col_), }; ConvolutionParameter_reflection_ = ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection( @@ -740,8 +806,23 @@ void protobuf_AssignDesc_caffe_2eproto() { sizeof(ConvolutionParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, _internal_metadata_)); ConvolutionParameter_Engine_descriptor_ = ConvolutionParameter_descriptor_->enum_type(0); - DataParameter_descriptor_ = file->message_type(24); - static const int DataParameter_offsets_[9] = { + CropParameter_descriptor_ = file->message_type(25); + static const int CropParameter_offsets_[2] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CropParameter, axis_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CropParameter, offset_), + }; + CropParameter_reflection_ = + ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection( + CropParameter_descriptor_, + CropParameter::internal_default_instance(), + CropParameter_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CropParameter, _has_bits_), + -1, + -1, + sizeof(CropParameter), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CropParameter, _internal_metadata_)); + DataParameter_descriptor_ = file->message_type(26); + static const int DataParameter_offsets_[10] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, source_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, batch_size_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, rand_skip_), @@ -751,6 +832,7 @@ void protobuf_AssignDesc_caffe_2eproto() { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, crop_size_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, mirror_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, force_encoded_color_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, prefetch_), }; DataParameter_reflection_ = ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection( @@ -763,7 +845,7 @@ void protobuf_AssignDesc_caffe_2eproto() { sizeof(DataParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, _internal_metadata_)); DataParameter_DB_descriptor_ = DataParameter_descriptor_->enum_type(0); - DropoutParameter_descriptor_ = file->message_type(25); + DropoutParameter_descriptor_ = file->message_type(27); static const int DropoutParameter_offsets_[1] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DropoutParameter, dropout_ratio_), }; @@ -777,7 +859,7 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(DropoutParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DropoutParameter, _internal_metadata_)); - DummyDataParameter_descriptor_ = file->message_type(26); + DummyDataParameter_descriptor_ = file->message_type(28); static const int DummyDataParameter_offsets_[6] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DummyDataParameter, data_filler_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DummyDataParameter, shape_), @@ -796,7 +878,7 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(DummyDataParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DummyDataParameter, _internal_metadata_)); - EltwiseParameter_descriptor_ = file->message_type(27); + EltwiseParameter_descriptor_ = file->message_type(29); static const int EltwiseParameter_offsets_[3] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EltwiseParameter, operation_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EltwiseParameter, coeff_), @@ -813,7 +895,39 @@ void protobuf_AssignDesc_caffe_2eproto() { sizeof(EltwiseParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EltwiseParameter, _internal_metadata_)); EltwiseParameter_EltwiseOp_descriptor_ = EltwiseParameter_descriptor_->enum_type(0); - ExpParameter_descriptor_ = file->message_type(28); + ELUParameter_descriptor_ = file->message_type(30); + static const int ELUParameter_offsets_[1] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ELUParameter, alpha_), + }; + ELUParameter_reflection_ = + ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection( + ELUParameter_descriptor_, + ELUParameter::internal_default_instance(), + ELUParameter_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ELUParameter, _has_bits_), + -1, + -1, + sizeof(ELUParameter), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ELUParameter, _internal_metadata_)); + EmbedParameter_descriptor_ = file->message_type(31); + static const int EmbedParameter_offsets_[5] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EmbedParameter, num_output_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EmbedParameter, input_dim_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EmbedParameter, bias_term_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EmbedParameter, weight_filler_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EmbedParameter, bias_filler_), + }; + EmbedParameter_reflection_ = + ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection( + EmbedParameter_descriptor_, + EmbedParameter::internal_default_instance(), + EmbedParameter_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EmbedParameter, _has_bits_), + -1, + -1, + sizeof(EmbedParameter), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EmbedParameter, _internal_metadata_)); + ExpParameter_descriptor_ = file->message_type(32); static const int ExpParameter_offsets_[3] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExpParameter, base_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExpParameter, scale_), @@ -829,7 +943,7 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(ExpParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExpParameter, _internal_metadata_)); - FlattenParameter_descriptor_ = file->message_type(29); + FlattenParameter_descriptor_ = file->message_type(33); static const int FlattenParameter_offsets_[2] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FlattenParameter, axis_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FlattenParameter, end_axis_), @@ -844,7 +958,7 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(FlattenParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FlattenParameter, _internal_metadata_)); - HDF5DataParameter_descriptor_ = file->message_type(30); + HDF5DataParameter_descriptor_ = file->message_type(34); static const int HDF5DataParameter_offsets_[3] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HDF5DataParameter, source_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HDF5DataParameter, batch_size_), @@ -860,7 +974,7 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(HDF5DataParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HDF5DataParameter, _internal_metadata_)); - HDF5OutputParameter_descriptor_ = file->message_type(31); + HDF5OutputParameter_descriptor_ = file->message_type(35); static const int HDF5OutputParameter_offsets_[1] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HDF5OutputParameter, file_name_), }; @@ -874,7 +988,7 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(HDF5OutputParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HDF5OutputParameter, _internal_metadata_)); - HingeLossParameter_descriptor_ = file->message_type(32); + HingeLossParameter_descriptor_ = file->message_type(36); static const int HingeLossParameter_offsets_[1] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HingeLossParameter, norm_), }; @@ -889,7 +1003,7 @@ void protobuf_AssignDesc_caffe_2eproto() { sizeof(HingeLossParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HingeLossParameter, _internal_metadata_)); HingeLossParameter_Norm_descriptor_ = HingeLossParameter_descriptor_->enum_type(0); - ImageDataParameter_descriptor_ = file->message_type(33); + ImageDataParameter_descriptor_ = file->message_type(37); static const int ImageDataParameter_offsets_[12] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, source_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, batch_size_), @@ -914,7 +1028,7 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(ImageDataParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, _internal_metadata_)); - InfogainLossParameter_descriptor_ = file->message_type(34); + InfogainLossParameter_descriptor_ = file->message_type(38); static const int InfogainLossParameter_offsets_[1] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InfogainLossParameter, source_), }; @@ -928,13 +1042,14 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(InfogainLossParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InfogainLossParameter, _internal_metadata_)); - InnerProductParameter_descriptor_ = file->message_type(35); - static const int InnerProductParameter_offsets_[5] = { + InnerProductParameter_descriptor_ = file->message_type(39); + static const int InnerProductParameter_offsets_[6] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InnerProductParameter, num_output_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InnerProductParameter, bias_term_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InnerProductParameter, weight_filler_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InnerProductParameter, bias_filler_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InnerProductParameter, axis_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InnerProductParameter, transpose_), }; InnerProductParameter_reflection_ = ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection( @@ -946,7 +1061,21 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(InnerProductParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InnerProductParameter, _internal_metadata_)); - LogParameter_descriptor_ = file->message_type(36); + InputParameter_descriptor_ = file->message_type(40); + static const int InputParameter_offsets_[1] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InputParameter, shape_), + }; + InputParameter_reflection_ = + ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection( + InputParameter_descriptor_, + InputParameter::internal_default_instance(), + InputParameter_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InputParameter, _has_bits_), + -1, + -1, + sizeof(InputParameter), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InputParameter, _internal_metadata_)); + LogParameter_descriptor_ = file->message_type(41); static const int LogParameter_offsets_[3] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LogParameter, base_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LogParameter, scale_), @@ -962,13 +1091,14 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(LogParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LogParameter, _internal_metadata_)); - LRNParameter_descriptor_ = file->message_type(37); - static const int LRNParameter_offsets_[5] = { + LRNParameter_descriptor_ = file->message_type(42); + static const int LRNParameter_offsets_[6] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LRNParameter, local_size_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LRNParameter, alpha_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LRNParameter, beta_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LRNParameter, norm_region_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LRNParameter, k_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LRNParameter, engine_), }; LRNParameter_reflection_ = ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection( @@ -981,7 +1111,8 @@ void protobuf_AssignDesc_caffe_2eproto() { sizeof(LRNParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LRNParameter, _internal_metadata_)); LRNParameter_NormRegion_descriptor_ = LRNParameter_descriptor_->enum_type(0); - MemoryDataParameter_descriptor_ = file->message_type(38); + LRNParameter_Engine_descriptor_ = LRNParameter_descriptor_->enum_type(1); + MemoryDataParameter_descriptor_ = file->message_type(43); static const int MemoryDataParameter_offsets_[4] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MemoryDataParameter, batch_size_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MemoryDataParameter, channels_), @@ -998,7 +1129,7 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(MemoryDataParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MemoryDataParameter, _internal_metadata_)); - MVNParameter_descriptor_ = file->message_type(39); + MVNParameter_descriptor_ = file->message_type(44); static const int MVNParameter_offsets_[3] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MVNParameter, normalize_variance_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MVNParameter, across_channels_), @@ -1014,7 +1145,21 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(MVNParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MVNParameter, _internal_metadata_)); - PoolingParameter_descriptor_ = file->message_type(40); + ParameterParameter_descriptor_ = file->message_type(45); + static const int ParameterParameter_offsets_[1] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParameterParameter, shape_), + }; + ParameterParameter_reflection_ = + ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection( + ParameterParameter_descriptor_, + ParameterParameter::internal_default_instance(), + ParameterParameter_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParameterParameter, _has_bits_), + -1, + -1, + sizeof(ParameterParameter), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParameterParameter, _internal_metadata_)); + PoolingParameter_descriptor_ = file->message_type(46); static const int PoolingParameter_offsets_[12] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, pool_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, pad_), @@ -1041,7 +1186,7 @@ void protobuf_AssignDesc_caffe_2eproto() { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, _internal_metadata_)); PoolingParameter_PoolMethod_descriptor_ = PoolingParameter_descriptor_->enum_type(0); PoolingParameter_Engine_descriptor_ = PoolingParameter_descriptor_->enum_type(1); - PowerParameter_descriptor_ = file->message_type(41); + PowerParameter_descriptor_ = file->message_type(47); static const int PowerParameter_offsets_[3] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PowerParameter, power_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PowerParameter, scale_), @@ -1057,10 +1202,12 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(PowerParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PowerParameter, _internal_metadata_)); - PythonParameter_descriptor_ = file->message_type(42); - static const int PythonParameter_offsets_[2] = { + PythonParameter_descriptor_ = file->message_type(48); + static const int PythonParameter_offsets_[4] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PythonParameter, module_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PythonParameter, layer_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PythonParameter, param_str_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PythonParameter, share_in_parallel_), }; PythonParameter_reflection_ = ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection( @@ -1072,7 +1219,25 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(PythonParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PythonParameter, _internal_metadata_)); - ReductionParameter_descriptor_ = file->message_type(43); + RecurrentParameter_descriptor_ = file->message_type(49); + static const int RecurrentParameter_offsets_[5] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RecurrentParameter, num_output_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RecurrentParameter, weight_filler_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RecurrentParameter, bias_filler_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RecurrentParameter, debug_info_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RecurrentParameter, expose_hidden_), + }; + RecurrentParameter_reflection_ = + ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection( + RecurrentParameter_descriptor_, + RecurrentParameter::internal_default_instance(), + RecurrentParameter_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RecurrentParameter, _has_bits_), + -1, + -1, + sizeof(RecurrentParameter), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RecurrentParameter, _internal_metadata_)); + ReductionParameter_descriptor_ = file->message_type(50); static const int ReductionParameter_offsets_[3] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReductionParameter, operation_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReductionParameter, axis_), @@ -1089,7 +1254,7 @@ void protobuf_AssignDesc_caffe_2eproto() { sizeof(ReductionParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReductionParameter, _internal_metadata_)); ReductionParameter_ReductionOp_descriptor_ = ReductionParameter_descriptor_->enum_type(0); - ReLUParameter_descriptor_ = file->message_type(44); + ReLUParameter_descriptor_ = file->message_type(51); static const int ReLUParameter_offsets_[2] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReLUParameter, negative_slope_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReLUParameter, engine_), @@ -1105,7 +1270,7 @@ void protobuf_AssignDesc_caffe_2eproto() { sizeof(ReLUParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReLUParameter, _internal_metadata_)); ReLUParameter_Engine_descriptor_ = ReLUParameter_descriptor_->enum_type(0); - ReshapeParameter_descriptor_ = file->message_type(45); + ReshapeParameter_descriptor_ = file->message_type(52); static const int ReshapeParameter_offsets_[3] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReshapeParameter, shape_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReshapeParameter, axis_), @@ -1121,7 +1286,25 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(ReshapeParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReshapeParameter, _internal_metadata_)); - SigmoidParameter_descriptor_ = file->message_type(46); + ScaleParameter_descriptor_ = file->message_type(53); + static const int ScaleParameter_offsets_[5] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ScaleParameter, axis_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ScaleParameter, num_axes_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ScaleParameter, filler_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ScaleParameter, bias_term_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ScaleParameter, bias_filler_), + }; + ScaleParameter_reflection_ = + ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection( + ScaleParameter_descriptor_, + ScaleParameter::internal_default_instance(), + ScaleParameter_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ScaleParameter, _has_bits_), + -1, + -1, + sizeof(ScaleParameter), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ScaleParameter, _internal_metadata_)); + SigmoidParameter_descriptor_ = file->message_type(54); static const int SigmoidParameter_offsets_[1] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SigmoidParameter, engine_), }; @@ -1136,7 +1319,7 @@ void protobuf_AssignDesc_caffe_2eproto() { sizeof(SigmoidParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SigmoidParameter, _internal_metadata_)); SigmoidParameter_Engine_descriptor_ = SigmoidParameter_descriptor_->enum_type(0); - SliceParameter_descriptor_ = file->message_type(47); + SliceParameter_descriptor_ = file->message_type(55); static const int SliceParameter_offsets_[3] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SliceParameter, axis_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SliceParameter, slice_point_), @@ -1152,7 +1335,7 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(SliceParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SliceParameter, _internal_metadata_)); - SoftmaxParameter_descriptor_ = file->message_type(48); + SoftmaxParameter_descriptor_ = file->message_type(56); static const int SoftmaxParameter_offsets_[2] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SoftmaxParameter, engine_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SoftmaxParameter, axis_), @@ -1168,7 +1351,7 @@ void protobuf_AssignDesc_caffe_2eproto() { sizeof(SoftmaxParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SoftmaxParameter, _internal_metadata_)); SoftmaxParameter_Engine_descriptor_ = SoftmaxParameter_descriptor_->enum_type(0); - TanHParameter_descriptor_ = file->message_type(49); + TanHParameter_descriptor_ = file->message_type(57); static const int TanHParameter_offsets_[1] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TanHParameter, engine_), }; @@ -1183,7 +1366,22 @@ void protobuf_AssignDesc_caffe_2eproto() { sizeof(TanHParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TanHParameter, _internal_metadata_)); TanHParameter_Engine_descriptor_ = TanHParameter_descriptor_->enum_type(0); - ThresholdParameter_descriptor_ = file->message_type(50); + TileParameter_descriptor_ = file->message_type(58); + static const int TileParameter_offsets_[2] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TileParameter, axis_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TileParameter, tiles_), + }; + TileParameter_reflection_ = + ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection( + TileParameter_descriptor_, + TileParameter::internal_default_instance(), + TileParameter_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TileParameter, _has_bits_), + -1, + -1, + sizeof(TileParameter), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TileParameter, _internal_metadata_)); + ThresholdParameter_descriptor_ = file->message_type(59); static const int ThresholdParameter_offsets_[1] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ThresholdParameter, threshold_), }; @@ -1197,7 +1395,7 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(ThresholdParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ThresholdParameter, _internal_metadata_)); - WindowDataParameter_descriptor_ = file->message_type(51); + WindowDataParameter_descriptor_ = file->message_type(60); static const int WindowDataParameter_offsets_[13] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, source_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, scale_), @@ -1223,7 +1421,7 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(WindowDataParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, _internal_metadata_)); - SPPParameter_descriptor_ = file->message_type(52); + SPPParameter_descriptor_ = file->message_type(61); static const int SPPParameter_offsets_[3] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SPPParameter, pyramid_height_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SPPParameter, pool_), @@ -1241,7 +1439,7 @@ void protobuf_AssignDesc_caffe_2eproto() { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SPPParameter, _internal_metadata_)); SPPParameter_PoolMethod_descriptor_ = SPPParameter_descriptor_->enum_type(0); SPPParameter_Engine_descriptor_ = SPPParameter_descriptor_->enum_type(1); - V1LayerParameter_descriptor_ = file->message_type(53); + V1LayerParameter_descriptor_ = file->message_type(62); static const int V1LayerParameter_offsets_[43] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, bottom_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, top_), @@ -1299,7 +1497,7 @@ void protobuf_AssignDesc_caffe_2eproto() { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, _internal_metadata_)); V1LayerParameter_LayerType_descriptor_ = V1LayerParameter_descriptor_->enum_type(0); V1LayerParameter_DimCheckMode_descriptor_ = V1LayerParameter_descriptor_->enum_type(1); - V0LayerParameter_descriptor_ = file->message_type(54); + V0LayerParameter_descriptor_ = file->message_type(63); static const int V0LayerParameter_offsets_[38] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, name_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, type_), @@ -1351,7 +1549,7 @@ void protobuf_AssignDesc_caffe_2eproto() { sizeof(V0LayerParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, _internal_metadata_)); V0LayerParameter_PoolMethod_descriptor_ = V0LayerParameter_descriptor_->enum_type(0); - PReLUParameter_descriptor_ = file->message_type(55); + PReLUParameter_descriptor_ = file->message_type(64); static const int PReLUParameter_offsets_[2] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PReLUParameter, filler_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PReLUParameter, channel_shared_), @@ -1366,7 +1564,7 @@ void protobuf_AssignDesc_caffe_2eproto() { -1, sizeof(PReLUParameter), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PReLUParameter, _internal_metadata_)); - NormalizedBBox_descriptor_ = file->message_type(56); + NormalizedBBox_descriptor_ = file->message_type(65); static const int NormalizedBBox_offsets_[8] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizedBBox, xmin_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizedBBox, ymin_), @@ -1407,8 +1605,6 @@ void protobuf_RegisterTypes(const ::std::string&) { BlobProto_descriptor_, BlobProto::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( BlobProtoVector_descriptor_, BlobProtoVector::internal_default_instance()); - ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( - CropParameter_descriptor_, CropParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( PermuteParameter_descriptor_, PermuteParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( @@ -1445,10 +1641,16 @@ void protobuf_RegisterTypes(const ::std::string&) { ArgMaxParameter_descriptor_, ArgMaxParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( ConcatParameter_descriptor_, ConcatParameter::internal_default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + BatchNormParameter_descriptor_, BatchNormParameter::internal_default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + BiasParameter_descriptor_, BiasParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( ContrastiveLossParameter_descriptor_, ContrastiveLossParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( ConvolutionParameter_descriptor_, ConvolutionParameter::internal_default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + CropParameter_descriptor_, CropParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( DataParameter_descriptor_, DataParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( @@ -1457,6 +1659,10 @@ void protobuf_RegisterTypes(const ::std::string&) { DummyDataParameter_descriptor_, DummyDataParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( EltwiseParameter_descriptor_, EltwiseParameter::internal_default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + ELUParameter_descriptor_, ELUParameter::internal_default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + EmbedParameter_descriptor_, EmbedParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( ExpParameter_descriptor_, ExpParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( @@ -1473,6 +1679,8 @@ void protobuf_RegisterTypes(const ::std::string&) { InfogainLossParameter_descriptor_, InfogainLossParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( InnerProductParameter_descriptor_, InnerProductParameter::internal_default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + InputParameter_descriptor_, InputParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( LogParameter_descriptor_, LogParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( @@ -1481,18 +1689,24 @@ void protobuf_RegisterTypes(const ::std::string&) { MemoryDataParameter_descriptor_, MemoryDataParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( MVNParameter_descriptor_, MVNParameter::internal_default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + ParameterParameter_descriptor_, ParameterParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( PoolingParameter_descriptor_, PoolingParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( PowerParameter_descriptor_, PowerParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( PythonParameter_descriptor_, PythonParameter::internal_default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + RecurrentParameter_descriptor_, RecurrentParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( ReductionParameter_descriptor_, ReductionParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( ReLUParameter_descriptor_, ReLUParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( ReshapeParameter_descriptor_, ReshapeParameter::internal_default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + ScaleParameter_descriptor_, ScaleParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( SigmoidParameter_descriptor_, SigmoidParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( @@ -1501,6 +1715,8 @@ void protobuf_RegisterTypes(const ::std::string&) { SoftmaxParameter_descriptor_, SoftmaxParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( TanHParameter_descriptor_, TanHParameter::internal_default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + TileParameter_descriptor_, TileParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( ThresholdParameter_descriptor_, ThresholdParameter::internal_default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( @@ -1526,8 +1742,6 @@ void protobuf_ShutdownFile_caffe_2eproto() { delete BlobProto_reflection_; BlobProtoVector_default_instance_.Shutdown(); delete BlobProtoVector_reflection_; - CropParameter_default_instance_.Shutdown(); - delete CropParameter_reflection_; PermuteParameter_default_instance_.Shutdown(); delete PermuteParameter_reflection_; NormalizeBBoxParameter_default_instance_.Shutdown(); @@ -1546,6 +1760,7 @@ void protobuf_ShutdownFile_caffe_2eproto() { SolverParameter_default_instance_.Shutdown(); delete SolverParameter_reflection_; delete SolverParameter::_default_regularization_type_; + delete SolverParameter::_default_type_; SolverState_default_instance_.Shutdown(); delete SolverState_reflection_; NetState_default_instance_.Shutdown(); @@ -1566,10 +1781,16 @@ void protobuf_ShutdownFile_caffe_2eproto() { delete ArgMaxParameter_reflection_; ConcatParameter_default_instance_.Shutdown(); delete ConcatParameter_reflection_; + BatchNormParameter_default_instance_.Shutdown(); + delete BatchNormParameter_reflection_; + BiasParameter_default_instance_.Shutdown(); + delete BiasParameter_reflection_; ContrastiveLossParameter_default_instance_.Shutdown(); delete ContrastiveLossParameter_reflection_; ConvolutionParameter_default_instance_.Shutdown(); delete ConvolutionParameter_reflection_; + CropParameter_default_instance_.Shutdown(); + delete CropParameter_reflection_; DataParameter_default_instance_.Shutdown(); delete DataParameter_reflection_; DropoutParameter_default_instance_.Shutdown(); @@ -1578,6 +1799,10 @@ void protobuf_ShutdownFile_caffe_2eproto() { delete DummyDataParameter_reflection_; EltwiseParameter_default_instance_.Shutdown(); delete EltwiseParameter_reflection_; + ELUParameter_default_instance_.Shutdown(); + delete ELUParameter_reflection_; + EmbedParameter_default_instance_.Shutdown(); + delete EmbedParameter_reflection_; ExpParameter_default_instance_.Shutdown(); delete ExpParameter_reflection_; FlattenParameter_default_instance_.Shutdown(); @@ -1594,6 +1819,8 @@ void protobuf_ShutdownFile_caffe_2eproto() { delete InfogainLossParameter_reflection_; InnerProductParameter_default_instance_.Shutdown(); delete InnerProductParameter_reflection_; + InputParameter_default_instance_.Shutdown(); + delete InputParameter_reflection_; LogParameter_default_instance_.Shutdown(); delete LogParameter_reflection_; LRNParameter_default_instance_.Shutdown(); @@ -1602,18 +1829,24 @@ void protobuf_ShutdownFile_caffe_2eproto() { delete MemoryDataParameter_reflection_; MVNParameter_default_instance_.Shutdown(); delete MVNParameter_reflection_; + ParameterParameter_default_instance_.Shutdown(); + delete ParameterParameter_reflection_; PoolingParameter_default_instance_.Shutdown(); delete PoolingParameter_reflection_; PowerParameter_default_instance_.Shutdown(); delete PowerParameter_reflection_; PythonParameter_default_instance_.Shutdown(); delete PythonParameter_reflection_; + RecurrentParameter_default_instance_.Shutdown(); + delete RecurrentParameter_reflection_; ReductionParameter_default_instance_.Shutdown(); delete ReductionParameter_reflection_; ReLUParameter_default_instance_.Shutdown(); delete ReLUParameter_reflection_; ReshapeParameter_default_instance_.Shutdown(); delete ReshapeParameter_reflection_; + ScaleParameter_default_instance_.Shutdown(); + delete ScaleParameter_reflection_; SigmoidParameter_default_instance_.Shutdown(); delete SigmoidParameter_reflection_; SliceParameter_default_instance_.Shutdown(); @@ -1622,6 +1855,8 @@ void protobuf_ShutdownFile_caffe_2eproto() { delete SoftmaxParameter_reflection_; TanHParameter_default_instance_.Shutdown(); delete TanHParameter_reflection_; + TileParameter_default_instance_.Shutdown(); + delete TileParameter_reflection_; ThresholdParameter_default_instance_.Shutdown(); delete ThresholdParameter_reflection_; WindowDataParameter_default_instance_.Shutdown(); @@ -1646,7 +1881,6 @@ void protobuf_InitDefaults_caffe_2eproto_impl() { BlobShape_default_instance_.DefaultConstruct(); BlobProto_default_instance_.DefaultConstruct(); BlobProtoVector_default_instance_.DefaultConstruct(); - CropParameter_default_instance_.DefaultConstruct(); PermuteParameter_default_instance_.DefaultConstruct(); NormalizeBBoxParameter_default_instance_.DefaultConstruct(); PriorBoxParameter_default_instance_.DefaultConstruct(); @@ -1662,6 +1896,8 @@ void protobuf_InitDefaults_caffe_2eproto_impl() { ::google::protobuf::internal::GetEmptyString(); SolverParameter::_default_regularization_type_ = new ::std::string("L2", 2); + SolverParameter::_default_type_ = + new ::std::string("SGD", 3); SolverParameter_default_instance_.DefaultConstruct(); ::google::protobuf::internal::GetEmptyString(); SolverState_default_instance_.DefaultConstruct(); @@ -1679,13 +1915,18 @@ void protobuf_InitDefaults_caffe_2eproto_impl() { AccuracyParameter_default_instance_.DefaultConstruct(); ArgMaxParameter_default_instance_.DefaultConstruct(); ConcatParameter_default_instance_.DefaultConstruct(); + BatchNormParameter_default_instance_.DefaultConstruct(); + BiasParameter_default_instance_.DefaultConstruct(); ContrastiveLossParameter_default_instance_.DefaultConstruct(); ConvolutionParameter_default_instance_.DefaultConstruct(); + CropParameter_default_instance_.DefaultConstruct(); ::google::protobuf::internal::GetEmptyString(); DataParameter_default_instance_.DefaultConstruct(); DropoutParameter_default_instance_.DefaultConstruct(); DummyDataParameter_default_instance_.DefaultConstruct(); EltwiseParameter_default_instance_.DefaultConstruct(); + ELUParameter_default_instance_.DefaultConstruct(); + EmbedParameter_default_instance_.DefaultConstruct(); ExpParameter_default_instance_.DefaultConstruct(); FlattenParameter_default_instance_.DefaultConstruct(); ::google::protobuf::internal::GetEmptyString(); @@ -1698,21 +1939,26 @@ void protobuf_InitDefaults_caffe_2eproto_impl() { ::google::protobuf::internal::GetEmptyString(); InfogainLossParameter_default_instance_.DefaultConstruct(); InnerProductParameter_default_instance_.DefaultConstruct(); + InputParameter_default_instance_.DefaultConstruct(); LogParameter_default_instance_.DefaultConstruct(); LRNParameter_default_instance_.DefaultConstruct(); MemoryDataParameter_default_instance_.DefaultConstruct(); MVNParameter_default_instance_.DefaultConstruct(); + ParameterParameter_default_instance_.DefaultConstruct(); PoolingParameter_default_instance_.DefaultConstruct(); PowerParameter_default_instance_.DefaultConstruct(); ::google::protobuf::internal::GetEmptyString(); PythonParameter_default_instance_.DefaultConstruct(); + RecurrentParameter_default_instance_.DefaultConstruct(); ReductionParameter_default_instance_.DefaultConstruct(); ReLUParameter_default_instance_.DefaultConstruct(); ReshapeParameter_default_instance_.DefaultConstruct(); + ScaleParameter_default_instance_.DefaultConstruct(); SigmoidParameter_default_instance_.DefaultConstruct(); SliceParameter_default_instance_.DefaultConstruct(); SoftmaxParameter_default_instance_.DefaultConstruct(); TanHParameter_default_instance_.DefaultConstruct(); + TileParameter_default_instance_.DefaultConstruct(); ThresholdParameter_default_instance_.DefaultConstruct(); ::google::protobuf::internal::GetEmptyString(); WindowDataParameter::_default_crop_mode_ = @@ -1730,7 +1976,6 @@ void protobuf_InitDefaults_caffe_2eproto_impl() { BlobShape_default_instance_.get_mutable()->InitAsDefaultInstance(); BlobProto_default_instance_.get_mutable()->InitAsDefaultInstance(); BlobProtoVector_default_instance_.get_mutable()->InitAsDefaultInstance(); - CropParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); PermuteParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); NormalizeBBoxParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); PriorBoxParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); @@ -1749,12 +1994,17 @@ void protobuf_InitDefaults_caffe_2eproto_impl() { AccuracyParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); ArgMaxParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); ConcatParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); + BatchNormParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); + BiasParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); ContrastiveLossParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); ConvolutionParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); + CropParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); DataParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); DropoutParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); DummyDataParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); EltwiseParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); + ELUParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); + EmbedParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); ExpParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); FlattenParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); HDF5DataParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); @@ -1763,20 +2013,25 @@ void protobuf_InitDefaults_caffe_2eproto_impl() { ImageDataParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); InfogainLossParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); InnerProductParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); + InputParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); LogParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); LRNParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); MemoryDataParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); MVNParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); + ParameterParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); PoolingParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); PowerParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); PythonParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); + RecurrentParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); ReductionParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); ReLUParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); ReshapeParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); + ScaleParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); SigmoidParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); SliceParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); SoftmaxParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); TanHParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); + TileParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); ThresholdParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); WindowDataParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); SPPParameter_default_instance_.get_mutable()->InitAsDefaultInstance(); @@ -1797,13 +2052,13 @@ void protobuf_AddDesc_caffe_2eproto_impl() { protobuf_InitDefaults_caffe_2eproto(); ::google::protobuf::DescriptorPool::InternalAddGeneratedFile( "\n\013caffe.proto\022\005caffe\"\034\n\tBlobShape\022\017\n\003dim" - "\030\001 \003(\003B\002\020\001\"\232\001\n\tBlobProto\022\037\n\005shape\030\007 \001(\0132" + "\030\001 \003(\003B\002\020\001\"\314\001\n\tBlobProto\022\037\n\005shape\030\007 \001(\0132" "\020.caffe.BlobShape\022\020\n\004data\030\005 \003(\002B\002\020\001\022\020\n\004d" - "iff\030\006 \003(\002B\002\020\001\022\016\n\003num\030\001 \001(\005:\0010\022\023\n\010channel" - "s\030\002 \001(\005:\0010\022\021\n\006height\030\003 \001(\005:\0010\022\020\n\005width\030\004" - " \001(\005:\0010\"2\n\017BlobProtoVector\022\037\n\005blobs\030\001 \003(" - "\0132\020.caffe.BlobProto\"0\n\rCropParameter\022\017\n\004" - "axis\030\001 \001(\005:\0012\022\016\n\006offset\030\002 \003(\r\"!\n\020Permute" + "iff\030\006 \003(\002B\002\020\001\022\027\n\013double_data\030\010 \003(\001B\002\020\001\022\027" + "\n\013double_diff\030\t \003(\001B\002\020\001\022\016\n\003num\030\001 \001(\005:\0010\022" + "\023\n\010channels\030\002 \001(\005:\0010\022\021\n\006height\030\003 \001(\005:\0010\022" + "\020\n\005width\030\004 \001(\005:\0010\"2\n\017BlobProtoVector\022\037\n\005" + "blobs\030\001 \003(\0132\020.caffe.BlobProto\"!\n\020Permute" "Parameter\022\r\n\005order\030\001 \003(\r\"\226\001\n\026NormalizeBB" "oxParameter\022\034\n\016across_spatial\030\001 \001(\010:\004tru" "e\022,\n\014scale_filler\030\002 \001(\0132\026.caffe.FillerPa" @@ -1837,7 +2092,7 @@ void protobuf_AddDesc_caffe_2eproto_impl() { "\005false\022\036\n\005state\030\006 \001(\0132\017.caffe.NetState\022\031" "\n\ndebug_info\030\007 \001(\010:\005false\022$\n\005layer\030d \003(\013" "2\025.caffe.LayerParameter\022\'\n\006layers\030\002 \003(\0132" - "\027.caffe.V1LayerParameter\"\275\010\n\017SolverParam" + "\027.caffe.V1LayerParameter\"\242\n\n\017SolverParam" "eter\022\013\n\003net\030\030 \001(\t\022&\n\tnet_param\030\031 \001(\0132\023.c" "affe.NetParameter\022\021\n\ttrain_net\030\001 \001(\t\022\020\n\010" "test_net\030\002 \003(\t\022,\n\017train_net_param\030\025 \001(\0132" @@ -1856,308 +2111,357 @@ void protobuf_AddDesc_caffe_2eproto_impl() { "tepsize\030\r \001(\005\022\021\n\tstepvalue\030\" \003(\005\022\032\n\016clip" "_gradients\030# \001(\002:\002-1\022\023\n\010snapshot\030\016 \001(\005:\001" "0\022\027\n\017snapshot_prefix\030\017 \001(\t\022\034\n\rsnapshot_d" - "iff\030\020 \001(\010:\005false\022;\n\013solver_mode\030\021 \001(\0162!." - "caffe.SolverParameter.SolverMode:\003GPU\022\024\n" - "\tdevice_id\030\022 \001(\005:\0010\022\027\n\013random_seed\030\024 \001(\003" - ":\002-1\022;\n\013solver_type\030\036 \001(\0162!.caffe.Solver" - "Parameter.SolverType:\003SGD\022\024\n\005delta\030\037 \001(\002" - ":\0051e-08\022\031\n\ndebug_info\030\027 \001(\010:\005false\022\"\n\024sn" - "apshot_after_train\030\034 \001(\010:\004true\"\036\n\nSolver" - "Mode\022\007\n\003CPU\020\000\022\007\n\003GPU\020\001\"0\n\nSolverType\022\007\n\003" - "SGD\020\000\022\014\n\010NESTEROV\020\001\022\013\n\007ADAGRAD\020\002\"l\n\013Solv" - "erState\022\014\n\004iter\030\001 \001(\005\022\023\n\013learned_net\030\002 \001" - "(\t\022!\n\007history\030\003 \003(\0132\020.caffe.BlobProto\022\027\n" - "\014current_step\030\004 \001(\005:\0010\"N\n\010NetState\022!\n\005ph" - "ase\030\001 \001(\0162\014.caffe.Phase:\004TEST\022\020\n\005level\030\002" - " \001(\005:\0010\022\r\n\005stage\030\003 \003(\t\"s\n\014NetStateRule\022\033" - "\n\005phase\030\001 \001(\0162\014.caffe.Phase\022\021\n\tmin_level" - "\030\002 \001(\005\022\021\n\tmax_level\030\003 \001(\005\022\r\n\005stage\030\004 \003(\t" - "\022\021\n\tnot_stage\030\005 \003(\t\"\243\001\n\tParamSpec\022\014\n\004nam" - "e\030\001 \001(\t\0221\n\nshare_mode\030\002 \001(\0162\035.caffe.Para" - "mSpec.DimCheckMode\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\"\301\022\n\016LayerParam" - "eter\022\014\n\004name\030\001 \001(\t\022\014\n\004type\030\002 \001(\t\022\016\n\006bott" - "om\030\003 \003(\t\022\013\n\003top\030\004 \003(\t\022\033\n\005phase\030\n \001(\0162\014.c" - "affe.Phase\022\023\n\013loss_weight\030\005 \003(\002\022\037\n\005param" - "\030\006 \003(\0132\020.caffe.ParamSpec\022\037\n\005blobs\030\007 \003(\0132" - "\020.caffe.BlobProto\022\026\n\016propagate_down\030\013 \003(" - "\010\022$\n\007include\030\010 \003(\0132\023.caffe.NetStateRule\022" - "$\n\007exclude\030\t \003(\0132\023.caffe.NetStateRule\0227\n" - "\017transform_param\030d \001(\0132\036.caffe.Transform" - "ationParameter\022(\n\nloss_param\030e \001(\0132\024.caf" - "fe.LossParameter\0220\n\016accuracy_param\030f \001(\013" - "2\030.caffe.AccuracyParameter\022,\n\014argmax_par" - "am\030g \001(\0132\026.caffe.ArgMaxParameter\022,\n\014conc" - "at_param\030h \001(\0132\026.caffe.ConcatParameter\022\?" - "\n\026contrastive_loss_param\030i \001(\0132\037.caffe.C" - "ontrastiveLossParameter\0226\n\021convolution_p" - "aram\030j \001(\0132\033.caffe.ConvolutionParameter\022" - ")\n\ncrop_param\030\211\001 \001(\0132\024.caffe.CropParamet" - "er\022(\n\ndata_param\030k \001(\0132\024.caffe.DataParam" - "eter\022@\n\026detection_output_param\030\215\001 \001(\0132\037." - "caffe.DetectionOutputParameter\022.\n\rdropou" - "t_param\030l \001(\0132\027.caffe.DropoutParameter\0223" - "\n\020dummy_data_param\030m \001(\0132\031.caffe.DummyDa" - "taParameter\022.\n\reltwise_param\030n \001(\0132\027.caf" - "fe.EltwiseParameter\022&\n\texp_param\030o \001(\0132\023" - ".caffe.ExpParameter\022/\n\rflatten_param\030\207\001 " - "\001(\0132\027.caffe.FlattenParameter\0221\n\017hdf5_dat" - "a_param\030p \001(\0132\030.caffe.HDF5DataParameter\022" - "5\n\021hdf5_output_param\030q \001(\0132\032.caffe.HDF5O" - "utputParameter\0223\n\020hinge_loss_param\030r \001(\013" - "2\031.caffe.HingeLossParameter\0223\n\020image_dat" - "a_param\030s \001(\0132\031.caffe.ImageDataParameter" - "\0229\n\023infogain_loss_param\030t \001(\0132\034.caffe.In" - "fogainLossParameter\0229\n\023inner_product_par" - "am\030u \001(\0132\034.caffe.InnerProductParameter\022\'" - "\n\tlog_param\030\206\001 \001(\0132\023.caffe.LogParameter\022" - "&\n\tlrn_param\030v \001(\0132\023.caffe.LRNParameter\022" - "5\n\021memory_data_param\030w \001(\0132\032.caffe.Memor" - "yDataParameter\022&\n\tmvn_param\030x \001(\0132\023.caff" - "e.MVNParameter\022<\n\024normalize_bbox_param\030\213" - "\001 \001(\0132\035.caffe.NormalizeBBoxParameter\022/\n\r" - "permute_param\030\212\001 \001(\0132\027.caffe.PermutePara" - "meter\022.\n\rpooling_param\030y \001(\0132\027.caffe.Poo" - "lingParameter\022*\n\013power_param\030z \001(\0132\025.caf" - "fe.PowerParameter\022+\n\013prelu_param\030\203\001 \001(\0132" - "\025.caffe.PReLUParameter\0222\n\017prior_box_para" - "m\030\214\001 \001(\0132\030.caffe.PriorBoxParameter\022-\n\014py" - "thon_param\030\202\001 \001(\0132\026.caffe.PythonParamete" - "r\0223\n\017reduction_param\030\210\001 \001(\0132\031.caffe.Redu" - "ctionParameter\022(\n\nrelu_param\030{ \001(\0132\024.caf" - "fe.ReLUParameter\022/\n\rreshape_param\030\205\001 \001(\013" - "2\027.caffe.ReshapeParameter\022.\n\rsigmoid_par" - "am\030| \001(\0132\027.caffe.SigmoidParameter\022*\n\013sli" - "ce_param\030~ \001(\0132\025.caffe.SliceParameter\022.\n" - "\rsoftmax_param\030} \001(\0132\027.caffe.SoftmaxPara" - "meter\022\'\n\tspp_param\030\204\001 \001(\0132\023.caffe.SPPPar" - "ameter\022(\n\ntanh_param\030\177 \001(\0132\024.caffe.TanHP" - "arameter\0223\n\017threshold_param\030\200\001 \001(\0132\031.caf" - "fe.ThresholdParameter\0226\n\021window_data_par" - "am\030\201\001 \001(\0132\032.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\">\n\rLossParameter\022" - "\024\n\014ignore_label\030\001 \001(\005\022\027\n\tnormalize\030\002 \001(\010" - ":\004true\"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_label\030\003" - " \001(\005\"\?\n\017ArgMaxParameter\022\032\n\013out_max_val\030\001" - " \001(\010:\005false\022\020\n\005top_k\030\002 \001(\r:\0011\"9\n\017ConcatP" - "arameter\022\017\n\004axis\030\002 \001(\005:\0011\022\025\n\nconcat_dim\030" - "\001 \001(\r:\0011\"L\n\030ContrastiveLossParameter\022\021\n\006" - "margin\030\001 \001(\002:\0011\022\035\n\016legacy_version\030\002 \001(\010:" - "\005false\"\371\003\n\024ConvolutionParameter\022\022\n\nnum_o" - "utput\030\001 \001(\r\022\027\n\tbias_term\030\002 \001(\010:\004true\022\016\n\003" - "pad\030\003 \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\004 \001(\r\022\020\n\010kernel_" - "h\030\013 \001(\r\022\020\n\010kernel_w\030\014 \001(\r\022\020\n\005group\030\005 \001(\r" - ":\0011\022\021\n\006stride\030\006 \001(\r:\0011\022\020\n\010stride_h\030\r \001(\r" - "\022\020\n\010stride_w\030\016 \001(\r\022-\n\rweight_filler\030\007 \001(" - "\0132\026.caffe.FillerParameter\022+\n\013bias_filler" - "\030\010 \001(\0132\026.caffe.FillerParameter\022;\n\006engine" - "\030\017 \001(\0162\".caffe.ConvolutionParameter.Engi" - "ne:\007DEFAULT\022\022\n\ndilation_h\030\022 \001(\r\022\022\n\ndilat" - "ion_w\030\023 \001(\r\022\020\n\010dilation\030\024 \001(\r\"+\n\006Engine\022" - "\013\n\007DEFAULT\020\000\022\t\n\005CAFFE\020\001\022\t\n\005CUDNN\020\002\"\217\002\n\rD" - "ataParameter\022\016\n\006source\030\001 \001(\t\022\022\n\nbatch_si" - "ze\030\004 \001(\r\022\024\n\trand_skip\030\007 \001(\r:\0010\0221\n\007backen" - "d\030\010 \001(\0162\027.caffe.DataParameter.DB:\007LEVELD" - "B\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:\005fa" - "lse\022\"\n\023force_encoded_color\030\t \001(\010:\005false\"" - "\033\n\002DB\022\013\n\007LEVELDB\020\000\022\010\n\004LMDB\020\001\".\n\020DropoutP" - "arameter\022\032\n\rdropout_ratio\030\001 \001(\002:\0030.5\"\240\001\n" - "\022DummyDataParameter\022+\n\013data_filler\030\001 \003(\013" - "2\026.caffe.FillerParameter\022\037\n\005shape\030\006 \003(\0132" - "\020.caffe.BlobShape\022\013\n\003num\030\002 \003(\r\022\020\n\010channe" - "ls\030\003 \003(\r\022\016\n\006height\030\004 \003(\r\022\r\n\005width\030\005 \003(\r\"" - "\245\001\n\020EltwiseParameter\0229\n\toperation\030\001 \001(\0162" - "!.caffe.EltwiseParameter.EltwiseOp:\003SUM\022" - "\r\n\005coeff\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\"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\005shift\030\003 \001(\002:\0010\"9\n" - "\020FlattenParameter\022\017\n\004axis\030\001 \001(\005:\0011\022\024\n\010en" - "d_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\007shu" - "ffle\030\003 \001(\010:\005false\"(\n\023HDF5OutputParameter" - "\022\021\n\tfile_name\030\001 \001(\t\"^\n\022HingeLossParamete" - "r\0220\n\004norm\030\001 \001(\0162\036.caffe.HingeLossParamet" - "er.Norm:\002L1\"\026\n\004Norm\022\006\n\002L1\020\001\022\006\n\002L2\020\002\"\224\002\n\022" - "ImageDataParameter\022\016\n\006source\030\001 \001(\t\022\022\n\nba" - "tch_size\030\004 \001(\r\022\024\n\trand_skip\030\007 \001(\r:\0010\022\026\n\007" - "shuffle\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_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\025\n\013root_folder\030\014 \001(\t:\000\"\'\n\025In" - "fogainLossParameter\022\016\n\006source\030\001 \001(\t\"\261\001\n\025" - "InnerProductParameter\022\022\n\nnum_output\030\001 \001(" - "\r\022\027\n\tbias_term\030\002 \001(\010:\004true\022-\n\rweight_fil" - "ler\030\003 \001(\0132\026.caffe.FillerParameter\022+\n\013bia" - "s_filler\030\004 \001(\0132\026.caffe.FillerParameter\022\017" - "\n\004axis\030\005 \001(\005:\0011\"D\n\014LogParameter\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\"\326\001\n\014LRNParameter\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\022D\n\013norm_region\030\004 \001(\0162\036.caffe.LRNPara" - "meter.NormRegion:\017ACROSS_CHANNELS\022\014\n\001k\030\005" - " \001(\002:\0011\"5\n\nNormRegion\022\023\n\017ACROSS_CHANNELS" - "\020\000\022\022\n\016WITHIN_CHANNEL\020\001\"Z\n\023MemoryDataPara" - "meter\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\014MV" - "NParameter\022 \n\022normalize_variance\030\001 \001(\010:\004" - "true\022\036\n\017across_channels\030\002 \001(\010:\005false\022\022\n\003" - "eps\030\003 \001(\002:\0051e-09\"\242\003\n\020PoolingParameter\0225\n" - "\004pool\030\001 \001(\0162\".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\0227\n\006engine\030\013 \001(\0162\036.caffe" - ".PoolingParameter.Engine:\007DEFAULT\022\035\n\016glo" - "bal_pooling\030\014 \001(\010:\005false\".\n\nPoolMethod\022\007" - "\n\003MAX\020\000\022\007\n\003AVE\020\001\022\016\n\nSTOCHASTIC\020\002\"+\n\006Engi" - "ne\022\013\n\007DEFAULT\020\000\022\t\n\005CAFFE\020\001\022\t\n\005CUDNN\020\002\"F\n" - "\016PowerParameter\022\020\n\005power\030\001 \001(\002:\0011\022\020\n\005sca" - "le\030\002 \001(\002:\0011\022\020\n\005shift\030\003 \001(\002:\0010\"0\n\017PythonP" - "arameter\022\016\n\006module\030\001 \001(\t\022\r\n\005layer\030\002 \001(\t\"" - "\255\001\n\022ReductionParameter\022=\n\toperation\030\001 \001(" - "\0162%.caffe.ReductionParameter.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\005SU" - "MSQ\020\003\022\010\n\004MEAN\020\004\"\215\001\n\rReLUParameter\022\031\n\016neg" - "ative_slope\030\001 \001(\002:\0010\0224\n\006engine\030\002 \001(\0162\033.c" - "affe.ReLUParameter.Engine:\007DEFAULT\"+\n\006En" - "gine\022\013\n\007DEFAULT\020\000\022\t\n\005CAFFE\020\001\022\t\n\005CUDNN\020\002\"" - "Z\n\020ReshapeParameter\022\037\n\005shape\030\001 \001(\0132\020.caf" - "fe.BlobShape\022\017\n\004axis\030\002 \001(\005:\0010\022\024\n\010num_axe" - "s\030\003 \001(\005:\002-1\"x\n\020SigmoidParameter\0227\n\006engin" - "e\030\001 \001(\0162\036.caffe.SigmoidParameter.Engine:" - "\007DEFAULT\"+\n\006Engine\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\013slice_point\030\002 \003(\r\022\024\n\tslice_d" - "im\030\001 \001(\r:\0011\"\211\001\n\020SoftmaxParameter\0227\n\006engi" - "ne\030\001 \001(\0162\036.caffe.SoftmaxParameter.Engine" - ":\007DEFAULT\022\017\n\004axis\030\002 \001(\005:\0011\"+\n\006Engine\022\013\n\007" - "DEFAULT\020\000\022\t\n\005CAFFE\020\001\022\t\n\005CUDNN\020\002\"r\n\rTanHP" - "arameter\0224\n\006engine\030\001 \001(\0162\033.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\022Threshold" - "Parameter\022\024\n\tthreshold\030\001 \001(\002:\0010\"\301\002\n\023Wind" - "owDataParameter\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_si" - "ze\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\013fg_fracti" - "on\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\014cache_images\030" - "\014 \001(\010:\005false\022\025\n\013root_folder\030\r \001(\t:\000\"\353\001\n\014" - "SPPParameter\022\026\n\016pyramid_height\030\001 \001(\r\0221\n\004" - "pool\030\002 \001(\0162\036.caffe.SPPParameter.PoolMeth" - "od:\003MAX\0223\n\006engine\030\006 \001(\0162\032.caffe.SPPParam" - "eter.Engine:\007DEFAULT\".\n\nPoolMethod\022\007\n\003MA" - "X\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\"\340\023\n\020V1" - "LayerParameter\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\023.caf" - "fe.NetStateRule\022$\n\007exclude\030! \003(\0132\023.caffe" - ".NetStateRule\022/\n\004type\030\005 \001(\0162!.caffe.V1La" - "yerParameter.LayerType\022\037\n\005blobs\030\006 \003(\0132\020." - "caffe.BlobProto\022\016\n\005param\030\351\007 \003(\t\022>\n\017blob_" - "share_mode\030\352\007 \003(\0162$.caffe.V1LayerParamet" - "er.DimCheckMode\022\020\n\010blobs_lr\030\007 \003(\002\022\024\n\014wei" - "ght_decay\030\010 \003(\002\022\023\n\013loss_weight\030# \003(\002\0220\n\016" - "accuracy_param\030\033 \001(\0132\030.caffe.AccuracyPar" - "ameter\022,\n\014argmax_param\030\027 \001(\0132\026.caffe.Arg" - "MaxParameter\022,\n\014concat_param\030\t \001(\0132\026.caf" - "fe.ConcatParameter\022\?\n\026contrastive_loss_p" - "aram\030( \001(\0132\037.caffe.ContrastiveLossParame" - "ter\0226\n\021convolution_param\030\n \001(\0132\033.caffe.C" - "onvolutionParameter\022(\n\ndata_param\030\013 \001(\0132" - "\024.caffe.DataParameter\022.\n\rdropout_param\030\014" - " \001(\0132\027.caffe.DropoutParameter\0223\n\020dummy_d" - "ata_param\030\032 \001(\0132\031.caffe.DummyDataParamet" - "er\022.\n\reltwise_param\030\030 \001(\0132\027.caffe.Eltwis" - "eParameter\022&\n\texp_param\030) \001(\0132\023.caffe.Ex" - "pParameter\0221\n\017hdf5_data_param\030\r \001(\0132\030.ca" - "ffe.HDF5DataParameter\0225\n\021hdf5_output_par" - "am\030\016 \001(\0132\032.caffe.HDF5OutputParameter\0223\n\020" - "hinge_loss_param\030\035 \001(\0132\031.caffe.HingeLoss" - "Parameter\0223\n\020image_data_param\030\017 \001(\0132\031.ca" - "ffe.ImageDataParameter\0229\n\023infogain_loss_" - "param\030\020 \001(\0132\034.caffe.InfogainLossParamete" - "r\0229\n\023inner_product_param\030\021 \001(\0132\034.caffe.I" - "nnerProductParameter\022&\n\tlrn_param\030\022 \001(\0132" - "\023.caffe.LRNParameter\0225\n\021memory_data_para" - "m\030\026 \001(\0132\032.caffe.MemoryDataParameter\022&\n\tm" - "vn_param\030\" \001(\0132\023.caffe.MVNParameter\022.\n\rp" - "ooling_param\030\023 \001(\0132\027.caffe.PoolingParame" - "ter\022*\n\013power_param\030\025 \001(\0132\025.caffe.PowerPa" - "rameter\022(\n\nrelu_param\030\036 \001(\0132\024.caffe.ReLU" - "Parameter\022.\n\rsigmoid_param\030& \001(\0132\027.caffe" - ".SigmoidParameter\022.\n\rsoftmax_param\030\' \001(\013" - "2\027.caffe.SoftmaxParameter\022*\n\013slice_param" - "\030\037 \001(\0132\025.caffe.SliceParameter\022(\n\ntanh_pa" - "ram\030% \001(\0132\024.caffe.TanHParameter\0222\n\017thres" - "hold_param\030\031 \001(\0132\031.caffe.ThresholdParame" - "ter\0225\n\021window_data_param\030\024 \001(\0132\032.caffe.W" - "indowDataParameter\0227\n\017transform_param\030$ " - "\001(\0132\036.caffe.TransformationParameter\022(\n\nl" - "oss_param\030* \001(\0132\024.caffe.LossParameter\022&\n" - "\005layer\030\001 \001(\0132\027.caffe.V0LayerParameter\"\330\004" - "\n\tLayerType\022\010\n\004NONE\020\000\022\n\n\006ABSVAL\020#\022\014\n\010ACC" - "URACY\020\001\022\n\n\006ARGMAX\020\036\022\010\n\004BNLL\020\002\022\n\n\006CONCAT\020" - "\003\022\024\n\020CONTRASTIVE_LOSS\020%\022\017\n\013CONVOLUTION\020\004" - "\022\010\n\004DATA\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\007ELTWISE\020\031\022\007\n\003EXP\020&\022\013\n\007FLATTEN\020\010\022\r\n\tHDF" - "5_DATA\020\t\022\017\n\013HDF5_OUTPUT\020\n\022\016\n\nHINGE_LOSS\020" - "\034\022\n\n\006IM2COL\020\013\022\016\n\nIMAGE_DATA\020\014\022\021\n\rINFOGAI" - "N_LOSS\020\r\022\021\n\rINNER_PRODUCT\020\016\022\007\n\003LRN\020\017\022\017\n\013" - "MEMORY_DATA\020\035\022\035\n\031MULTINOMIAL_LOGISTIC_LO" - "SS\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_EN" - "TROPY_LOSS\020\033\022\013\n\007SILENCE\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\nPERMISSI" - "VE\020\001\"\375\007\n\020V0LayerParameter\022\014\n\004name\030\001 \001(\t\022" - "\014\n\004type\030\002 \001(\t\022\022\n\nnum_output\030\003 \001(\r\022\026\n\010bia" - "sterm\030\004 \001(\010:\004true\022-\n\rweight_filler\030\005 \001(\013" + "iff\030\020 \001(\010:\005false\022K\n\017snapshot_format\030% \001(" + "\0162%.caffe.SolverParameter.SnapshotFormat" + ":\013BINARYPROTO\022;\n\013solver_mode\030\021 \001(\0162!.caf" + "fe.SolverParameter.SolverMode:\003GPU\022\024\n\tde" + "vice_id\030\022 \001(\005:\0010\022\027\n\013random_seed\030\024 \001(\003:\002-" + "1\022\021\n\004type\030( \001(\t:\003SGD\022\024\n\005delta\030\037 \001(\002:\0051e-" + "08\022\030\n\tmomentum2\030\' \001(\002:\0050.999\022\027\n\trms_deca" + "y\030& \001(\002:\0040.99\022\031\n\ndebug_info\030\027 \001(\010:\005false" + "\022\"\n\024snapshot_after_train\030\034 \001(\010:\004true\022;\n\013" + "solver_type\030\036 \001(\0162!.caffe.SolverParamete" + "r.SolverType:\003SGD\"+\n\016SnapshotFormat\022\010\n\004H" + "DF5\020\000\022\017\n\013BINARYPROTO\020\001\"\036\n\nSolverMode\022\007\n\003" + "CPU\020\000\022\007\n\003GPU\020\001\"U\n\nSolverType\022\007\n\003SGD\020\000\022\014\n" + "\010NESTEROV\020\001\022\013\n\007ADAGRAD\020\002\022\013\n\007RMSPROP\020\003\022\014\n" + "\010ADADELTA\020\004\022\010\n\004ADAM\020\005\"l\n\013SolverState\022\014\n\004" + "iter\030\001 \001(\005\022\023\n\013learned_net\030\002 \001(\t\022!\n\007histo" + "ry\030\003 \003(\0132\020.caffe.BlobProto\022\027\n\014current_st" + "ep\030\004 \001(\005:\0010\"N\n\010NetState\022!\n\005phase\030\001 \001(\0162\014" + ".caffe.Phase:\004TEST\022\020\n\005level\030\002 \001(\005:\0010\022\r\n\005" + "stage\030\003 \003(\t\"s\n\014NetStateRule\022\033\n\005phase\030\001 \001" + "(\0162\014.caffe.Phase\022\021\n\tmin_level\030\002 \001(\005\022\021\n\tm" + "ax_level\030\003 \001(\005\022\r\n\005stage\030\004 \003(\t\022\021\n\tnot_sta" + "ge\030\005 \003(\t\"\243\001\n\tParamSpec\022\014\n\004name\030\001 \001(\t\0221\n\n" + "share_mode\030\002 \001(\0162\035.caffe.ParamSpec.DimCh" + "eckMode\022\022\n\007lr_mult\030\003 \001(\002:\0011\022\025\n\ndecay_mul" + "t\030\004 \001(\002:\0011\"*\n\014DimCheckMode\022\n\n\006STRICT\020\000\022\016" + "\n\nPERMISSIVE\020\001\"\347\025\n\016LayerParameter\022\014\n\004nam" + "e\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\033\n\005phase\030\n \001(\0162\014.caffe.Phase\022" + "\023\n\013loss_weight\030\005 \003(\002\022\037\n\005param\030\006 \003(\0132\020.ca" + "ffe.ParamSpec\022\037\n\005blobs\030\007 \003(\0132\020.caffe.Blo" + "bProto\022\026\n\016propagate_down\030\013 \003(\010\022$\n\007includ" + "e\030\010 \003(\0132\023.caffe.NetStateRule\022$\n\007exclude\030" + "\t \003(\0132\023.caffe.NetStateRule\0227\n\017transform_" + "param\030d \001(\0132\036.caffe.TransformationParame" + "ter\022(\n\nloss_param\030e \001(\0132\024.caffe.LossPara" + "meter\0220\n\016accuracy_param\030f \001(\0132\030.caffe.Ac" + "curacyParameter\022,\n\014argmax_param\030g \001(\0132\026." + "caffe.ArgMaxParameter\0224\n\020batch_norm_para" + "m\030\213\001 \001(\0132\031.caffe.BatchNormParameter\022)\n\nb" + "ias_param\030\215\001 \001(\0132\024.caffe.BiasParameter\022," + "\n\014concat_param\030h \001(\0132\026.caffe.ConcatParam" + "eter\022\?\n\026contrastive_loss_param\030i \001(\0132\037.c" + "affe.ContrastiveLossParameter\0226\n\021convolu" + "tion_param\030j \001(\0132\033.caffe.ConvolutionPara" + "meter\022)\n\ncrop_param\030\220\001 \001(\0132\024.caffe.CropP" + "arameter\022(\n\ndata_param\030k \001(\0132\024.caffe.Dat" + "aParameter\022@\n\026detection_output_param\030\223\001 " + "\001(\0132\037.caffe.DetectionOutputParameter\022.\n\r" + "dropout_param\030l \001(\0132\027.caffe.DropoutParam" + "eter\0223\n\020dummy_data_param\030m \001(\0132\031.caffe.D" + "ummyDataParameter\022.\n\reltwise_param\030n \001(\013" + "2\027.caffe.EltwiseParameter\022\'\n\telu_param\030\214" + "\001 \001(\0132\023.caffe.ELUParameter\022+\n\013embed_para" + "m\030\211\001 \001(\0132\025.caffe.EmbedParameter\022&\n\texp_p" + "aram\030o \001(\0132\023.caffe.ExpParameter\022/\n\rflatt" + "en_param\030\207\001 \001(\0132\027.caffe.FlattenParameter" + "\0221\n\017hdf5_data_param\030p \001(\0132\030.caffe.HDF5Da" + "taParameter\0225\n\021hdf5_output_param\030q \001(\0132\032" + ".caffe.HDF5OutputParameter\0223\n\020hinge_loss" + "_param\030r \001(\0132\031.caffe.HingeLossParameter\022" + "3\n\020image_data_param\030s \001(\0132\031.caffe.ImageD" + "ataParameter\0229\n\023infogain_loss_param\030t \001(" + "\0132\034.caffe.InfogainLossParameter\0229\n\023inner" + "_product_param\030u \001(\0132\034.caffe.InnerProduc" + "tParameter\022+\n\013input_param\030\217\001 \001(\0132\025.caffe" + ".InputParameter\022\'\n\tlog_param\030\206\001 \001(\0132\023.ca" + "ffe.LogParameter\022&\n\tlrn_param\030v \001(\0132\023.ca" + "ffe.LRNParameter\0225\n\021memory_data_param\030w " + "\001(\0132\032.caffe.MemoryDataParameter\022&\n\tmvn_p" + "aram\030x \001(\0132\023.caffe.MVNParameter\022<\n\024norma" + "lize_bbox_param\030\225\001 \001(\0132\035.caffe.Normalize" + "BBoxParameter\022/\n\rpermute_param\030\224\001 \001(\0132\027." + "caffe.PermuteParameter\0223\n\017parameter_para" + "m\030\221\001 \001(\0132\031.caffe.ParameterParameter\022.\n\rp" + "ooling_param\030y \001(\0132\027.caffe.PoolingParame" + "ter\022*\n\013power_param\030z \001(\0132\025.caffe.PowerPa" + "rameter\022+\n\013prelu_param\030\203\001 \001(\0132\025.caffe.PR" + "eLUParameter\0222\n\017prior_box_param\030\226\001 \001(\0132\030" + ".caffe.PriorBoxParameter\022-\n\014python_param" + "\030\202\001 \001(\0132\026.caffe.PythonParameter\0223\n\017recur" + "rent_param\030\222\001 \001(\0132\031.caffe.RecurrentParam" + "eter\0223\n\017reduction_param\030\210\001 \001(\0132\031.caffe.R" + "eductionParameter\022(\n\nrelu_param\030{ \001(\0132\024." + "caffe.ReLUParameter\022/\n\rreshape_param\030\205\001 " + "\001(\0132\027.caffe.ReshapeParameter\022+\n\013scale_pa" + "ram\030\216\001 \001(\0132\025.caffe.ScaleParameter\022.\n\rsig" + "moid_param\030| \001(\0132\027.caffe.SigmoidParamete" + "r\022.\n\rsoftmax_param\030} \001(\0132\027.caffe.Softmax" + "Parameter\022\'\n\tspp_param\030\204\001 \001(\0132\023.caffe.SP" + "PParameter\022*\n\013slice_param\030~ \001(\0132\025.caffe." + "SliceParameter\022(\n\ntanh_param\030\177 \001(\0132\024.caf" + "fe.TanHParameter\0223\n\017threshold_param\030\200\001 \001" + "(\0132\031.caffe.ThresholdParameter\022)\n\ntile_pa" + "ram\030\212\001 \001(\0132\024.caffe.TileParameter\0226\n\021wind" + "ow_data_param\030\201\001 \001(\0132\032.caffe.WindowDataP" + "arameter\"\266\001\n\027TransformationParameter\022\020\n\005" + "scale\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_value\030\005 \003(\002\022\032\n\013force_color\030\006 \001(\010:" + "\005false\022\031\n\nforce_gray\030\007 \001(\010:\005false\"\302\001\n\rLo" + "ssParameter\022\024\n\014ignore_label\030\001 \001(\005\022D\n\rnor" + "malization\030\003 \001(\0162&.caffe.LossParameter.N" + "ormalizationMode:\005VALID\022\021\n\tnormalize\030\002 \001" + "(\010\"B\n\021NormalizationMode\022\010\n\004FULL\020\000\022\t\n\005VAL" + "ID\020\001\022\016\n\nBATCH_SIZE\020\002\022\010\n\004NONE\020\003\"L\n\021Accura" + "cyParameter\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\017ArgMaxPa" + "rameter\022\032\n\013out_max_val\030\001 \001(\010:\005false\022\020\n\005t" + "op_k\030\002 \001(\r:\0011\022\014\n\004axis\030\003 \001(\005\"9\n\017ConcatPar" + "ameter\022\017\n\004axis\030\002 \001(\005:\0011\022\025\n\nconcat_dim\030\001 " + "\001(\r:\0011\"j\n\022BatchNormParameter\022\030\n\020use_glob" + "al_stats\030\001 \001(\010\022&\n\027moving_average_fractio" + "n\030\002 \001(\002:\0050.999\022\022\n\003eps\030\003 \001(\002:\0051e-05\"]\n\rBi" + "asParameter\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\026.caffe.Filler" + "Parameter\"L\n\030ContrastiveLossParameter\022\021\n" + "\006margin\030\001 \001(\002:\0011\022\035\n\016legacy_version\030\002 \001(\010" + ":\005false\"\374\003\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\006strid" + "e\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\010stride_h\030\r \001(\r\022\020\n\010s" + "tride_w\030\016 \001(\r\022\020\n\005group\030\005 \001(\r:\0011\022-\n\rweigh" + "t_filler\030\007 \001(\0132\026.caffe.FillerParameter\022+" + "\n\013bias_filler\030\010 \001(\0132\026.caffe.FillerParame" + "ter\022;\n\006engine\030\017 \001(\0162\".caffe.ConvolutionP" + "arameter.Engine:\007DEFAULT\022\017\n\004axis\030\020 \001(\005:\001" + "1\022\036\n\017force_nd_im2col\030\021 \001(\010:\005false\"+\n\006Eng" + "ine\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\006offs" + "et\030\002 \003(\r\"\244\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\0221\n\007backend\030\010 \001(\0162\027.caffe.DataParame" + "ter.DB:\007LEVELDB\022\020\n\005scale\030\002 \001(\002:\0011\022\021\n\tmea" + "n_file\030\003 \001(\t\022\024\n\tcrop_size\030\005 \001(\r:\0010\022\025\n\006mi" + "rror\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\020DropoutParame" + "ter\022\032\n\rdropout_ratio\030\001 \001(\002:\0030.5\"\240\001\n\022Dumm" + "yDataParameter\022+\n\013data_filler\030\001 \003(\0132\026.ca" + "ffe.FillerParameter\022\037\n\005shape\030\006 \003(\0132\020.caf" + "fe.BlobShape\022\013\n\003num\030\002 \003(\r\022\020\n\010channels\030\003 " + "\003(\r\022\016\n\006height\030\004 \003(\r\022\r\n\005width\030\005 \003(\r\"\245\001\n\020E" + "ltwiseParameter\0229\n\toperation\030\001 \001(\0162!.caf" + "fe.EltwiseParameter.EltwiseOp:\003SUM\022\r\n\005co" + "eff\030\002 \003(\002\022\036\n\020stable_prod_grad\030\003 \001(\010:\004tru" + "e\"\'\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\"\254\001\n" + "\016EmbedParameter\022\022\n\nnum_output\030\001 \001(\r\022\021\n\ti" + "nput_dim\030\002 \001(\r\022\027\n\tbias_term\030\003 \001(\010:\004true\022" + "-\n\rweight_filler\030\004 \001(\0132\026.caffe.FillerPar" + "ameter\022+\n\013bias_filler\030\005 \001(\0132\026.caffe.Fill" + "erParameter\"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\005shift\030\003 \001(\002:\001" + "0\"9\n\020FlattenParameter\022\017\n\004axis\030\001 \001(\005:\0011\022\024" + "\n\010end_axis\030\002 \001(\005:\002-1\"O\n\021HDF5DataParamete" + "r\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\023HDF5OutputParam" + "eter\022\021\n\tfile_name\030\001 \001(\t\"^\n\022HingeLossPara" + "meter\0220\n\004norm\030\001 \001(\0162\036.caffe.HingeLossPar" + "ameter.Norm:\002L1\"\026\n\004Norm\022\006\n\002L1\020\001\022\006\n\002L2\020\002\"" + "\227\002\n\022ImageDataParameter\022\016\n\006source\030\001 \001(\t\022\025" + "\n\nbatch_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_heigh" + "t\030\t \001(\r:\0010\022\024\n\tnew_width\030\n \001(\r:\0010\022\026\n\010is_c" + "olor\030\013 \001(\010:\004true\022\020\n\005scale\030\002 \001(\002:\0011\022\021\n\tme" + "an_file\030\003 \001(\t\022\024\n\tcrop_size\030\005 \001(\r:\0010\022\025\n\006m" + "irror\030\006 \001(\010:\005false\022\025\n\013root_folder\030\014 \001(\t:" + "\000\"\'\n\025InfogainLossParameter\022\016\n\006source\030\001 \001" + "(\t\"\313\001\n\025InnerProductParameter\022\022\n\nnum_outp" + "ut\030\001 \001(\r\022\027\n\tbias_term\030\002 \001(\010:\004true\022-\n\rwei" + "ght_filler\030\003 \001(\0132\026.caffe.FillerParameter" + "\022+\n\013bias_filler\030\004 \001(\0132\026.caffe.FillerPara" + "meter\022\017\n\004axis\030\005 \001(\005:\0011\022\030\n\ttranspose\030\006 \001(" + "\010:\005false\"1\n\016InputParameter\022\037\n\005shape\030\001 \003(" + "\0132\020.caffe.BlobShape\"D\n\014LogParameter\022\020\n\004b" + "ase\030\001 \001(\002:\002-1\022\020\n\005scale\030\002 \001(\002:\0011\022\020\n\005shift" + "\030\003 \001(\002:\0010\"\270\002\n\014LRNParameter\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\022D\n\013norm_region\030\004 \001(\0162\036.caffe.LRN" + "Parameter.NormRegion:\017ACROSS_CHANNELS\022\014\n" + "\001k\030\005 \001(\002:\0011\0223\n\006engine\030\006 \001(\0162\032.caffe.LRNP" + "arameter.Engine:\007DEFAULT\"5\n\nNormRegion\022\023" + "\n\017ACROSS_CHANNELS\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\005CUD" + "NN\020\002\"Z\n\023MemoryDataParameter\022\022\n\nbatch_siz" + "e\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\014MVNParameter\022 \n\022norm" + "alize_variance\030\001 \001(\010:\004true\022\036\n\017across_cha" + "nnels\030\002 \001(\010:\005false\022\022\n\003eps\030\003 \001(\002:\0051e-09\"5" + "\n\022ParameterParameter\022\037\n\005shape\030\001 \001(\0132\020.ca" + "ffe.BlobShape\"\242\003\n\020PoolingParameter\0225\n\004po" + "ol\030\001 \001(\0162\".caffe.PoolingParameter.PoolMe" + "thod:\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\010s" + "tride_w\030\010 \001(\r\0227\n\006engine\030\013 \001(\0162\036.caffe.Po" + "olingParameter.Engine:\007DEFAULT\022\035\n\016global" + "_pooling\030\014 \001(\010:\005false\".\n\nPoolMethod\022\007\n\003M" + "AX\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\"F\n\016Po" + "werParameter\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\017PythonPara" + "meter\022\016\n\006module\030\001 \001(\t\022\r\n\005layer\030\002 \001(\t\022\023\n\t" + "param_str\030\003 \001(\t:\000\022 \n\021share_in_parallel\030\004" + " \001(\010:\005false\"\300\001\n\022RecurrentParameter\022\025\n\nnu" + "m_output\030\001 \001(\r:\0010\022-\n\rweight_filler\030\002 \001(\013" "2\026.caffe.FillerParameter\022+\n\013bias_filler\030" - "\006 \001(\0132\026.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\0225\n\004pool\030\013 \001(\0162\".c" - "affe.V0LayerParameter.PoolMethod:\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\006source\030\020 \001(\t\022\020\n\005" - "scale\030\021 \001(\002:\0011\022\020\n\010meanfile\030\022 \001(\t\022\021\n\tbatc" - "hsize\030\023 \001(\r\022\023\n\010cropsize\030\024 \001(\r:\0010\022\025\n\006mirr" - "or\030\025 \001(\010:\005false\022\037\n\005blobs\0302 \003(\0132\020.caffe.B" - "lobProto\022\020\n\010blobs_lr\0303 \003(\002\022\024\n\014weight_dec" - "ay\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_threshol" - "d\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_c" - "rop_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\nnew_height\030" - "> \001(\005:\0010\022\024\n\tnew_width\030\? \001(\005:\0010\022\035\n\016shuffl" - "e_images\030@ \001(\010:\005false\022\025\n\nconcat_dim\030A \001(" - "\r:\0011\0226\n\021hdf5_output_param\030\351\007 \001(\0132\032.caffe" - ".HDF5OutputParameter\".\n\nPoolMethod\022\007\n\003MA" - "X\020\000\022\007\n\003AVE\020\001\022\016\n\nSTOCHASTIC\020\002\"W\n\016PReLUPar" - "ameter\022&\n\006filler\030\001 \001(\0132\026.caffe.FillerPar" - "ameter\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\005labe" - "l\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*\034\n\005Phase\022\t\n\005TRAIN\020\000\022\010\n\004T" - "EST\020\001", 14445); + "\003 \001(\0132\026.caffe.FillerParameter\022\031\n\ndebug_i" + "nfo\030\004 \001(\010:\005false\022\034\n\rexpose_hidden\030\005 \001(\010:" + "\005false\"\255\001\n\022ReductionParameter\022=\n\toperati" + "on\030\001 \001(\0162%.caffe.ReductionParameter.Redu" + "ctionOp:\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\"\215\001\n\rReLUParameter" + "\022\031\n\016negative_slope\030\001 \001(\002:\0010\0224\n\006engine\030\002 " + "\001(\0162\033.caffe.ReLUParameter.Engine:\007DEFAUL" + "T\"+\n\006Engine\022\013\n\007DEFAULT\020\000\022\t\n\005CAFFE\020\001\022\t\n\005C" + "UDNN\020\002\"Z\n\020ReshapeParameter\022\037\n\005shape\030\001 \001(" + "\0132\020.caffe.BlobShape\022\017\n\004axis\030\002 \001(\005:\0010\022\024\n\010" + "num_axes\030\003 \001(\005:\002-1\"\245\001\n\016ScaleParameter\022\017\n" + "\004axis\030\001 \001(\005:\0011\022\023\n\010num_axes\030\002 \001(\005:\0011\022&\n\006f" + "iller\030\003 \001(\0132\026.caffe.FillerParameter\022\030\n\tb" + "ias_term\030\004 \001(\010:\005false\022+\n\013bias_filler\030\005 \001" + "(\0132\026.caffe.FillerParameter\"x\n\020SigmoidPar" + "ameter\0227\n\006engine\030\001 \001(\0162\036.caffe.SigmoidPa" + "rameter.Engine:\007DEFAULT\"+\n\006Engine\022\013\n\007DEF" + "AULT\020\000\022\t\n\005CAFFE\020\001\022\t\n\005CUDNN\020\002\"L\n\016SlicePar" + "ameter\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\"\211\001\n\020SoftmaxPa" + "rameter\0227\n\006engine\030\001 \001(\0162\036.caffe.SoftmaxP" + "arameter.Engine:\007DEFAULT\022\017\n\004axis\030\002 \001(\005:\001" + "1\"+\n\006Engine\022\013\n\007DEFAULT\020\000\022\t\n\005CAFFE\020\001\022\t\n\005C" + "UDNN\020\002\"r\n\rTanHParameter\0224\n\006engine\030\001 \001(\0162" + "\033.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\005" + "tiles\030\002 \001(\005\"*\n\022ThresholdParameter\022\024\n\tthr" + "eshold\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\tmea" + "n_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\013fg_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\014cache_images\030\014 \001(\010:\005false\022\025\n\013" + "root_folder\030\r \001(\t:\000\"\353\001\n\014SPPParameter\022\026\n\016" + "pyramid_height\030\001 \001(\r\0221\n\004pool\030\002 \001(\0162\036.caf" + "fe.SPPParameter.PoolMethod:\003MAX\0223\n\006engin" + "e\030\006 \001(\0162\032.caffe.SPPParameter.Engine:\007DEF" + "AULT\".\n\nPoolMethod\022\007\n\003MAX\020\000\022\007\n\003AVE\020\001\022\016\n\n" + "STOCHASTIC\020\002\"+\n\006Engine\022\013\n\007DEFAULT\020\000\022\t\n\005C" + "AFFE\020\001\022\t\n\005CUDNN\020\002\"\340\023\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\023.caffe.NetStateRule\022" + "$\n\007exclude\030! \003(\0132\023.caffe.NetStateRule\022/\n" + "\004type\030\005 \001(\0162!.caffe.V1LayerParameter.Lay" + "erType\022\037\n\005blobs\030\006 \003(\0132\020.caffe.BlobProto\022" + "\016\n\005param\030\351\007 \003(\t\022>\n\017blob_share_mode\030\352\007 \003(" + "\0162$.caffe.V1LayerParameter.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\0220\n\016accuracy_param\030\033" + " \001(\0132\030.caffe.AccuracyParameter\022,\n\014argmax" + "_param\030\027 \001(\0132\026.caffe.ArgMaxParameter\022,\n\014" + "concat_param\030\t \001(\0132\026.caffe.ConcatParamet" + "er\022\?\n\026contrastive_loss_param\030( \001(\0132\037.caf" + "fe.ContrastiveLossParameter\0226\n\021convoluti" + "on_param\030\n \001(\0132\033.caffe.ConvolutionParame" + "ter\022(\n\ndata_param\030\013 \001(\0132\024.caffe.DataPara" + "meter\022.\n\rdropout_param\030\014 \001(\0132\027.caffe.Dro" + "poutParameter\0223\n\020dummy_data_param\030\032 \001(\0132" + "\031.caffe.DummyDataParameter\022.\n\reltwise_pa" + "ram\030\030 \001(\0132\027.caffe.EltwiseParameter\022&\n\tex" + "p_param\030) \001(\0132\023.caffe.ExpParameter\0221\n\017hd" + "f5_data_param\030\r \001(\0132\030.caffe.HDF5DataPara" + "meter\0225\n\021hdf5_output_param\030\016 \001(\0132\032.caffe" + ".HDF5OutputParameter\0223\n\020hinge_loss_param" + "\030\035 \001(\0132\031.caffe.HingeLossParameter\0223\n\020ima" + "ge_data_param\030\017 \001(\0132\031.caffe.ImageDataPar" + "ameter\0229\n\023infogain_loss_param\030\020 \001(\0132\034.ca" + "ffe.InfogainLossParameter\0229\n\023inner_produ" + "ct_param\030\021 \001(\0132\034.caffe.InnerProductParam" + "eter\022&\n\tlrn_param\030\022 \001(\0132\023.caffe.LRNParam" + "eter\0225\n\021memory_data_param\030\026 \001(\0132\032.caffe." + "MemoryDataParameter\022&\n\tmvn_param\030\" \001(\0132\023" + ".caffe.MVNParameter\022.\n\rpooling_param\030\023 \001" + "(\0132\027.caffe.PoolingParameter\022*\n\013power_par" + "am\030\025 \001(\0132\025.caffe.PowerParameter\022(\n\nrelu_" + "param\030\036 \001(\0132\024.caffe.ReLUParameter\022.\n\rsig" + "moid_param\030& \001(\0132\027.caffe.SigmoidParamete" + "r\022.\n\rsoftmax_param\030\' \001(\0132\027.caffe.Softmax" + "Parameter\022*\n\013slice_param\030\037 \001(\0132\025.caffe.S" + "liceParameter\022(\n\ntanh_param\030% \001(\0132\024.caff" + "e.TanHParameter\0222\n\017threshold_param\030\031 \001(\013" + "2\031.caffe.ThresholdParameter\0225\n\021window_da" + "ta_param\030\024 \001(\0132\032.caffe.WindowDataParamet" + "er\0227\n\017transform_param\030$ \001(\0132\036.caffe.Tran" + "sformationParameter\022(\n\nloss_param\030* \001(\0132" + "\024.caffe.LossParameter\022&\n\005layer\030\001 \001(\0132\027.c" + "affe.V0LayerParameter\"\330\004\n\tLayerType\022\010\n\004N" + "ONE\020\000\022\n\n\006ABSVAL\020#\022\014\n\010ACCURACY\020\001\022\n\n\006ARGMA" + "X\020\036\022\010\n\004BNLL\020\002\022\n\n\006CONCAT\020\003\022\024\n\020CONTRASTIVE" + "_LOSS\020%\022\017\n\013CONVOLUTION\020\004\022\010\n\004DATA\020\005\022\021\n\rDE" + "CONVOLUTION\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\003E" + "XP\020&\022\013\n\007FLATTEN\020\010\022\r\n\tHDF5_DATA\020\t\022\017\n\013HDF5" + "_OUTPUT\020\n\022\016\n\nHINGE_LOSS\020\034\022\n\n\006IM2COL\020\013\022\016\n" + "\nIMAGE_DATA\020\014\022\021\n\rINFOGAIN_LOSS\020\r\022\021\n\rINNE" + "R_PRODUCT\020\016\022\007\n\003LRN\020\017\022\017\n\013MEMORY_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\007SIGMO" + "ID\020\023\022\036\n\032SIGMOID_CROSS_ENTROPY_LOSS\020\033\022\013\n\007" + "SILENCE\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\013WIND" + "OW_DATA\020\030\022\r\n\tTHRESHOLD\020\037\"*\n\014DimCheckMode" + "\022\n\n\006STRICT\020\000\022\016\n\nPERMISSIVE\020\001\"\375\007\n\020V0Layer" + "Parameter\022\014\n\004name\030\001 \001(\t\022\014\n\004type\030\002 \001(\t\022\022\n" + "\nnum_output\030\003 \001(\r\022\026\n\010biasterm\030\004 \001(\010:\004tru" + "e\022-\n\rweight_filler\030\005 \001(\0132\026.caffe.FillerP" + "arameter\022+\n\013bias_filler\030\006 \001(\0132\026.caffe.Fi" + "llerParameter\022\016\n\003pad\030\007 \001(\r:\0010\022\022\n\nkernels" + "ize\030\010 \001(\r\022\020\n\005group\030\t \001(\r:\0011\022\021\n\006stride\030\n " + "\001(\r:\0011\0225\n\004pool\030\013 \001(\0162\".caffe.V0LayerPara" + "meter.PoolMethod:\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\005alph" + "a\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\tbatchsize\030\023 \001(\r\022\023\n\010c" + "ropsize\030\024 \001(\r:\0010\022\025\n\006mirror\030\025 \001(\010:\005false\022" + "\037\n\005blobs\0302 \003(\0132\020.caffe.BlobProto\022\020\n\010blob" + "s_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\017" + "det_fg_fraction\0308 \001(\002:\0040.25\022\032\n\017det_conte" + "xt_pad\030: \001(\r:\0010\022\033\n\rdet_crop_mode\030; \001(\t:\004" + "warp\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_" + "width\030\? \001(\005:\0010\022\035\n\016shuffle_images\030@ \001(\010:\005" + "false\022\025\n\nconcat_dim\030A \001(\r:\0011\0226\n\021hdf5_out" + "put_param\030\351\007 \001(\0132\032.caffe.HDF5OutputParam" + "eter\".\n\nPoolMethod\022\007\n\003MAX\020\000\022\007\n\003AVE\020\001\022\016\n\n" + "STOCHASTIC\020\002\"W\n\016PReLUParameter\022&\n\006filler" + "\030\001 \001(\0132\026.caffe.FillerParameter\022\035\n\016channe" + "l_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\tdiffi" + "cult\030\006 \001(\010\022\r\n\005score\030\007 \001(\002\022\014\n\004size\030\010 \001(\002*" + "\034\n\005Phase\022\t\n\005TRAIN\020\000\022\010\n\004TEST\020\001", 16429); ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile( "caffe.proto", &protobuf_RegisterTypes); ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_caffe_2eproto); @@ -2514,6 +2818,8 @@ inline const BlobShape* BlobShape::internal_default_instance() { const int BlobProto::kShapeFieldNumber; const int BlobProto::kDataFieldNumber; const int BlobProto::kDiffFieldNumber; +const int BlobProto::kDoubleDataFieldNumber; +const int BlobProto::kDoubleDiffFieldNumber; const int BlobProto::kNumFieldNumber; const int BlobProto::kChannelsFieldNumber; const int BlobProto::kHeightFieldNumber; @@ -2601,18 +2907,21 @@ void BlobProto::Clear() { ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\ } while (0) - if (_has_bits_[0 / 32] & 121u) { - ZR_(num_, width_); + if (_has_bits_[0 / 32] & 225u) { + ZR_(num_, height_); if (has_shape()) { if (shape_ != NULL) shape_->::caffe::BlobShape::Clear(); } } + width_ = 0; #undef ZR_HELPER_ #undef ZR_ data_.Clear(); diff_.Clear(); + double_data_.Clear(); + double_diff_.Clear(); _has_bits_.Clear(); if (_internal_metadata_.have_unknown_fields()) { mutable_unknown_fields()->Clear(); @@ -2733,6 +3042,42 @@ bool BlobProto::MergePartialFromCodedStream( } else { goto handle_unusual; } + if (input->ExpectTag(66)) goto parse_double_data; + break; + } + + // repeated double double_data = 8 [packed = true]; + case 8: { + if (tag == 66) { + parse_double_data: + DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive< + double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( + input, this->mutable_double_data()))); + } else if (tag == 65) { + DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline< + double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( + 1, 66, input, this->mutable_double_data()))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(74)) goto parse_double_diff; + break; + } + + // repeated double double_diff = 9 [packed = true]; + case 9: { + if (tag == 74) { + parse_double_diff: + DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive< + double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( + input, this->mutable_double_diff()))); + } else if (tag == 73) { + DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline< + double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( + 1, 74, input, this->mutable_double_diff()))); + } else { + goto handle_unusual; + } if (input->ExpectAtEnd()) goto success; break; } @@ -2808,6 +3153,26 @@ void BlobProto::SerializeWithCachedSizes( 7, *this->shape_, output); } + // repeated double double_data = 8 [packed = true]; + if (this->double_data_size() > 0) { + ::google::protobuf::internal::WireFormatLite::WriteTag(8, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output); + output->WriteVarint32(_double_data_cached_byte_size_); + } + for (int i = 0; i < this->double_data_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteDoubleNoTag( + this->double_data(i), output); + } + + // repeated double double_diff = 9 [packed = true]; + if (this->double_diff_size() > 0) { + ::google::protobuf::internal::WireFormatLite::WriteTag(9, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output); + output->WriteVarint32(_double_diff_cached_byte_size_); + } + for (int i = 0; i < this->double_diff_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteDoubleNoTag( + this->double_diff(i), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( unknown_fields(), output); @@ -2874,6 +3239,34 @@ void BlobProto::SerializeWithCachedSizes( 7, *this->shape_, false, target); } + // repeated double double_data = 8 [packed = true]; + if (this->double_data_size() > 0) { + target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray( + 8, + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, + target); + target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray( + _double_data_cached_byte_size_, target); + } + for (int i = 0; i < this->double_data_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteDoubleNoTagToArray(this->double_data(i), target); + } + + // repeated double double_diff = 9 [packed = true]; + if (this->double_diff_size() > 0) { + target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray( + 9, + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, + target); + target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray( + _double_diff_cached_byte_size_, target); + } + for (int i = 0; i < this->double_diff_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteDoubleNoTagToArray(this->double_diff(i), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( unknown_fields(), target); @@ -2886,7 +3279,7 @@ size_t BlobProto::ByteSizeLong() const { // @@protoc_insertion_point(message_byte_size_start:caffe.BlobProto) size_t total_size = 0; - if (_has_bits_[0 / 32] & 121u) { + if (_has_bits_[0 / 32] & 225u) { // optional .caffe.BlobShape shape = 7; if (has_shape()) { total_size += 1 + @@ -2915,14 +3308,14 @@ size_t BlobProto::ByteSizeLong() const { this->height()); } - // optional int32 width = 4 [default = 0]; - if (has_width()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::Int32Size( - this->width()); - } - } + // optional int32 width = 4 [default = 0]; + if (has_width()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::Int32Size( + this->width()); + } + // repeated float data = 5 [packed = true]; { size_t data_size = 0; @@ -2955,6 +3348,38 @@ size_t BlobProto::ByteSizeLong() const { total_size += data_size; } + // repeated double double_data = 8 [packed = true]; + { + size_t data_size = 0; + unsigned int count = this->double_data_size(); + data_size = 8UL * count; + if (data_size > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::Int32Size(data_size); + } + int cached_size = ::google::protobuf::internal::ToCachedSize(data_size); + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _double_data_cached_byte_size_ = cached_size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); + total_size += data_size; + } + + // repeated double double_diff = 9 [packed = true]; + { + size_t data_size = 0; + unsigned int count = this->double_diff_size(); + data_size = 8UL * count; + if (data_size > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::Int32Size(data_size); + } + int cached_size = ::google::protobuf::internal::ToCachedSize(data_size); + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _double_diff_cached_byte_size_ = cached_size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); + total_size += data_size; + } + if (_internal_metadata_.have_unknown_fields()) { total_size += ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( @@ -2995,6 +3420,8 @@ void BlobProto::UnsafeMergeFrom(const BlobProto& from) { GOOGLE_DCHECK(&from != this); data_.UnsafeMergeFrom(from.data_); diff_.UnsafeMergeFrom(from.diff_); + double_data_.UnsafeMergeFrom(from.double_data_); + double_diff_.UnsafeMergeFrom(from.double_diff_); if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { if (from.has_shape()) { mutable_shape()->::caffe::BlobShape::MergeFrom(from.shape()); @@ -3008,6 +3435,8 @@ void BlobProto::UnsafeMergeFrom(const BlobProto& from) { if (from.has_height()) { set_height(from.height()); } + } + if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) { if (from.has_width()) { set_width(from.width()); } @@ -3045,6 +3474,8 @@ void BlobProto::InternalSwap(BlobProto* other) { std::swap(shape_, other->shape_); data_.UnsafeArenaSwap(&other->data_); diff_.UnsafeArenaSwap(&other->diff_); + double_data_.UnsafeArenaSwap(&other->double_data_); + double_diff_.UnsafeArenaSwap(&other->double_diff_); std::swap(num_, other->num_); std::swap(channels_, other->channels_); std::swap(height_, other->height_); @@ -3170,15 +3601,75 @@ BlobProto::mutable_diff() { return &diff_; } +// repeated double double_data = 8 [packed = true]; +int BlobProto::double_data_size() const { + return double_data_.size(); +} +void BlobProto::clear_double_data() { + double_data_.Clear(); +} +double BlobProto::double_data(int index) const { + // @@protoc_insertion_point(field_get:caffe.BlobProto.double_data) + return double_data_.Get(index); +} +void BlobProto::set_double_data(int index, double value) { + double_data_.Set(index, value); + // @@protoc_insertion_point(field_set:caffe.BlobProto.double_data) +} +void BlobProto::add_double_data(double value) { + double_data_.Add(value); + // @@protoc_insertion_point(field_add:caffe.BlobProto.double_data) +} +const ::google::protobuf::RepeatedField< double >& +BlobProto::double_data() const { + // @@protoc_insertion_point(field_list:caffe.BlobProto.double_data) + return double_data_; +} +::google::protobuf::RepeatedField< double >* +BlobProto::mutable_double_data() { + // @@protoc_insertion_point(field_mutable_list:caffe.BlobProto.double_data) + return &double_data_; +} + +// repeated double double_diff = 9 [packed = true]; +int BlobProto::double_diff_size() const { + return double_diff_.size(); +} +void BlobProto::clear_double_diff() { + double_diff_.Clear(); +} +double BlobProto::double_diff(int index) const { + // @@protoc_insertion_point(field_get:caffe.BlobProto.double_diff) + return double_diff_.Get(index); +} +void BlobProto::set_double_diff(int index, double value) { + double_diff_.Set(index, value); + // @@protoc_insertion_point(field_set:caffe.BlobProto.double_diff) +} +void BlobProto::add_double_diff(double value) { + double_diff_.Add(value); + // @@protoc_insertion_point(field_add:caffe.BlobProto.double_diff) +} +const ::google::protobuf::RepeatedField< double >& +BlobProto::double_diff() const { + // @@protoc_insertion_point(field_list:caffe.BlobProto.double_diff) + return double_diff_; +} +::google::protobuf::RepeatedField< double >* +BlobProto::mutable_double_diff() { + // @@protoc_insertion_point(field_mutable_list:caffe.BlobProto.double_diff) + return &double_diff_; +} + // optional int32 num = 1 [default = 0]; bool BlobProto::has_num() const { - return (_has_bits_[0] & 0x00000008u) != 0; + return (_has_bits_[0] & 0x00000020u) != 0; } void BlobProto::set_has_num() { - _has_bits_[0] |= 0x00000008u; + _has_bits_[0] |= 0x00000020u; } void BlobProto::clear_has_num() { - _has_bits_[0] &= ~0x00000008u; + _has_bits_[0] &= ~0x00000020u; } void BlobProto::clear_num() { num_ = 0; @@ -3196,13 +3687,13 @@ void BlobProto::set_num(::google::protobuf::int32 value) { // optional int32 channels = 2 [default = 0]; bool BlobProto::has_channels() const { - return (_has_bits_[0] & 0x00000010u) != 0; + return (_has_bits_[0] & 0x00000040u) != 0; } void BlobProto::set_has_channels() { - _has_bits_[0] |= 0x00000010u; + _has_bits_[0] |= 0x00000040u; } void BlobProto::clear_has_channels() { - _has_bits_[0] &= ~0x00000010u; + _has_bits_[0] &= ~0x00000040u; } void BlobProto::clear_channels() { channels_ = 0; @@ -3220,13 +3711,13 @@ void BlobProto::set_channels(::google::protobuf::int32 value) { // optional int32 height = 3 [default = 0]; bool BlobProto::has_height() const { - return (_has_bits_[0] & 0x00000020u) != 0; + return (_has_bits_[0] & 0x00000080u) != 0; } void BlobProto::set_has_height() { - _has_bits_[0] |= 0x00000020u; + _has_bits_[0] |= 0x00000080u; } void BlobProto::clear_has_height() { - _has_bits_[0] &= ~0x00000020u; + _has_bits_[0] &= ~0x00000080u; } void BlobProto::clear_height() { height_ = 0; @@ -3244,13 +3735,13 @@ void BlobProto::set_height(::google::protobuf::int32 value) { // optional int32 width = 4 [default = 0]; bool BlobProto::has_width() const { - return (_has_bits_[0] & 0x00000040u) != 0; + return (_has_bits_[0] & 0x00000100u) != 0; } void BlobProto::set_has_width() { - _has_bits_[0] |= 0x00000040u; + _has_bits_[0] |= 0x00000100u; } void BlobProto::clear_has_width() { - _has_bits_[0] &= ~0x00000040u; + _has_bits_[0] &= ~0x00000100u; } void BlobProto::clear_width() { width_ = 0; @@ -3563,115 +4054,98 @@ inline const BlobProtoVector* BlobProtoVector::internal_default_instance() { // =================================================================== #if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int CropParameter::kAxisFieldNumber; -const int CropParameter::kOffsetFieldNumber; +const int PermuteParameter::kOrderFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 -CropParameter::CropParameter() +PermuteParameter::PermuteParameter() : ::google::protobuf::Message(), _internal_metadata_(NULL) { if (this != internal_default_instance()) protobuf_InitDefaults_caffe_2eproto(); SharedCtor(); - // @@protoc_insertion_point(constructor:caffe.CropParameter) + // @@protoc_insertion_point(constructor:caffe.PermuteParameter) } -void CropParameter::InitAsDefaultInstance() { +void PermuteParameter::InitAsDefaultInstance() { } -CropParameter::CropParameter(const CropParameter& from) +PermuteParameter::PermuteParameter(const PermuteParameter& from) : ::google::protobuf::Message(), _internal_metadata_(NULL) { SharedCtor(); UnsafeMergeFrom(from); - // @@protoc_insertion_point(copy_constructor:caffe.CropParameter) + // @@protoc_insertion_point(copy_constructor:caffe.PermuteParameter) } -void CropParameter::SharedCtor() { +void PermuteParameter::SharedCtor() { _cached_size_ = 0; - axis_ = 2; } -CropParameter::~CropParameter() { - // @@protoc_insertion_point(destructor:caffe.CropParameter) +PermuteParameter::~PermuteParameter() { + // @@protoc_insertion_point(destructor:caffe.PermuteParameter) SharedDtor(); } -void CropParameter::SharedDtor() { +void PermuteParameter::SharedDtor() { } -void CropParameter::SetCachedSize(int size) const { +void PermuteParameter::SetCachedSize(int size) const { GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); _cached_size_ = size; GOOGLE_SAFE_CONCURRENT_WRITES_END(); } -const ::google::protobuf::Descriptor* CropParameter::descriptor() { +const ::google::protobuf::Descriptor* PermuteParameter::descriptor() { protobuf_AssignDescriptorsOnce(); - return CropParameter_descriptor_; + return PermuteParameter_descriptor_; } -const CropParameter& CropParameter::default_instance() { +const PermuteParameter& PermuteParameter::default_instance() { protobuf_InitDefaults_caffe_2eproto(); return *internal_default_instance(); } -::google::protobuf::internal::ExplicitlyConstructed CropParameter_default_instance_; +::google::protobuf::internal::ExplicitlyConstructed PermuteParameter_default_instance_; -CropParameter* CropParameter::New(::google::protobuf::Arena* arena) const { - CropParameter* n = new CropParameter; +PermuteParameter* PermuteParameter::New(::google::protobuf::Arena* arena) const { + PermuteParameter* n = new PermuteParameter; if (arena != NULL) { arena->Own(n); } return n; } -void CropParameter::Clear() { -// @@protoc_insertion_point(message_clear_start:caffe.CropParameter) - axis_ = 2; - offset_.Clear(); +void PermuteParameter::Clear() { +// @@protoc_insertion_point(message_clear_start:caffe.PermuteParameter) + order_.Clear(); _has_bits_.Clear(); if (_internal_metadata_.have_unknown_fields()) { mutable_unknown_fields()->Clear(); } } -bool CropParameter::MergePartialFromCodedStream( +bool PermuteParameter::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:caffe.CropParameter) + // @@protoc_insertion_point(parse_start:caffe.PermuteParameter) for (;;) { ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127); tag = p.first; if (!p.second) goto handle_unusual; switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // optional int32 axis = 1 [default = 2]; + // repeated uint32 order = 1; case 1: { if (tag == 8) { - set_has_axis(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( - input, &axis_))); - } else { - goto handle_unusual; - } - if (input->ExpectTag(16)) goto parse_offset; - break; - } - - // repeated uint32 offset = 2; - case 2: { - if (tag == 16) { - parse_offset: + parse_order: DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive< ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - 1, 16, input, this->mutable_offset()))); - } else if (tag == 18) { + 1, 8, input, this->mutable_order()))); + } else if (tag == 10) { DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline< ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, this->mutable_offset()))); + input, this->mutable_order()))); } else { goto handle_unusual; } - if (input->ExpectTag(16)) goto parse_offset; + if (input->ExpectTag(8)) goto parse_order; if (input->ExpectAtEnd()) goto success; break; } @@ -3690,79 +4164,62 @@ bool CropParameter::MergePartialFromCodedStream( } } success: - // @@protoc_insertion_point(parse_success:caffe.CropParameter) + // @@protoc_insertion_point(parse_success:caffe.PermuteParameter) return true; failure: - // @@protoc_insertion_point(parse_failure:caffe.CropParameter) + // @@protoc_insertion_point(parse_failure:caffe.PermuteParameter) return false; #undef DO_ } -void CropParameter::SerializeWithCachedSizes( +void PermuteParameter::SerializeWithCachedSizes( ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:caffe.CropParameter) - // optional int32 axis = 1 [default = 2]; - if (has_axis()) { - ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->axis(), output); - } - - // repeated uint32 offset = 2; - for (int i = 0; i < this->offset_size(); i++) { + // @@protoc_insertion_point(serialize_start:caffe.PermuteParameter) + // repeated uint32 order = 1; + for (int i = 0; i < this->order_size(); i++) { ::google::protobuf::internal::WireFormatLite::WriteUInt32( - 2, this->offset(i), output); + 1, this->order(i), output); } if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( unknown_fields(), output); } - // @@protoc_insertion_point(serialize_end:caffe.CropParameter) + // @@protoc_insertion_point(serialize_end:caffe.PermuteParameter) } -::google::protobuf::uint8* CropParameter::InternalSerializeWithCachedSizesToArray( +::google::protobuf::uint8* PermuteParameter::InternalSerializeWithCachedSizesToArray( bool deterministic, ::google::protobuf::uint8* target) const { (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:caffe.CropParameter) - // optional int32 axis = 1 [default = 2]; - if (has_axis()) { - target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->axis(), target); - } - - // repeated uint32 offset = 2; - for (int i = 0; i < this->offset_size(); i++) { + // @@protoc_insertion_point(serialize_to_array_start:caffe.PermuteParameter) + // repeated uint32 order = 1; + for (int i = 0; i < this->order_size(); i++) { target = ::google::protobuf::internal::WireFormatLite:: - WriteUInt32ToArray(2, this->offset(i), target); + WriteUInt32ToArray(1, this->order(i), target); } if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( unknown_fields(), target); } - // @@protoc_insertion_point(serialize_to_array_end:caffe.CropParameter) + // @@protoc_insertion_point(serialize_to_array_end:caffe.PermuteParameter) return target; } -size_t CropParameter::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:caffe.CropParameter) +size_t PermuteParameter::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:caffe.PermuteParameter) size_t total_size = 0; - // optional int32 axis = 1 [default = 2]; - if (has_axis()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::Int32Size( - this->axis()); - } - - // repeated uint32 offset = 2; + // repeated uint32 order = 1; { size_t data_size = 0; - unsigned int count = this->offset_size(); + unsigned int count = this->order_size(); for (unsigned int i = 0; i < count; i++) { data_size += ::google::protobuf::internal::WireFormatLite:: - UInt32Size(this->offset(i)); + UInt32Size(this->order(i)); } total_size += 1 * - ::google::protobuf::internal::FromIntSize(this->offset_size()); + ::google::protobuf::internal::FromIntSize(this->order_size()); total_size += data_size; } @@ -3778,23 +4235,23 @@ size_t CropParameter::ByteSizeLong() const { return total_size; } -void CropParameter::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:caffe.CropParameter) +void PermuteParameter::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:caffe.PermuteParameter) if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__); - const CropParameter* source = - ::google::protobuf::internal::DynamicCastToGenerated( + const PermuteParameter* source = + ::google::protobuf::internal::DynamicCastToGenerated( &from); if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.CropParameter) + // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.PermuteParameter) ::google::protobuf::internal::ReflectionOps::Merge(from, this); } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.CropParameter) + // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.PermuteParameter) UnsafeMergeFrom(*source); } } -void CropParameter::MergeFrom(const CropParameter& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:caffe.CropParameter) +void PermuteParameter::MergeFrom(const PermuteParameter& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:caffe.PermuteParameter) if (GOOGLE_PREDICT_TRUE(&from != this)) { UnsafeMergeFrom(from); } else { @@ -3802,453 +4259,130 @@ void CropParameter::MergeFrom(const CropParameter& from) { } } -void CropParameter::UnsafeMergeFrom(const CropParameter& from) { +void PermuteParameter::UnsafeMergeFrom(const PermuteParameter& from) { GOOGLE_DCHECK(&from != this); - offset_.UnsafeMergeFrom(from.offset_); - if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { - if (from.has_axis()) { - set_axis(from.axis()); - } - } + order_.UnsafeMergeFrom(from.order_); if (from._internal_metadata_.have_unknown_fields()) { ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata( from.unknown_fields(), &_internal_metadata_); } } -void CropParameter::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:caffe.CropParameter) +void PermuteParameter::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:caffe.PermuteParameter) if (&from == this) return; Clear(); MergeFrom(from); } -void CropParameter::CopyFrom(const CropParameter& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:caffe.CropParameter) +void PermuteParameter::CopyFrom(const PermuteParameter& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:caffe.PermuteParameter) if (&from == this) return; Clear(); UnsafeMergeFrom(from); } -bool CropParameter::IsInitialized() const { +bool PermuteParameter::IsInitialized() const { return true; } -void CropParameter::Swap(CropParameter* other) { +void PermuteParameter::Swap(PermuteParameter* other) { if (other == this) return; InternalSwap(other); } -void CropParameter::InternalSwap(CropParameter* other) { - std::swap(axis_, other->axis_); - offset_.UnsafeArenaSwap(&other->offset_); +void PermuteParameter::InternalSwap(PermuteParameter* other) { + order_.UnsafeArenaSwap(&other->order_); std::swap(_has_bits_[0], other->_has_bits_[0]); _internal_metadata_.Swap(&other->_internal_metadata_); std::swap(_cached_size_, other->_cached_size_); } -::google::protobuf::Metadata CropParameter::GetMetadata() const { +::google::protobuf::Metadata PermuteParameter::GetMetadata() const { protobuf_AssignDescriptorsOnce(); ::google::protobuf::Metadata metadata; - metadata.descriptor = CropParameter_descriptor_; - metadata.reflection = CropParameter_reflection_; + metadata.descriptor = PermuteParameter_descriptor_; + metadata.reflection = PermuteParameter_reflection_; return metadata; } #if PROTOBUF_INLINE_NOT_IN_HEADERS -// CropParameter - -// optional int32 axis = 1 [default = 2]; -bool CropParameter::has_axis() const { - return (_has_bits_[0] & 0x00000001u) != 0; -} -void CropParameter::set_has_axis() { - _has_bits_[0] |= 0x00000001u; -} -void CropParameter::clear_has_axis() { - _has_bits_[0] &= ~0x00000001u; -} -void CropParameter::clear_axis() { - axis_ = 2; - clear_has_axis(); -} -::google::protobuf::int32 CropParameter::axis() const { - // @@protoc_insertion_point(field_get:caffe.CropParameter.axis) - return axis_; -} -void CropParameter::set_axis(::google::protobuf::int32 value) { - set_has_axis(); - axis_ = value; - // @@protoc_insertion_point(field_set:caffe.CropParameter.axis) -} +// PermuteParameter -// repeated uint32 offset = 2; -int CropParameter::offset_size() const { - return offset_.size(); +// repeated uint32 order = 1; +int PermuteParameter::order_size() const { + return order_.size(); } -void CropParameter::clear_offset() { - offset_.Clear(); +void PermuteParameter::clear_order() { + order_.Clear(); } -::google::protobuf::uint32 CropParameter::offset(int index) const { - // @@protoc_insertion_point(field_get:caffe.CropParameter.offset) - return offset_.Get(index); +::google::protobuf::uint32 PermuteParameter::order(int index) const { + // @@protoc_insertion_point(field_get:caffe.PermuteParameter.order) + return order_.Get(index); } -void CropParameter::set_offset(int index, ::google::protobuf::uint32 value) { - offset_.Set(index, value); - // @@protoc_insertion_point(field_set:caffe.CropParameter.offset) +void PermuteParameter::set_order(int index, ::google::protobuf::uint32 value) { + order_.Set(index, value); + // @@protoc_insertion_point(field_set:caffe.PermuteParameter.order) } -void CropParameter::add_offset(::google::protobuf::uint32 value) { - offset_.Add(value); - // @@protoc_insertion_point(field_add:caffe.CropParameter.offset) +void PermuteParameter::add_order(::google::protobuf::uint32 value) { + order_.Add(value); + // @@protoc_insertion_point(field_add:caffe.PermuteParameter.order) } const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& -CropParameter::offset() const { - // @@protoc_insertion_point(field_list:caffe.CropParameter.offset) - return offset_; +PermuteParameter::order() const { + // @@protoc_insertion_point(field_list:caffe.PermuteParameter.order) + return order_; } ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* -CropParameter::mutable_offset() { - // @@protoc_insertion_point(field_mutable_list:caffe.CropParameter.offset) - return &offset_; +PermuteParameter::mutable_order() { + // @@protoc_insertion_point(field_mutable_list:caffe.PermuteParameter.order) + return &order_; } -inline const CropParameter* CropParameter::internal_default_instance() { - return &CropParameter_default_instance_.get(); +inline const PermuteParameter* PermuteParameter::internal_default_instance() { + return &PermuteParameter_default_instance_.get(); } #endif // PROTOBUF_INLINE_NOT_IN_HEADERS // =================================================================== #if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int PermuteParameter::kOrderFieldNumber; +const int NormalizeBBoxParameter::kAcrossSpatialFieldNumber; +const int NormalizeBBoxParameter::kScaleFillerFieldNumber; +const int NormalizeBBoxParameter::kChannelSharedFieldNumber; +const int NormalizeBBoxParameter::kEpsFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 -PermuteParameter::PermuteParameter() +NormalizeBBoxParameter::NormalizeBBoxParameter() : ::google::protobuf::Message(), _internal_metadata_(NULL) { if (this != internal_default_instance()) protobuf_InitDefaults_caffe_2eproto(); SharedCtor(); - // @@protoc_insertion_point(constructor:caffe.PermuteParameter) + // @@protoc_insertion_point(constructor:caffe.NormalizeBBoxParameter) } -void PermuteParameter::InitAsDefaultInstance() { +void NormalizeBBoxParameter::InitAsDefaultInstance() { + scale_filler_ = const_cast< ::caffe::FillerParameter*>( + ::caffe::FillerParameter::internal_default_instance()); } -PermuteParameter::PermuteParameter(const PermuteParameter& from) +NormalizeBBoxParameter::NormalizeBBoxParameter(const NormalizeBBoxParameter& from) : ::google::protobuf::Message(), _internal_metadata_(NULL) { SharedCtor(); UnsafeMergeFrom(from); - // @@protoc_insertion_point(copy_constructor:caffe.PermuteParameter) + // @@protoc_insertion_point(copy_constructor:caffe.NormalizeBBoxParameter) } -void PermuteParameter::SharedCtor() { +void NormalizeBBoxParameter::SharedCtor() { _cached_size_ = 0; + scale_filler_ = NULL; + across_spatial_ = true; + channel_shared_ = true; + eps_ = 1e-10f; } -PermuteParameter::~PermuteParameter() { - // @@protoc_insertion_point(destructor:caffe.PermuteParameter) - SharedDtor(); -} - -void PermuteParameter::SharedDtor() { -} - -void PermuteParameter::SetCachedSize(int size) const { - GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); - _cached_size_ = size; - GOOGLE_SAFE_CONCURRENT_WRITES_END(); -} -const ::google::protobuf::Descriptor* PermuteParameter::descriptor() { - protobuf_AssignDescriptorsOnce(); - return PermuteParameter_descriptor_; -} - -const PermuteParameter& PermuteParameter::default_instance() { - protobuf_InitDefaults_caffe_2eproto(); - return *internal_default_instance(); -} - -::google::protobuf::internal::ExplicitlyConstructed PermuteParameter_default_instance_; - -PermuteParameter* PermuteParameter::New(::google::protobuf::Arena* arena) const { - PermuteParameter* n = new PermuteParameter; - if (arena != NULL) { - arena->Own(n); - } - return n; -} - -void PermuteParameter::Clear() { -// @@protoc_insertion_point(message_clear_start:caffe.PermuteParameter) - order_.Clear(); - _has_bits_.Clear(); - if (_internal_metadata_.have_unknown_fields()) { - mutable_unknown_fields()->Clear(); - } -} - -bool PermuteParameter::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:caffe.PermuteParameter) - for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127); - tag = p.first; - if (!p.second) goto handle_unusual; - switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // repeated uint32 order = 1; - case 1: { - if (tag == 8) { - parse_order: - DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - 1, 8, input, this->mutable_order()))); - } else if (tag == 10) { - DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, this->mutable_order()))); - } else { - goto handle_unusual; - } - if (input->ExpectTag(8)) goto parse_order; - if (input->ExpectAtEnd()) goto success; - break; - } - - default: { - handle_unusual: - if (tag == 0 || - ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == - ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { - goto success; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:caffe.PermuteParameter) - return true; -failure: - // @@protoc_insertion_point(parse_failure:caffe.PermuteParameter) - return false; -#undef DO_ -} - -void PermuteParameter::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:caffe.PermuteParameter) - // repeated uint32 order = 1; - for (int i = 0; i < this->order_size(); i++) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32( - 1, this->order(i), output); - } - - if (_internal_metadata_.have_unknown_fields()) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - unknown_fields(), output); - } - // @@protoc_insertion_point(serialize_end:caffe.PermuteParameter) -} - -::google::protobuf::uint8* PermuteParameter::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:caffe.PermuteParameter) - // repeated uint32 order = 1; - for (int i = 0; i < this->order_size(); i++) { - target = ::google::protobuf::internal::WireFormatLite:: - WriteUInt32ToArray(1, this->order(i), target); - } - - if (_internal_metadata_.have_unknown_fields()) { - target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( - unknown_fields(), target); - } - // @@protoc_insertion_point(serialize_to_array_end:caffe.PermuteParameter) - return target; -} - -size_t PermuteParameter::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:caffe.PermuteParameter) - size_t total_size = 0; - - // repeated uint32 order = 1; - { - size_t data_size = 0; - unsigned int count = this->order_size(); - for (unsigned int i = 0; i < count; i++) { - data_size += ::google::protobuf::internal::WireFormatLite:: - UInt32Size(this->order(i)); - } - total_size += 1 * - ::google::protobuf::internal::FromIntSize(this->order_size()); - total_size += data_size; - } - - if (_internal_metadata_.have_unknown_fields()) { - total_size += - ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( - unknown_fields()); - } - 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 PermuteParameter::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:caffe.PermuteParameter) - if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__); - const PermuteParameter* source = - ::google::protobuf::internal::DynamicCastToGenerated( - &from); - if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.PermuteParameter) - ::google::protobuf::internal::ReflectionOps::Merge(from, this); - } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.PermuteParameter) - UnsafeMergeFrom(*source); - } -} - -void PermuteParameter::MergeFrom(const PermuteParameter& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:caffe.PermuteParameter) - if (GOOGLE_PREDICT_TRUE(&from != this)) { - UnsafeMergeFrom(from); - } else { - MergeFromFail(__LINE__); - } -} - -void PermuteParameter::UnsafeMergeFrom(const PermuteParameter& from) { - GOOGLE_DCHECK(&from != this); - order_.UnsafeMergeFrom(from.order_); - if (from._internal_metadata_.have_unknown_fields()) { - ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata( - from.unknown_fields(), &_internal_metadata_); - } -} - -void PermuteParameter::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:caffe.PermuteParameter) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -void PermuteParameter::CopyFrom(const PermuteParameter& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:caffe.PermuteParameter) - if (&from == this) return; - Clear(); - UnsafeMergeFrom(from); -} - -bool PermuteParameter::IsInitialized() const { - - return true; -} - -void PermuteParameter::Swap(PermuteParameter* other) { - if (other == this) return; - InternalSwap(other); -} -void PermuteParameter::InternalSwap(PermuteParameter* other) { - order_.UnsafeArenaSwap(&other->order_); - std::swap(_has_bits_[0], other->_has_bits_[0]); - _internal_metadata_.Swap(&other->_internal_metadata_); - std::swap(_cached_size_, other->_cached_size_); -} - -::google::protobuf::Metadata PermuteParameter::GetMetadata() const { - protobuf_AssignDescriptorsOnce(); - ::google::protobuf::Metadata metadata; - metadata.descriptor = PermuteParameter_descriptor_; - metadata.reflection = PermuteParameter_reflection_; - return metadata; -} - -#if PROTOBUF_INLINE_NOT_IN_HEADERS -// PermuteParameter - -// repeated uint32 order = 1; -int PermuteParameter::order_size() const { - return order_.size(); -} -void PermuteParameter::clear_order() { - order_.Clear(); -} -::google::protobuf::uint32 PermuteParameter::order(int index) const { - // @@protoc_insertion_point(field_get:caffe.PermuteParameter.order) - return order_.Get(index); -} -void PermuteParameter::set_order(int index, ::google::protobuf::uint32 value) { - order_.Set(index, value); - // @@protoc_insertion_point(field_set:caffe.PermuteParameter.order) -} -void PermuteParameter::add_order(::google::protobuf::uint32 value) { - order_.Add(value); - // @@protoc_insertion_point(field_add:caffe.PermuteParameter.order) -} -const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& -PermuteParameter::order() const { - // @@protoc_insertion_point(field_list:caffe.PermuteParameter.order) - return order_; -} -::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* -PermuteParameter::mutable_order() { - // @@protoc_insertion_point(field_mutable_list:caffe.PermuteParameter.order) - return &order_; -} - -inline const PermuteParameter* PermuteParameter::internal_default_instance() { - return &PermuteParameter_default_instance_.get(); -} -#endif // PROTOBUF_INLINE_NOT_IN_HEADERS - -// =================================================================== - -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int NormalizeBBoxParameter::kAcrossSpatialFieldNumber; -const int NormalizeBBoxParameter::kScaleFillerFieldNumber; -const int NormalizeBBoxParameter::kChannelSharedFieldNumber; -const int NormalizeBBoxParameter::kEpsFieldNumber; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 - -NormalizeBBoxParameter::NormalizeBBoxParameter() - : ::google::protobuf::Message(), _internal_metadata_(NULL) { - if (this != internal_default_instance()) protobuf_InitDefaults_caffe_2eproto(); - SharedCtor(); - // @@protoc_insertion_point(constructor:caffe.NormalizeBBoxParameter) -} - -void NormalizeBBoxParameter::InitAsDefaultInstance() { - scale_filler_ = const_cast< ::caffe::FillerParameter*>( - ::caffe::FillerParameter::internal_default_instance()); -} - -NormalizeBBoxParameter::NormalizeBBoxParameter(const NormalizeBBoxParameter& from) - : ::google::protobuf::Message(), - _internal_metadata_(NULL) { - SharedCtor(); - UnsafeMergeFrom(from); - // @@protoc_insertion_point(copy_constructor:caffe.NormalizeBBoxParameter) -} - -void NormalizeBBoxParameter::SharedCtor() { - _cached_size_ = 0; - scale_filler_ = NULL; - across_spatial_ = true; - channel_shared_ = true; - eps_ = 1e-10f; -} - -NormalizeBBoxParameter::~NormalizeBBoxParameter() { - // @@protoc_insertion_point(destructor:caffe.NormalizeBBoxParameter) +NormalizeBBoxParameter::~NormalizeBBoxParameter() { + // @@protoc_insertion_point(destructor:caffe.NormalizeBBoxParameter) SharedDtor(); } @@ -8660,6 +8794,27 @@ inline const NetParameter* NetParameter::internal_default_instance() { // =================================================================== +const ::google::protobuf::EnumDescriptor* SolverParameter_SnapshotFormat_descriptor() { + protobuf_AssignDescriptorsOnce(); + return SolverParameter_SnapshotFormat_descriptor_; +} +bool SolverParameter_SnapshotFormat_IsValid(int value) { + switch (value) { + case 0: + case 1: + return true; + default: + return false; + } +} + +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const SolverParameter_SnapshotFormat SolverParameter::HDF5; +const SolverParameter_SnapshotFormat SolverParameter::BINARYPROTO; +const SolverParameter_SnapshotFormat SolverParameter::SnapshotFormat_MIN; +const SolverParameter_SnapshotFormat SolverParameter::SnapshotFormat_MAX; +const int SolverParameter::SnapshotFormat_ARRAYSIZE; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 const ::google::protobuf::EnumDescriptor* SolverParameter_SolverMode_descriptor() { protobuf_AssignDescriptorsOnce(); return SolverParameter_SolverMode_descriptor_; @@ -8690,6 +8845,9 @@ bool SolverParameter_SolverType_IsValid(int value) { case 0: case 1: case 2: + case 3: + case 4: + case 5: return true; default: return false; @@ -8700,11 +8858,15 @@ bool SolverParameter_SolverType_IsValid(int value) { const SolverParameter_SolverType SolverParameter::SGD; const SolverParameter_SolverType SolverParameter::NESTEROV; const SolverParameter_SolverType SolverParameter::ADAGRAD; +const SolverParameter_SolverType SolverParameter::RMSPROP; +const SolverParameter_SolverType SolverParameter::ADADELTA; +const SolverParameter_SolverType SolverParameter::ADAM; const SolverParameter_SolverType SolverParameter::SolverType_MIN; const SolverParameter_SolverType SolverParameter::SolverType_MAX; const int SolverParameter::SolverType_ARRAYSIZE; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 ::std::string* SolverParameter::_default_regularization_type_ = NULL; +::std::string* SolverParameter::_default_type_ = NULL; #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int SolverParameter::kNetFieldNumber; const int SolverParameter::kNetParamFieldNumber; @@ -8735,13 +8897,17 @@ const int SolverParameter::kClipGradientsFieldNumber; const int SolverParameter::kSnapshotFieldNumber; const int SolverParameter::kSnapshotPrefixFieldNumber; const int SolverParameter::kSnapshotDiffFieldNumber; +const int SolverParameter::kSnapshotFormatFieldNumber; const int SolverParameter::kSolverModeFieldNumber; const int SolverParameter::kDeviceIdFieldNumber; const int SolverParameter::kRandomSeedFieldNumber; -const int SolverParameter::kSolverTypeFieldNumber; +const int SolverParameter::kTypeFieldNumber; const int SolverParameter::kDeltaFieldNumber; +const int SolverParameter::kMomentum2FieldNumber; +const int SolverParameter::kRmsDecayFieldNumber; const int SolverParameter::kDebugInfoFieldNumber; const int SolverParameter::kSnapshotAfterTrainFieldNumber; +const int SolverParameter::kSolverTypeFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 SolverParameter::SolverParameter() @@ -8774,19 +8940,23 @@ void SolverParameter::SharedCtor() { lr_policy_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); regularization_type_.UnsafeSetDefault(_default_regularization_type_); snapshot_prefix_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + type_.UnsafeSetDefault(_default_type_); net_param_ = NULL; train_net_param_ = NULL; train_state_ = NULL; ::memset(&test_interval_, 0, reinterpret_cast(&solver_type_) - reinterpret_cast(&test_interval_) + sizeof(solver_type_)); + rms_decay_ = 0.99f; average_loss_ = 1; iter_size_ = 1; test_initialization_ = true; snapshot_after_train_ = true; clip_gradients_ = -1; - random_seed_ = GOOGLE_LONGLONG(-1); + snapshot_format_ = 1; solver_mode_ = 1; + random_seed_ = GOOGLE_LONGLONG(-1); delta_ = 1e-08f; + momentum2_ = 0.999f; _cached_size_ = 0; } @@ -8801,6 +8971,7 @@ void SolverParameter::SharedDtor() { lr_policy_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); regularization_type_.DestroyNoArena(_default_regularization_type_); snapshot_prefix_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + type_.DestroyNoArena(_default_type_); if (this != &SolverParameter_default_instance_.get()) { delete net_param_; delete train_net_param_; @@ -8891,14 +9062,20 @@ void SolverParameter::Clear() { snapshot_prefix_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } snapshot_diff_ = false; + snapshot_format_ = 1; solver_mode_ = 1; - random_seed_ = GOOGLE_LONGLONG(-1); } - if (_has_bits_[32 / 32] & 15u) { - solver_type_ = 0; + if (_has_bits_[32 / 32] & 255u) { + random_seed_ = GOOGLE_LONGLONG(-1); + if (has_type()) { + type_.ClearToDefaultNoArena(_default_type_); + } delta_ = 1e-08f; + momentum2_ = 0.999f; + rms_decay_ = 0.99f; debug_info_ = false; snapshot_after_train_ = true; + solver_type_ = 0; } #undef ZR_HELPER_ @@ -9490,6 +9667,73 @@ bool SolverParameter::MergePartialFromCodedStream( } else { goto handle_unusual; } + if (input->ExpectTag(296)) goto parse_snapshot_format; + break; + } + + // optional .caffe.SolverParameter.SnapshotFormat snapshot_format = 37 [default = BINARYPROTO]; + case 37: { + if (tag == 296) { + parse_snapshot_format: + int value; + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>( + input, &value))); + if (::caffe::SolverParameter_SnapshotFormat_IsValid(value)) { + set_snapshot_format(static_cast< ::caffe::SolverParameter_SnapshotFormat >(value)); + } else { + mutable_unknown_fields()->AddVarint(37, value); + } + } else { + goto handle_unusual; + } + if (input->ExpectTag(309)) goto parse_rms_decay; + break; + } + + // optional float rms_decay = 38 [default = 0.99]; + case 38: { + if (tag == 309) { + parse_rms_decay: + set_has_rms_decay(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>( + input, &rms_decay_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(317)) goto parse_momentum2; + break; + } + + // optional float momentum2 = 39 [default = 0.999]; + case 39: { + if (tag == 317) { + parse_momentum2: + set_has_momentum2(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>( + input, &momentum2_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(322)) goto parse_type; + break; + } + + // optional string type = 40 [default = "SGD"]; + case 40: { + if (tag == 322) { + parse_type: + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_type())); + ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( + this->type().data(), this->type().length(), + ::google::protobuf::internal::WireFormat::PARSE, + "caffe.SolverParameter.type"); + } else { + goto handle_unusual; + } if (input->ExpectAtEnd()) goto success; break; } @@ -9738,6 +9982,32 @@ void SolverParameter::SerializeWithCachedSizes( ::google::protobuf::internal::WireFormatLite::WriteInt32(36, this->iter_size(), output); } + // optional .caffe.SolverParameter.SnapshotFormat snapshot_format = 37 [default = BINARYPROTO]; + if (has_snapshot_format()) { + ::google::protobuf::internal::WireFormatLite::WriteEnum( + 37, this->snapshot_format(), output); + } + + // optional float rms_decay = 38 [default = 0.99]; + if (has_rms_decay()) { + ::google::protobuf::internal::WireFormatLite::WriteFloat(38, this->rms_decay(), output); + } + + // optional float momentum2 = 39 [default = 0.999]; + if (has_momentum2()) { + ::google::protobuf::internal::WireFormatLite::WriteFloat(39, this->momentum2(), output); + } + + // optional string type = 40 [default = "SGD"]; + if (has_type()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( + this->type().data(), this->type().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE, + "caffe.SolverParameter.type"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 40, this->type(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( unknown_fields(), output); @@ -9978,6 +10248,33 @@ void SolverParameter::SerializeWithCachedSizes( target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(36, this->iter_size(), target); } + // optional .caffe.SolverParameter.SnapshotFormat snapshot_format = 37 [default = BINARYPROTO]; + if (has_snapshot_format()) { + target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray( + 37, this->snapshot_format(), target); + } + + // optional float rms_decay = 38 [default = 0.99]; + if (has_rms_decay()) { + target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(38, this->rms_decay(), target); + } + + // optional float momentum2 = 39 [default = 0.999]; + if (has_momentum2()) { + target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(39, this->momentum2(), target); + } + + // optional string type = 40 [default = "SGD"]; + if (has_type()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( + this->type().data(), this->type().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE, + "caffe.SolverParameter.type"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 40, this->type(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( unknown_fields(), target); @@ -10147,6 +10444,12 @@ size_t SolverParameter::ByteSizeLong() const { total_size += 2 + 1; } + // optional .caffe.SolverParameter.SnapshotFormat snapshot_format = 37 [default = BINARYPROTO]; + if (has_snapshot_format()) { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::EnumSize(this->snapshot_format()); + } + // optional .caffe.SolverParameter.SolverMode solver_mode = 17 [default = GPU]; if (has_solver_mode()) { total_size += 2 + @@ -10160,6 +10463,8 @@ size_t SolverParameter::ByteSizeLong() const { this->device_id()); } + } + if (_has_bits_[32 / 32] & 255u) { // optional int64 random_seed = 20 [default = -1]; if (has_random_seed()) { total_size += 2 + @@ -10167,12 +10472,11 @@ size_t SolverParameter::ByteSizeLong() const { this->random_seed()); } - } - if (_has_bits_[32 / 32] & 15u) { - // optional .caffe.SolverParameter.SolverType solver_type = 30 [default = SGD]; - if (has_solver_type()) { + // optional string type = 40 [default = "SGD"]; + if (has_type()) { total_size += 2 + - ::google::protobuf::internal::WireFormatLite::EnumSize(this->solver_type()); + ::google::protobuf::internal::WireFormatLite::StringSize( + this->type()); } // optional float delta = 31 [default = 1e-08]; @@ -10180,6 +10484,16 @@ size_t SolverParameter::ByteSizeLong() const { total_size += 2 + 4; } + // optional float momentum2 = 39 [default = 0.999]; + if (has_momentum2()) { + total_size += 2 + 4; + } + + // optional float rms_decay = 38 [default = 0.99]; + if (has_rms_decay()) { + total_size += 2 + 4; + } + // optional bool debug_info = 23 [default = false]; if (has_debug_info()) { total_size += 2 + 1; @@ -10190,6 +10504,12 @@ size_t SolverParameter::ByteSizeLong() const { total_size += 2 + 1; } + // optional .caffe.SolverParameter.SolverType solver_type = 30 [default = SGD]; + if (has_solver_type()) { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::EnumSize(this->solver_type()); + } + } // repeated string test_net = 2; total_size += 1 * @@ -10374,29 +10694,42 @@ void SolverParameter::UnsafeMergeFrom(const SolverParameter& from) { if (from.has_snapshot_diff()) { set_snapshot_diff(from.snapshot_diff()); } + if (from.has_snapshot_format()) { + set_snapshot_format(from.snapshot_format()); + } if (from.has_solver_mode()) { set_solver_mode(from.solver_mode()); } if (from.has_device_id()) { set_device_id(from.device_id()); } + } + if (from._has_bits_[32 / 32] & (0xffu << (32 % 32))) { if (from.has_random_seed()) { set_random_seed(from.random_seed()); } - } - if (from._has_bits_[32 / 32] & (0xffu << (32 % 32))) { - if (from.has_solver_type()) { - set_solver_type(from.solver_type()); + if (from.has_type()) { + set_has_type(); + type_.AssignWithDefault(_default_type_, from.type_); } if (from.has_delta()) { set_delta(from.delta()); } + if (from.has_momentum2()) { + set_momentum2(from.momentum2()); + } + if (from.has_rms_decay()) { + set_rms_decay(from.rms_decay()); + } if (from.has_debug_info()) { set_debug_info(from.debug_info()); } if (from.has_snapshot_after_train()) { set_snapshot_after_train(from.snapshot_after_train()); } + if (from.has_solver_type()) { + set_solver_type(from.solver_type()); + } } if (from._internal_metadata_.have_unknown_fields()) { ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata( @@ -10457,13 +10790,17 @@ void SolverParameter::InternalSwap(SolverParameter* other) { std::swap(snapshot_, other->snapshot_); snapshot_prefix_.Swap(&other->snapshot_prefix_); std::swap(snapshot_diff_, other->snapshot_diff_); + std::swap(snapshot_format_, other->snapshot_format_); std::swap(solver_mode_, other->solver_mode_); std::swap(device_id_, other->device_id_); std::swap(random_seed_, other->random_seed_); - std::swap(solver_type_, other->solver_type_); + type_.Swap(&other->type_); std::swap(delta_, other->delta_); + std::swap(momentum2_, other->momentum2_); + std::swap(rms_decay_, other->rms_decay_); std::swap(debug_info_, other->debug_info_); std::swap(snapshot_after_train_, other->snapshot_after_train_); + std::swap(solver_type_, other->solver_type_); std::swap(_has_bits_[0], other->_has_bits_[0]); std::swap(_has_bits_[1], other->_has_bits_[1]); _internal_metadata_.Swap(&other->_internal_metadata_); @@ -11445,15 +11782,40 @@ void SolverParameter::set_snapshot_diff(bool value) { // @@protoc_insertion_point(field_set:caffe.SolverParameter.snapshot_diff) } +// optional .caffe.SolverParameter.SnapshotFormat snapshot_format = 37 [default = BINARYPROTO]; +bool SolverParameter::has_snapshot_format() const { + return (_has_bits_[0] & 0x20000000u) != 0; +} +void SolverParameter::set_has_snapshot_format() { + _has_bits_[0] |= 0x20000000u; +} +void SolverParameter::clear_has_snapshot_format() { + _has_bits_[0] &= ~0x20000000u; +} +void SolverParameter::clear_snapshot_format() { + snapshot_format_ = 1; + clear_has_snapshot_format(); +} +::caffe::SolverParameter_SnapshotFormat SolverParameter::snapshot_format() const { + // @@protoc_insertion_point(field_get:caffe.SolverParameter.snapshot_format) + return static_cast< ::caffe::SolverParameter_SnapshotFormat >(snapshot_format_); +} +void SolverParameter::set_snapshot_format(::caffe::SolverParameter_SnapshotFormat value) { + assert(::caffe::SolverParameter_SnapshotFormat_IsValid(value)); + set_has_snapshot_format(); + snapshot_format_ = value; + // @@protoc_insertion_point(field_set:caffe.SolverParameter.snapshot_format) +} + // optional .caffe.SolverParameter.SolverMode solver_mode = 17 [default = GPU]; bool SolverParameter::has_solver_mode() const { - return (_has_bits_[0] & 0x20000000u) != 0; + return (_has_bits_[0] & 0x40000000u) != 0; } void SolverParameter::set_has_solver_mode() { - _has_bits_[0] |= 0x20000000u; + _has_bits_[0] |= 0x40000000u; } void SolverParameter::clear_has_solver_mode() { - _has_bits_[0] &= ~0x20000000u; + _has_bits_[0] &= ~0x40000000u; } void SolverParameter::clear_solver_mode() { solver_mode_ = 1; @@ -11472,13 +11834,13 @@ void SolverParameter::set_solver_mode(::caffe::SolverParameter_SolverMode value) // optional int32 device_id = 18 [default = 0]; bool SolverParameter::has_device_id() const { - return (_has_bits_[0] & 0x40000000u) != 0; + return (_has_bits_[0] & 0x80000000u) != 0; } void SolverParameter::set_has_device_id() { - _has_bits_[0] |= 0x40000000u; + _has_bits_[0] |= 0x80000000u; } void SolverParameter::clear_has_device_id() { - _has_bits_[0] &= ~0x40000000u; + _has_bits_[0] &= ~0x80000000u; } void SolverParameter::clear_device_id() { device_id_ = 0; @@ -11496,13 +11858,13 @@ void SolverParameter::set_device_id(::google::protobuf::int32 value) { // optional int64 random_seed = 20 [default = -1]; bool SolverParameter::has_random_seed() const { - return (_has_bits_[0] & 0x80000000u) != 0; + return (_has_bits_[1] & 0x00000001u) != 0; } void SolverParameter::set_has_random_seed() { - _has_bits_[0] |= 0x80000000u; + _has_bits_[1] |= 0x00000001u; } void SolverParameter::clear_has_random_seed() { - _has_bits_[0] &= ~0x80000000u; + _has_bits_[1] &= ~0x00000001u; } void SolverParameter::clear_random_seed() { random_seed_ = GOOGLE_LONGLONG(-1); @@ -11518,40 +11880,69 @@ void SolverParameter::set_random_seed(::google::protobuf::int64 value) { // @@protoc_insertion_point(field_set:caffe.SolverParameter.random_seed) } -// optional .caffe.SolverParameter.SolverType solver_type = 30 [default = SGD]; -bool SolverParameter::has_solver_type() const { - return (_has_bits_[1] & 0x00000001u) != 0; +// optional string type = 40 [default = "SGD"]; +bool SolverParameter::has_type() const { + return (_has_bits_[1] & 0x00000002u) != 0; } -void SolverParameter::set_has_solver_type() { - _has_bits_[1] |= 0x00000001u; +void SolverParameter::set_has_type() { + _has_bits_[1] |= 0x00000002u; } -void SolverParameter::clear_has_solver_type() { - _has_bits_[1] &= ~0x00000001u; +void SolverParameter::clear_has_type() { + _has_bits_[1] &= ~0x00000002u; } -void SolverParameter::clear_solver_type() { - solver_type_ = 0; - clear_has_solver_type(); +void SolverParameter::clear_type() { + type_.ClearToDefaultNoArena(_default_type_); + clear_has_type(); } -::caffe::SolverParameter_SolverType SolverParameter::solver_type() const { - // @@protoc_insertion_point(field_get:caffe.SolverParameter.solver_type) - return static_cast< ::caffe::SolverParameter_SolverType >(solver_type_); +const ::std::string& SolverParameter::type() const { + // @@protoc_insertion_point(field_get:caffe.SolverParameter.type) + return type_.GetNoArena(_default_type_); } -void SolverParameter::set_solver_type(::caffe::SolverParameter_SolverType value) { - assert(::caffe::SolverParameter_SolverType_IsValid(value)); - set_has_solver_type(); - solver_type_ = value; - // @@protoc_insertion_point(field_set:caffe.SolverParameter.solver_type) +void SolverParameter::set_type(const ::std::string& value) { + set_has_type(); + type_.SetNoArena(_default_type_, value); + // @@protoc_insertion_point(field_set:caffe.SolverParameter.type) +} +void SolverParameter::set_type(const char* value) { + set_has_type(); + type_.SetNoArena(_default_type_, ::std::string(value)); + // @@protoc_insertion_point(field_set_char:caffe.SolverParameter.type) +} +void SolverParameter::set_type(const char* value, size_t size) { + set_has_type(); + type_.SetNoArena(_default_type_, + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:caffe.SolverParameter.type) +} +::std::string* SolverParameter::mutable_type() { + set_has_type(); + // @@protoc_insertion_point(field_mutable:caffe.SolverParameter.type) + return type_.MutableNoArena(_default_type_); +} +::std::string* SolverParameter::release_type() { + // @@protoc_insertion_point(field_release:caffe.SolverParameter.type) + clear_has_type(); + return type_.ReleaseNoArena(_default_type_); +} +void SolverParameter::set_allocated_type(::std::string* type) { + if (type != NULL) { + set_has_type(); + } else { + clear_has_type(); + } + type_.SetAllocatedNoArena(_default_type_, type); + // @@protoc_insertion_point(field_set_allocated:caffe.SolverParameter.type) } // optional float delta = 31 [default = 1e-08]; bool SolverParameter::has_delta() const { - return (_has_bits_[1] & 0x00000002u) != 0; + return (_has_bits_[1] & 0x00000004u) != 0; } void SolverParameter::set_has_delta() { - _has_bits_[1] |= 0x00000002u; + _has_bits_[1] |= 0x00000004u; } void SolverParameter::clear_has_delta() { - _has_bits_[1] &= ~0x00000002u; + _has_bits_[1] &= ~0x00000004u; } void SolverParameter::clear_delta() { delta_ = 1e-08f; @@ -11567,15 +11958,63 @@ void SolverParameter::set_delta(float value) { // @@protoc_insertion_point(field_set:caffe.SolverParameter.delta) } +// optional float momentum2 = 39 [default = 0.999]; +bool SolverParameter::has_momentum2() const { + return (_has_bits_[1] & 0x00000008u) != 0; +} +void SolverParameter::set_has_momentum2() { + _has_bits_[1] |= 0x00000008u; +} +void SolverParameter::clear_has_momentum2() { + _has_bits_[1] &= ~0x00000008u; +} +void SolverParameter::clear_momentum2() { + momentum2_ = 0.999f; + clear_has_momentum2(); +} +float SolverParameter::momentum2() const { + // @@protoc_insertion_point(field_get:caffe.SolverParameter.momentum2) + return momentum2_; +} +void SolverParameter::set_momentum2(float value) { + set_has_momentum2(); + momentum2_ = value; + // @@protoc_insertion_point(field_set:caffe.SolverParameter.momentum2) +} + +// optional float rms_decay = 38 [default = 0.99]; +bool SolverParameter::has_rms_decay() const { + return (_has_bits_[1] & 0x00000010u) != 0; +} +void SolverParameter::set_has_rms_decay() { + _has_bits_[1] |= 0x00000010u; +} +void SolverParameter::clear_has_rms_decay() { + _has_bits_[1] &= ~0x00000010u; +} +void SolverParameter::clear_rms_decay() { + rms_decay_ = 0.99f; + clear_has_rms_decay(); +} +float SolverParameter::rms_decay() const { + // @@protoc_insertion_point(field_get:caffe.SolverParameter.rms_decay) + return rms_decay_; +} +void SolverParameter::set_rms_decay(float value) { + set_has_rms_decay(); + rms_decay_ = value; + // @@protoc_insertion_point(field_set:caffe.SolverParameter.rms_decay) +} + // optional bool debug_info = 23 [default = false]; bool SolverParameter::has_debug_info() const { - return (_has_bits_[1] & 0x00000004u) != 0; + return (_has_bits_[1] & 0x00000020u) != 0; } void SolverParameter::set_has_debug_info() { - _has_bits_[1] |= 0x00000004u; + _has_bits_[1] |= 0x00000020u; } void SolverParameter::clear_has_debug_info() { - _has_bits_[1] &= ~0x00000004u; + _has_bits_[1] &= ~0x00000020u; } void SolverParameter::clear_debug_info() { debug_info_ = false; @@ -11593,13 +12032,13 @@ void SolverParameter::set_debug_info(bool value) { // optional bool snapshot_after_train = 28 [default = true]; bool SolverParameter::has_snapshot_after_train() const { - return (_has_bits_[1] & 0x00000008u) != 0; + return (_has_bits_[1] & 0x00000040u) != 0; } void SolverParameter::set_has_snapshot_after_train() { - _has_bits_[1] |= 0x00000008u; + _has_bits_[1] |= 0x00000040u; } void SolverParameter::clear_has_snapshot_after_train() { - _has_bits_[1] &= ~0x00000008u; + _has_bits_[1] &= ~0x00000040u; } void SolverParameter::clear_snapshot_after_train() { snapshot_after_train_ = true; @@ -11615,6 +12054,31 @@ void SolverParameter::set_snapshot_after_train(bool value) { // @@protoc_insertion_point(field_set:caffe.SolverParameter.snapshot_after_train) } +// optional .caffe.SolverParameter.SolverType solver_type = 30 [default = SGD]; +bool SolverParameter::has_solver_type() const { + return (_has_bits_[1] & 0x00000080u) != 0; +} +void SolverParameter::set_has_solver_type() { + _has_bits_[1] |= 0x00000080u; +} +void SolverParameter::clear_has_solver_type() { + _has_bits_[1] &= ~0x00000080u; +} +void SolverParameter::clear_solver_type() { + solver_type_ = 0; + clear_has_solver_type(); +} +::caffe::SolverParameter_SolverType SolverParameter::solver_type() const { + // @@protoc_insertion_point(field_get:caffe.SolverParameter.solver_type) + return static_cast< ::caffe::SolverParameter_SolverType >(solver_type_); +} +void SolverParameter::set_solver_type(::caffe::SolverParameter_SolverType value) { + assert(::caffe::SolverParameter_SolverType_IsValid(value)); + set_has_solver_type(); + solver_type_ = value; + // @@protoc_insertion_point(field_set:caffe.SolverParameter.solver_type) +} + inline const SolverParameter* SolverParameter::internal_default_instance() { return &SolverParameter_default_instance_.get(); } @@ -13833,6 +14297,8 @@ const int LayerParameter::kTransformParamFieldNumber; const int LayerParameter::kLossParamFieldNumber; const int LayerParameter::kAccuracyParamFieldNumber; const int LayerParameter::kArgmaxParamFieldNumber; +const int LayerParameter::kBatchNormParamFieldNumber; +const int LayerParameter::kBiasParamFieldNumber; const int LayerParameter::kConcatParamFieldNumber; const int LayerParameter::kContrastiveLossParamFieldNumber; const int LayerParameter::kConvolutionParamFieldNumber; @@ -13842,6 +14308,8 @@ const int LayerParameter::kDetectionOutputParamFieldNumber; const int LayerParameter::kDropoutParamFieldNumber; const int LayerParameter::kDummyDataParamFieldNumber; const int LayerParameter::kEltwiseParamFieldNumber; +const int LayerParameter::kEluParamFieldNumber; +const int LayerParameter::kEmbedParamFieldNumber; const int LayerParameter::kExpParamFieldNumber; const int LayerParameter::kFlattenParamFieldNumber; const int LayerParameter::kHdf5DataParamFieldNumber; @@ -13850,26 +14318,31 @@ const int LayerParameter::kHingeLossParamFieldNumber; const int LayerParameter::kImageDataParamFieldNumber; const int LayerParameter::kInfogainLossParamFieldNumber; const int LayerParameter::kInnerProductParamFieldNumber; +const int LayerParameter::kInputParamFieldNumber; const int LayerParameter::kLogParamFieldNumber; const int LayerParameter::kLrnParamFieldNumber; const int LayerParameter::kMemoryDataParamFieldNumber; const int LayerParameter::kMvnParamFieldNumber; const int LayerParameter::kNormalizeBboxParamFieldNumber; const int LayerParameter::kPermuteParamFieldNumber; +const int LayerParameter::kParameterParamFieldNumber; const int LayerParameter::kPoolingParamFieldNumber; const int LayerParameter::kPowerParamFieldNumber; const int LayerParameter::kPreluParamFieldNumber; const int LayerParameter::kPriorBoxParamFieldNumber; const int LayerParameter::kPythonParamFieldNumber; +const int LayerParameter::kRecurrentParamFieldNumber; const int LayerParameter::kReductionParamFieldNumber; const int LayerParameter::kReluParamFieldNumber; const int LayerParameter::kReshapeParamFieldNumber; +const int LayerParameter::kScaleParamFieldNumber; const int LayerParameter::kSigmoidParamFieldNumber; -const int LayerParameter::kSliceParamFieldNumber; const int LayerParameter::kSoftmaxParamFieldNumber; const int LayerParameter::kSppParamFieldNumber; +const int LayerParameter::kSliceParamFieldNumber; const int LayerParameter::kTanhParamFieldNumber; const int LayerParameter::kThresholdParamFieldNumber; +const int LayerParameter::kTileParamFieldNumber; const int LayerParameter::kWindowDataParamFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 @@ -13889,6 +14362,10 @@ void LayerParameter::InitAsDefaultInstance() { ::caffe::AccuracyParameter::internal_default_instance()); argmax_param_ = const_cast< ::caffe::ArgMaxParameter*>( ::caffe::ArgMaxParameter::internal_default_instance()); + batch_norm_param_ = const_cast< ::caffe::BatchNormParameter*>( + ::caffe::BatchNormParameter::internal_default_instance()); + bias_param_ = const_cast< ::caffe::BiasParameter*>( + ::caffe::BiasParameter::internal_default_instance()); concat_param_ = const_cast< ::caffe::ConcatParameter*>( ::caffe::ConcatParameter::internal_default_instance()); contrastive_loss_param_ = const_cast< ::caffe::ContrastiveLossParameter*>( @@ -13907,6 +14384,10 @@ void LayerParameter::InitAsDefaultInstance() { ::caffe::DummyDataParameter::internal_default_instance()); eltwise_param_ = const_cast< ::caffe::EltwiseParameter*>( ::caffe::EltwiseParameter::internal_default_instance()); + elu_param_ = const_cast< ::caffe::ELUParameter*>( + ::caffe::ELUParameter::internal_default_instance()); + embed_param_ = const_cast< ::caffe::EmbedParameter*>( + ::caffe::EmbedParameter::internal_default_instance()); exp_param_ = const_cast< ::caffe::ExpParameter*>( ::caffe::ExpParameter::internal_default_instance()); flatten_param_ = const_cast< ::caffe::FlattenParameter*>( @@ -13923,6 +14404,8 @@ void LayerParameter::InitAsDefaultInstance() { ::caffe::InfogainLossParameter::internal_default_instance()); inner_product_param_ = const_cast< ::caffe::InnerProductParameter*>( ::caffe::InnerProductParameter::internal_default_instance()); + input_param_ = const_cast< ::caffe::InputParameter*>( + ::caffe::InputParameter::internal_default_instance()); log_param_ = const_cast< ::caffe::LogParameter*>( ::caffe::LogParameter::internal_default_instance()); lrn_param_ = const_cast< ::caffe::LRNParameter*>( @@ -13935,6 +14418,8 @@ void LayerParameter::InitAsDefaultInstance() { ::caffe::NormalizeBBoxParameter::internal_default_instance()); permute_param_ = const_cast< ::caffe::PermuteParameter*>( ::caffe::PermuteParameter::internal_default_instance()); + parameter_param_ = const_cast< ::caffe::ParameterParameter*>( + ::caffe::ParameterParameter::internal_default_instance()); pooling_param_ = const_cast< ::caffe::PoolingParameter*>( ::caffe::PoolingParameter::internal_default_instance()); power_param_ = const_cast< ::caffe::PowerParameter*>( @@ -13945,24 +14430,30 @@ void LayerParameter::InitAsDefaultInstance() { ::caffe::PriorBoxParameter::internal_default_instance()); python_param_ = const_cast< ::caffe::PythonParameter*>( ::caffe::PythonParameter::internal_default_instance()); + recurrent_param_ = const_cast< ::caffe::RecurrentParameter*>( + ::caffe::RecurrentParameter::internal_default_instance()); reduction_param_ = const_cast< ::caffe::ReductionParameter*>( ::caffe::ReductionParameter::internal_default_instance()); relu_param_ = const_cast< ::caffe::ReLUParameter*>( ::caffe::ReLUParameter::internal_default_instance()); reshape_param_ = const_cast< ::caffe::ReshapeParameter*>( ::caffe::ReshapeParameter::internal_default_instance()); + scale_param_ = const_cast< ::caffe::ScaleParameter*>( + ::caffe::ScaleParameter::internal_default_instance()); sigmoid_param_ = const_cast< ::caffe::SigmoidParameter*>( ::caffe::SigmoidParameter::internal_default_instance()); - slice_param_ = const_cast< ::caffe::SliceParameter*>( - ::caffe::SliceParameter::internal_default_instance()); softmax_param_ = const_cast< ::caffe::SoftmaxParameter*>( ::caffe::SoftmaxParameter::internal_default_instance()); spp_param_ = const_cast< ::caffe::SPPParameter*>( ::caffe::SPPParameter::internal_default_instance()); + slice_param_ = const_cast< ::caffe::SliceParameter*>( + ::caffe::SliceParameter::internal_default_instance()); tanh_param_ = const_cast< ::caffe::TanHParameter*>( ::caffe::TanHParameter::internal_default_instance()); threshold_param_ = const_cast< ::caffe::ThresholdParameter*>( ::caffe::ThresholdParameter::internal_default_instance()); + tile_param_ = const_cast< ::caffe::TileParameter*>( + ::caffe::TileParameter::internal_default_instance()); window_data_param_ = const_cast< ::caffe::WindowDataParameter*>( ::caffe::WindowDataParameter::internal_default_instance()); } @@ -13982,6 +14473,8 @@ void LayerParameter::SharedCtor() { loss_param_ = NULL; accuracy_param_ = NULL; argmax_param_ = NULL; + batch_norm_param_ = NULL; + bias_param_ = NULL; concat_param_ = NULL; contrastive_loss_param_ = NULL; convolution_param_ = NULL; @@ -13991,6 +14484,8 @@ void LayerParameter::SharedCtor() { dropout_param_ = NULL; dummy_data_param_ = NULL; eltwise_param_ = NULL; + elu_param_ = NULL; + embed_param_ = NULL; exp_param_ = NULL; flatten_param_ = NULL; hdf5_data_param_ = NULL; @@ -13999,26 +14494,31 @@ void LayerParameter::SharedCtor() { image_data_param_ = NULL; infogain_loss_param_ = NULL; inner_product_param_ = NULL; + input_param_ = NULL; log_param_ = NULL; lrn_param_ = NULL; memory_data_param_ = NULL; mvn_param_ = NULL; normalize_bbox_param_ = NULL; permute_param_ = NULL; + parameter_param_ = NULL; pooling_param_ = NULL; power_param_ = NULL; prelu_param_ = NULL; prior_box_param_ = NULL; python_param_ = NULL; + recurrent_param_ = NULL; reduction_param_ = NULL; relu_param_ = NULL; reshape_param_ = NULL; + scale_param_ = NULL; sigmoid_param_ = NULL; - slice_param_ = NULL; softmax_param_ = NULL; spp_param_ = NULL; + slice_param_ = NULL; tanh_param_ = NULL; threshold_param_ = NULL; + tile_param_ = NULL; window_data_param_ = NULL; phase_ = 0; _cached_size_ = 0; @@ -14037,6 +14537,8 @@ void LayerParameter::SharedDtor() { delete loss_param_; delete accuracy_param_; delete argmax_param_; + delete batch_norm_param_; + delete bias_param_; delete concat_param_; delete contrastive_loss_param_; delete convolution_param_; @@ -14046,6 +14548,8 @@ void LayerParameter::SharedDtor() { delete dropout_param_; delete dummy_data_param_; delete eltwise_param_; + delete elu_param_; + delete embed_param_; delete exp_param_; delete flatten_param_; delete hdf5_data_param_; @@ -14054,26 +14558,31 @@ void LayerParameter::SharedDtor() { delete image_data_param_; delete infogain_loss_param_; delete inner_product_param_; + delete input_param_; delete log_param_; delete lrn_param_; delete memory_data_param_; delete mvn_param_; delete normalize_bbox_param_; delete permute_param_; + delete parameter_param_; delete pooling_param_; delete power_param_; delete prelu_param_; delete prior_box_param_; delete python_param_; + delete recurrent_param_; delete reduction_param_; delete relu_param_; delete reshape_param_; + delete scale_param_; delete sigmoid_param_; - delete slice_param_; delete softmax_param_; delete spp_param_; + delete slice_param_; delete tanh_param_; delete threshold_param_; + delete tile_param_; delete window_data_param_; } } @@ -14127,11 +14636,17 @@ void LayerParameter::Clear() { if (has_argmax_param()) { if (argmax_param_ != NULL) argmax_param_->::caffe::ArgMaxParameter::Clear(); } - if (has_concat_param()) { - if (concat_param_ != NULL) concat_param_->::caffe::ConcatParameter::Clear(); + if (has_batch_norm_param()) { + if (batch_norm_param_ != NULL) batch_norm_param_->::caffe::BatchNormParameter::Clear(); } } if (_has_bits_[16 / 32] & 16711680u) { + if (has_bias_param()) { + if (bias_param_ != NULL) bias_param_->::caffe::BiasParameter::Clear(); + } + if (has_concat_param()) { + if (concat_param_ != NULL) concat_param_->::caffe::ConcatParameter::Clear(); + } if (has_contrastive_loss_param()) { if (contrastive_loss_param_ != NULL) contrastive_loss_param_->::caffe::ContrastiveLossParameter::Clear(); } @@ -14150,14 +14665,20 @@ void LayerParameter::Clear() { if (has_dropout_param()) { if (dropout_param_ != NULL) dropout_param_->::caffe::DropoutParameter::Clear(); } + } + if (_has_bits_[24 / 32] & 4278190080u) { if (has_dummy_data_param()) { if (dummy_data_param_ != NULL) dummy_data_param_->::caffe::DummyDataParameter::Clear(); } if (has_eltwise_param()) { if (eltwise_param_ != NULL) eltwise_param_->::caffe::EltwiseParameter::Clear(); } - } - if (_has_bits_[24 / 32] & 4278190080u) { + if (has_elu_param()) { + if (elu_param_ != NULL) elu_param_->::caffe::ELUParameter::Clear(); + } + if (has_embed_param()) { + if (embed_param_ != NULL) embed_param_->::caffe::EmbedParameter::Clear(); + } if (has_exp_param()) { if (exp_param_ != NULL) exp_param_->::caffe::ExpParameter::Clear(); } @@ -14170,6 +14691,8 @@ void LayerParameter::Clear() { if (has_hdf5_output_param()) { if (hdf5_output_param_ != NULL) hdf5_output_param_->::caffe::HDF5OutputParameter::Clear(); } + } + if (_has_bits_[32 / 32] & 255u) { if (has_hinge_loss_param()) { if (hinge_loss_param_ != NULL) hinge_loss_param_->::caffe::HingeLossParameter::Clear(); } @@ -14182,8 +14705,9 @@ void LayerParameter::Clear() { if (has_inner_product_param()) { if (inner_product_param_ != NULL) inner_product_param_->::caffe::InnerProductParameter::Clear(); } - } - if (_has_bits_[32 / 32] & 255u) { + if (has_input_param()) { + if (input_param_ != NULL) input_param_->::caffe::InputParameter::Clear(); + } if (has_log_param()) { if (log_param_ != NULL) log_param_->::caffe::LogParameter::Clear(); } @@ -14193,6 +14717,8 @@ void LayerParameter::Clear() { if (has_memory_data_param()) { if (memory_data_param_ != NULL) memory_data_param_->::caffe::MemoryDataParameter::Clear(); } + } + if (_has_bits_[40 / 32] & 65280u) { if (has_mvn_param()) { if (mvn_param_ != NULL) mvn_param_->::caffe::MVNParameter::Clear(); } @@ -14202,23 +14728,29 @@ void LayerParameter::Clear() { if (has_permute_param()) { if (permute_param_ != NULL) permute_param_->::caffe::PermuteParameter::Clear(); } + if (has_parameter_param()) { + if (parameter_param_ != NULL) parameter_param_->::caffe::ParameterParameter::Clear(); + } if (has_pooling_param()) { if (pooling_param_ != NULL) pooling_param_->::caffe::PoolingParameter::Clear(); } if (has_power_param()) { if (power_param_ != NULL) power_param_->::caffe::PowerParameter::Clear(); } - } - if (_has_bits_[40 / 32] & 65280u) { if (has_prelu_param()) { if (prelu_param_ != NULL) prelu_param_->::caffe::PReLUParameter::Clear(); } if (has_prior_box_param()) { if (prior_box_param_ != NULL) prior_box_param_->::caffe::PriorBoxParameter::Clear(); } + } + if (_has_bits_[48 / 32] & 16711680u) { if (has_python_param()) { if (python_param_ != NULL) python_param_->::caffe::PythonParameter::Clear(); } + if (has_recurrent_param()) { + if (recurrent_param_ != NULL) recurrent_param_->::caffe::RecurrentParameter::Clear(); + } if (has_reduction_param()) { if (reduction_param_ != NULL) reduction_param_->::caffe::ReductionParameter::Clear(); } @@ -14228,26 +14760,32 @@ void LayerParameter::Clear() { if (has_reshape_param()) { if (reshape_param_ != NULL) reshape_param_->::caffe::ReshapeParameter::Clear(); } + if (has_scale_param()) { + if (scale_param_ != NULL) scale_param_->::caffe::ScaleParameter::Clear(); + } if (has_sigmoid_param()) { if (sigmoid_param_ != NULL) sigmoid_param_->::caffe::SigmoidParameter::Clear(); } - if (has_slice_param()) { - if (slice_param_ != NULL) slice_param_->::caffe::SliceParameter::Clear(); - } - } - if (_has_bits_[48 / 32] & 2031616u) { if (has_softmax_param()) { if (softmax_param_ != NULL) softmax_param_->::caffe::SoftmaxParameter::Clear(); } + } + if (_has_bits_[56 / 32] & 1056964608u) { if (has_spp_param()) { if (spp_param_ != NULL) spp_param_->::caffe::SPPParameter::Clear(); } + if (has_slice_param()) { + if (slice_param_ != NULL) slice_param_->::caffe::SliceParameter::Clear(); + } if (has_tanh_param()) { if (tanh_param_ != NULL) tanh_param_->::caffe::TanHParameter::Clear(); } if (has_threshold_param()) { if (threshold_param_ != NULL) threshold_param_->::caffe::ThresholdParameter::Clear(); } + if (has_tile_param()) { + if (tile_param_ != NULL) tile_param_->::caffe::TileParameter::Clear(); + } if (has_window_data_param()) { if (window_data_param_ != NULL) window_data_param_->::caffe::WindowDataParameter::Clear(); } @@ -14947,71 +15485,188 @@ bool LayerParameter::MergePartialFromCodedStream( } else { goto handle_unusual; } - if (input->ExpectTag(1098)) goto parse_crop_param; + if (input->ExpectTag(1098)) goto parse_embed_param; break; } - // optional .caffe.CropParameter crop_param = 137; + // optional .caffe.EmbedParameter embed_param = 137; case 137: { if (tag == 1098) { - parse_crop_param: + parse_embed_param: DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( - input, mutable_crop_param())); + input, mutable_embed_param())); } else { goto handle_unusual; } - if (input->ExpectTag(1106)) goto parse_permute_param; + if (input->ExpectTag(1106)) goto parse_tile_param; break; } - // optional .caffe.PermuteParameter permute_param = 138; + // optional .caffe.TileParameter tile_param = 138; case 138: { if (tag == 1106) { - parse_permute_param: + parse_tile_param: DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( - input, mutable_permute_param())); + input, mutable_tile_param())); } else { goto handle_unusual; } - if (input->ExpectTag(1114)) goto parse_normalize_bbox_param; + if (input->ExpectTag(1114)) goto parse_batch_norm_param; break; } - // optional .caffe.NormalizeBBoxParameter normalize_bbox_param = 139; + // optional .caffe.BatchNormParameter batch_norm_param = 139; case 139: { if (tag == 1114) { - parse_normalize_bbox_param: + parse_batch_norm_param: DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( - input, mutable_normalize_bbox_param())); + input, mutable_batch_norm_param())); } else { goto handle_unusual; } - if (input->ExpectTag(1122)) goto parse_prior_box_param; + if (input->ExpectTag(1122)) goto parse_elu_param; break; } - // optional .caffe.PriorBoxParameter prior_box_param = 140; + // optional .caffe.ELUParameter elu_param = 140; case 140: { if (tag == 1122) { - parse_prior_box_param: + parse_elu_param: DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( - input, mutable_prior_box_param())); + input, mutable_elu_param())); } else { goto handle_unusual; } - if (input->ExpectTag(1130)) goto parse_detection_output_param; + if (input->ExpectTag(1130)) goto parse_bias_param; break; } - // optional .caffe.DetectionOutputParameter detection_output_param = 141; + // optional .caffe.BiasParameter bias_param = 141; case 141: { if (tag == 1130) { + parse_bias_param: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, mutable_bias_param())); + } else { + goto handle_unusual; + } + if (input->ExpectTag(1138)) goto parse_scale_param; + break; + } + + // optional .caffe.ScaleParameter scale_param = 142; + case 142: { + if (tag == 1138) { + parse_scale_param: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, mutable_scale_param())); + } else { + goto handle_unusual; + } + if (input->ExpectTag(1146)) goto parse_input_param; + break; + } + + // optional .caffe.InputParameter input_param = 143; + case 143: { + if (tag == 1146) { + parse_input_param: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, mutable_input_param())); + } else { + goto handle_unusual; + } + if (input->ExpectTag(1154)) goto parse_crop_param; + break; + } + + // optional .caffe.CropParameter crop_param = 144; + case 144: { + if (tag == 1154) { + parse_crop_param: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, mutable_crop_param())); + } else { + goto handle_unusual; + } + if (input->ExpectTag(1162)) goto parse_parameter_param; + break; + } + + // optional .caffe.ParameterParameter parameter_param = 145; + case 145: { + if (tag == 1162) { + parse_parameter_param: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, mutable_parameter_param())); + } else { + goto handle_unusual; + } + if (input->ExpectTag(1170)) goto parse_recurrent_param; + break; + } + + // optional .caffe.RecurrentParameter recurrent_param = 146; + case 146: { + if (tag == 1170) { + parse_recurrent_param: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, mutable_recurrent_param())); + } else { + goto handle_unusual; + } + if (input->ExpectTag(1178)) goto parse_detection_output_param; + break; + } + + // optional .caffe.DetectionOutputParameter detection_output_param = 147; + case 147: { + if (tag == 1178) { parse_detection_output_param: DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( input, mutable_detection_output_param())); } else { goto handle_unusual; } + if (input->ExpectTag(1186)) goto parse_permute_param; + break; + } + + // optional .caffe.PermuteParameter permute_param = 148; + case 148: { + if (tag == 1186) { + parse_permute_param: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, mutable_permute_param())); + } else { + goto handle_unusual; + } + if (input->ExpectTag(1194)) goto parse_normalize_bbox_param; + break; + } + + // optional .caffe.NormalizeBBoxParameter normalize_bbox_param = 149; + case 149: { + if (tag == 1194) { + parse_normalize_bbox_param: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, mutable_normalize_bbox_param())); + } else { + goto handle_unusual; + } + if (input->ExpectTag(1202)) goto parse_prior_box_param; + break; + } + + // optional .caffe.PriorBoxParameter prior_box_param = 150; + case 150: { + if (tag == 1202) { + parse_prior_box_param: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, mutable_prior_box_param())); + } else { + goto handle_unusual; + } if (input->ExpectAtEnd()) goto success; break; } @@ -15345,34 +16000,88 @@ void LayerParameter::SerializeWithCachedSizes( 136, *this->reduction_param_, output); } - // optional .caffe.CropParameter crop_param = 137; - if (has_crop_param()) { + // optional .caffe.EmbedParameter embed_param = 137; + if (has_embed_param()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 137, *this->crop_param_, output); + 137, *this->embed_param_, output); } - // optional .caffe.PermuteParameter permute_param = 138; - if (has_permute_param()) { + // optional .caffe.TileParameter tile_param = 138; + if (has_tile_param()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 138, *this->permute_param_, output); + 138, *this->tile_param_, output); } - // optional .caffe.NormalizeBBoxParameter normalize_bbox_param = 139; - if (has_normalize_bbox_param()) { + // optional .caffe.BatchNormParameter batch_norm_param = 139; + if (has_batch_norm_param()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 139, *this->normalize_bbox_param_, output); + 139, *this->batch_norm_param_, output); } - // optional .caffe.PriorBoxParameter prior_box_param = 140; - if (has_prior_box_param()) { + // optional .caffe.ELUParameter elu_param = 140; + if (has_elu_param()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 140, *this->prior_box_param_, output); + 140, *this->elu_param_, output); } - // optional .caffe.DetectionOutputParameter detection_output_param = 141; + // optional .caffe.BiasParameter bias_param = 141; + if (has_bias_param()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 141, *this->bias_param_, output); + } + + // optional .caffe.ScaleParameter scale_param = 142; + if (has_scale_param()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 142, *this->scale_param_, output); + } + + // optional .caffe.InputParameter input_param = 143; + if (has_input_param()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 143, *this->input_param_, output); + } + + // optional .caffe.CropParameter crop_param = 144; + if (has_crop_param()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 144, *this->crop_param_, output); + } + + // optional .caffe.ParameterParameter parameter_param = 145; + if (has_parameter_param()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 145, *this->parameter_param_, output); + } + + // optional .caffe.RecurrentParameter recurrent_param = 146; + if (has_recurrent_param()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 146, *this->recurrent_param_, output); + } + + // optional .caffe.DetectionOutputParameter detection_output_param = 147; if (has_detection_output_param()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 141, *this->detection_output_param_, output); + 147, *this->detection_output_param_, output); + } + + // optional .caffe.PermuteParameter permute_param = 148; + if (has_permute_param()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 148, *this->permute_param_, output); + } + + // optional .caffe.NormalizeBBoxParameter normalize_bbox_param = 149; + if (has_normalize_bbox_param()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 149, *this->normalize_bbox_param_, output); + } + + // optional .caffe.PriorBoxParameter prior_box_param = 150; + if (has_prior_box_param()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 150, *this->prior_box_param_, output); } if (_internal_metadata_.have_unknown_fields()) { @@ -15733,39 +16442,102 @@ void LayerParameter::SerializeWithCachedSizes( 136, *this->reduction_param_, false, target); } - // optional .caffe.CropParameter crop_param = 137; - if (has_crop_param()) { + // optional .caffe.EmbedParameter embed_param = 137; + if (has_embed_param()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageNoVirtualToArray( - 137, *this->crop_param_, false, target); + 137, *this->embed_param_, false, target); } - // optional .caffe.PermuteParameter permute_param = 138; - if (has_permute_param()) { + // optional .caffe.TileParameter tile_param = 138; + if (has_tile_param()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageNoVirtualToArray( - 138, *this->permute_param_, false, target); + 138, *this->tile_param_, false, target); } - // optional .caffe.NormalizeBBoxParameter normalize_bbox_param = 139; - if (has_normalize_bbox_param()) { + // optional .caffe.BatchNormParameter batch_norm_param = 139; + if (has_batch_norm_param()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageNoVirtualToArray( - 139, *this->normalize_bbox_param_, false, target); + 139, *this->batch_norm_param_, false, target); } - // optional .caffe.PriorBoxParameter prior_box_param = 140; - if (has_prior_box_param()) { + // optional .caffe.ELUParameter elu_param = 140; + if (has_elu_param()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageNoVirtualToArray( + 140, *this->elu_param_, false, target); + } + + // optional .caffe.BiasParameter bias_param = 141; + if (has_bias_param()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageNoVirtualToArray( - 140, *this->prior_box_param_, false, target); + 141, *this->bias_param_, false, target); } - // optional .caffe.DetectionOutputParameter detection_output_param = 141; + // optional .caffe.ScaleParameter scale_param = 142; + if (has_scale_param()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageNoVirtualToArray( + 142, *this->scale_param_, false, target); + } + + // optional .caffe.InputParameter input_param = 143; + if (has_input_param()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageNoVirtualToArray( + 143, *this->input_param_, false, target); + } + + // optional .caffe.CropParameter crop_param = 144; + if (has_crop_param()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageNoVirtualToArray( + 144, *this->crop_param_, false, target); + } + + // optional .caffe.ParameterParameter parameter_param = 145; + if (has_parameter_param()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageNoVirtualToArray( + 145, *this->parameter_param_, false, target); + } + + // optional .caffe.RecurrentParameter recurrent_param = 146; + if (has_recurrent_param()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageNoVirtualToArray( + 146, *this->recurrent_param_, false, target); + } + + // optional .caffe.DetectionOutputParameter detection_output_param = 147; if (has_detection_output_param()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageNoVirtualToArray( - 141, *this->detection_output_param_, false, target); + 147, *this->detection_output_param_, false, target); + } + + // optional .caffe.PermuteParameter permute_param = 148; + if (has_permute_param()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageNoVirtualToArray( + 148, *this->permute_param_, false, target); + } + + // optional .caffe.NormalizeBBoxParameter normalize_bbox_param = 149; + if (has_normalize_bbox_param()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageNoVirtualToArray( + 149, *this->normalize_bbox_param_, false, target); + } + + // optional .caffe.PriorBoxParameter prior_box_param = 150; + if (has_prior_box_param()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageNoVirtualToArray( + 150, *this->prior_box_param_, false, target); } if (_internal_metadata_.have_unknown_fields()) { @@ -15831,6 +16603,22 @@ size_t LayerParameter::ByteSizeLong() const { *this->argmax_param_); } + // optional .caffe.BatchNormParameter batch_norm_param = 139; + if (has_batch_norm_param()) { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + *this->batch_norm_param_); + } + + } + if (_has_bits_[16 / 32] & 16711680u) { + // optional .caffe.BiasParameter bias_param = 141; + if (has_bias_param()) { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + *this->bias_param_); + } + // optional .caffe.ConcatParameter concat_param = 104; if (has_concat_param()) { total_size += 2 + @@ -15838,8 +16626,6 @@ size_t LayerParameter::ByteSizeLong() const { *this->concat_param_); } - } - if (_has_bits_[16 / 32] & 16711680u) { // optional .caffe.ContrastiveLossParameter contrastive_loss_param = 105; if (has_contrastive_loss_param()) { total_size += 2 + @@ -15854,7 +16640,7 @@ size_t LayerParameter::ByteSizeLong() const { *this->convolution_param_); } - // optional .caffe.CropParameter crop_param = 137; + // optional .caffe.CropParameter crop_param = 144; if (has_crop_param()) { total_size += 2 + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( @@ -15868,7 +16654,7 @@ size_t LayerParameter::ByteSizeLong() const { *this->data_param_); } - // optional .caffe.DetectionOutputParameter detection_output_param = 141; + // optional .caffe.DetectionOutputParameter detection_output_param = 147; if (has_detection_output_param()) { total_size += 2 + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( @@ -15882,6 +16668,8 @@ size_t LayerParameter::ByteSizeLong() const { *this->dropout_param_); } + } + if (_has_bits_[24 / 32] & 4278190080u) { // optional .caffe.DummyDataParameter dummy_data_param = 109; if (has_dummy_data_param()) { total_size += 2 + @@ -15896,8 +16684,20 @@ size_t LayerParameter::ByteSizeLong() const { *this->eltwise_param_); } - } - if (_has_bits_[24 / 32] & 4278190080u) { + // optional .caffe.ELUParameter elu_param = 140; + if (has_elu_param()) { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + *this->elu_param_); + } + + // optional .caffe.EmbedParameter embed_param = 137; + if (has_embed_param()) { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + *this->embed_param_); + } + // optional .caffe.ExpParameter exp_param = 111; if (has_exp_param()) { total_size += 2 + @@ -15926,6 +16726,8 @@ size_t LayerParameter::ByteSizeLong() const { *this->hdf5_output_param_); } + } + if (_has_bits_[32 / 32] & 255u) { // optional .caffe.HingeLossParameter hinge_loss_param = 114; if (has_hinge_loss_param()) { total_size += 2 + @@ -15954,8 +16756,13 @@ size_t LayerParameter::ByteSizeLong() const { *this->inner_product_param_); } - } - if (_has_bits_[32 / 32] & 255u) { + // optional .caffe.InputParameter input_param = 143; + if (has_input_param()) { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + *this->input_param_); + } + // optional .caffe.LogParameter log_param = 134; if (has_log_param()) { total_size += 2 + @@ -15977,6 +16784,8 @@ size_t LayerParameter::ByteSizeLong() const { *this->memory_data_param_); } + } + if (_has_bits_[40 / 32] & 65280u) { // optional .caffe.MVNParameter mvn_param = 120; if (has_mvn_param()) { total_size += 2 + @@ -15984,20 +16793,27 @@ size_t LayerParameter::ByteSizeLong() const { *this->mvn_param_); } - // optional .caffe.NormalizeBBoxParameter normalize_bbox_param = 139; + // optional .caffe.NormalizeBBoxParameter normalize_bbox_param = 149; if (has_normalize_bbox_param()) { total_size += 2 + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( *this->normalize_bbox_param_); } - // optional .caffe.PermuteParameter permute_param = 138; + // optional .caffe.PermuteParameter permute_param = 148; if (has_permute_param()) { total_size += 2 + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( *this->permute_param_); } + // optional .caffe.ParameterParameter parameter_param = 145; + if (has_parameter_param()) { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + *this->parameter_param_); + } + // optional .caffe.PoolingParameter pooling_param = 121; if (has_pooling_param()) { total_size += 2 + @@ -16012,8 +16828,6 @@ size_t LayerParameter::ByteSizeLong() const { *this->power_param_); } - } - if (_has_bits_[40 / 32] & 65280u) { // optional .caffe.PReLUParameter prelu_param = 131; if (has_prelu_param()) { total_size += 2 + @@ -16021,13 +16835,15 @@ size_t LayerParameter::ByteSizeLong() const { *this->prelu_param_); } - // optional .caffe.PriorBoxParameter prior_box_param = 140; + // optional .caffe.PriorBoxParameter prior_box_param = 150; if (has_prior_box_param()) { total_size += 2 + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( *this->prior_box_param_); } + } + if (_has_bits_[48 / 32] & 16711680u) { // optional .caffe.PythonParameter python_param = 130; if (has_python_param()) { total_size += 2 + @@ -16035,6 +16851,13 @@ size_t LayerParameter::ByteSizeLong() const { *this->python_param_); } + // optional .caffe.RecurrentParameter recurrent_param = 146; + if (has_recurrent_param()) { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + *this->recurrent_param_); + } + // optional .caffe.ReductionParameter reduction_param = 136; if (has_reduction_param()) { total_size += 2 + @@ -16056,22 +16879,20 @@ size_t LayerParameter::ByteSizeLong() const { *this->reshape_param_); } - // optional .caffe.SigmoidParameter sigmoid_param = 124; - if (has_sigmoid_param()) { + // optional .caffe.ScaleParameter scale_param = 142; + if (has_scale_param()) { total_size += 2 + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( - *this->sigmoid_param_); + *this->scale_param_); } - // optional .caffe.SliceParameter slice_param = 126; - if (has_slice_param()) { + // optional .caffe.SigmoidParameter sigmoid_param = 124; + if (has_sigmoid_param()) { total_size += 2 + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( - *this->slice_param_); + *this->sigmoid_param_); } - } - if (_has_bits_[48 / 32] & 2031616u) { // optional .caffe.SoftmaxParameter softmax_param = 125; if (has_softmax_param()) { total_size += 2 + @@ -16079,6 +16900,8 @@ size_t LayerParameter::ByteSizeLong() const { *this->softmax_param_); } + } + if (_has_bits_[56 / 32] & 1056964608u) { // optional .caffe.SPPParameter spp_param = 132; if (has_spp_param()) { total_size += 2 + @@ -16086,6 +16909,13 @@ size_t LayerParameter::ByteSizeLong() const { *this->spp_param_); } + // optional .caffe.SliceParameter slice_param = 126; + if (has_slice_param()) { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + *this->slice_param_); + } + // optional .caffe.TanHParameter tanh_param = 127; if (has_tanh_param()) { total_size += 2 + @@ -16100,6 +16930,13 @@ size_t LayerParameter::ByteSizeLong() const { *this->threshold_param_); } + // optional .caffe.TileParameter tile_param = 138; + if (has_tile_param()) { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + *this->tile_param_); + } + // optional .caffe.WindowDataParameter window_data_param = 129; if (has_window_data_param()) { total_size += 2 + @@ -16260,11 +17097,17 @@ void LayerParameter::UnsafeMergeFrom(const LayerParameter& from) { if (from.has_argmax_param()) { mutable_argmax_param()->::caffe::ArgMaxParameter::MergeFrom(from.argmax_param()); } - if (from.has_concat_param()) { - mutable_concat_param()->::caffe::ConcatParameter::MergeFrom(from.concat_param()); + if (from.has_batch_norm_param()) { + mutable_batch_norm_param()->::caffe::BatchNormParameter::MergeFrom(from.batch_norm_param()); } } if (from._has_bits_[16 / 32] & (0xffu << (16 % 32))) { + if (from.has_bias_param()) { + mutable_bias_param()->::caffe::BiasParameter::MergeFrom(from.bias_param()); + } + if (from.has_concat_param()) { + mutable_concat_param()->::caffe::ConcatParameter::MergeFrom(from.concat_param()); + } if (from.has_contrastive_loss_param()) { mutable_contrastive_loss_param()->::caffe::ContrastiveLossParameter::MergeFrom(from.contrastive_loss_param()); } @@ -16283,14 +17126,20 @@ void LayerParameter::UnsafeMergeFrom(const LayerParameter& from) { if (from.has_dropout_param()) { mutable_dropout_param()->::caffe::DropoutParameter::MergeFrom(from.dropout_param()); } + } + if (from._has_bits_[24 / 32] & (0xffu << (24 % 32))) { if (from.has_dummy_data_param()) { mutable_dummy_data_param()->::caffe::DummyDataParameter::MergeFrom(from.dummy_data_param()); } if (from.has_eltwise_param()) { mutable_eltwise_param()->::caffe::EltwiseParameter::MergeFrom(from.eltwise_param()); } - } - if (from._has_bits_[24 / 32] & (0xffu << (24 % 32))) { + if (from.has_elu_param()) { + mutable_elu_param()->::caffe::ELUParameter::MergeFrom(from.elu_param()); + } + if (from.has_embed_param()) { + mutable_embed_param()->::caffe::EmbedParameter::MergeFrom(from.embed_param()); + } if (from.has_exp_param()) { mutable_exp_param()->::caffe::ExpParameter::MergeFrom(from.exp_param()); } @@ -16303,6 +17152,8 @@ void LayerParameter::UnsafeMergeFrom(const LayerParameter& from) { if (from.has_hdf5_output_param()) { mutable_hdf5_output_param()->::caffe::HDF5OutputParameter::MergeFrom(from.hdf5_output_param()); } + } + if (from._has_bits_[32 / 32] & (0xffu << (32 % 32))) { if (from.has_hinge_loss_param()) { mutable_hinge_loss_param()->::caffe::HingeLossParameter::MergeFrom(from.hinge_loss_param()); } @@ -16315,8 +17166,9 @@ void LayerParameter::UnsafeMergeFrom(const LayerParameter& from) { if (from.has_inner_product_param()) { mutable_inner_product_param()->::caffe::InnerProductParameter::MergeFrom(from.inner_product_param()); } - } - if (from._has_bits_[32 / 32] & (0xffu << (32 % 32))) { + if (from.has_input_param()) { + mutable_input_param()->::caffe::InputParameter::MergeFrom(from.input_param()); + } if (from.has_log_param()) { mutable_log_param()->::caffe::LogParameter::MergeFrom(from.log_param()); } @@ -16326,6 +17178,8 @@ void LayerParameter::UnsafeMergeFrom(const LayerParameter& from) { if (from.has_memory_data_param()) { mutable_memory_data_param()->::caffe::MemoryDataParameter::MergeFrom(from.memory_data_param()); } + } + if (from._has_bits_[40 / 32] & (0xffu << (40 % 32))) { if (from.has_mvn_param()) { mutable_mvn_param()->::caffe::MVNParameter::MergeFrom(from.mvn_param()); } @@ -16335,23 +17189,29 @@ void LayerParameter::UnsafeMergeFrom(const LayerParameter& from) { if (from.has_permute_param()) { mutable_permute_param()->::caffe::PermuteParameter::MergeFrom(from.permute_param()); } + if (from.has_parameter_param()) { + mutable_parameter_param()->::caffe::ParameterParameter::MergeFrom(from.parameter_param()); + } if (from.has_pooling_param()) { mutable_pooling_param()->::caffe::PoolingParameter::MergeFrom(from.pooling_param()); } if (from.has_power_param()) { mutable_power_param()->::caffe::PowerParameter::MergeFrom(from.power_param()); } - } - if (from._has_bits_[40 / 32] & (0xffu << (40 % 32))) { if (from.has_prelu_param()) { mutable_prelu_param()->::caffe::PReLUParameter::MergeFrom(from.prelu_param()); } if (from.has_prior_box_param()) { mutable_prior_box_param()->::caffe::PriorBoxParameter::MergeFrom(from.prior_box_param()); } + } + if (from._has_bits_[48 / 32] & (0xffu << (48 % 32))) { if (from.has_python_param()) { mutable_python_param()->::caffe::PythonParameter::MergeFrom(from.python_param()); } + if (from.has_recurrent_param()) { + mutable_recurrent_param()->::caffe::RecurrentParameter::MergeFrom(from.recurrent_param()); + } if (from.has_reduction_param()) { mutable_reduction_param()->::caffe::ReductionParameter::MergeFrom(from.reduction_param()); } @@ -16361,26 +17221,32 @@ void LayerParameter::UnsafeMergeFrom(const LayerParameter& from) { if (from.has_reshape_param()) { mutable_reshape_param()->::caffe::ReshapeParameter::MergeFrom(from.reshape_param()); } + if (from.has_scale_param()) { + mutable_scale_param()->::caffe::ScaleParameter::MergeFrom(from.scale_param()); + } if (from.has_sigmoid_param()) { mutable_sigmoid_param()->::caffe::SigmoidParameter::MergeFrom(from.sigmoid_param()); } - if (from.has_slice_param()) { - mutable_slice_param()->::caffe::SliceParameter::MergeFrom(from.slice_param()); - } - } - if (from._has_bits_[48 / 32] & (0xffu << (48 % 32))) { if (from.has_softmax_param()) { mutable_softmax_param()->::caffe::SoftmaxParameter::MergeFrom(from.softmax_param()); } + } + if (from._has_bits_[56 / 32] & (0xffu << (56 % 32))) { if (from.has_spp_param()) { mutable_spp_param()->::caffe::SPPParameter::MergeFrom(from.spp_param()); } + if (from.has_slice_param()) { + mutable_slice_param()->::caffe::SliceParameter::MergeFrom(from.slice_param()); + } if (from.has_tanh_param()) { mutable_tanh_param()->::caffe::TanHParameter::MergeFrom(from.tanh_param()); } if (from.has_threshold_param()) { mutable_threshold_param()->::caffe::ThresholdParameter::MergeFrom(from.threshold_param()); } + if (from.has_tile_param()) { + mutable_tile_param()->::caffe::TileParameter::MergeFrom(from.tile_param()); + } if (from.has_window_data_param()) { mutable_window_data_param()->::caffe::WindowDataParameter::MergeFrom(from.window_data_param()); } @@ -16430,6 +17296,8 @@ void LayerParameter::InternalSwap(LayerParameter* other) { std::swap(loss_param_, other->loss_param_); std::swap(accuracy_param_, other->accuracy_param_); std::swap(argmax_param_, other->argmax_param_); + std::swap(batch_norm_param_, other->batch_norm_param_); + std::swap(bias_param_, other->bias_param_); std::swap(concat_param_, other->concat_param_); std::swap(contrastive_loss_param_, other->contrastive_loss_param_); std::swap(convolution_param_, other->convolution_param_); @@ -16439,6 +17307,8 @@ void LayerParameter::InternalSwap(LayerParameter* other) { std::swap(dropout_param_, other->dropout_param_); std::swap(dummy_data_param_, other->dummy_data_param_); std::swap(eltwise_param_, other->eltwise_param_); + std::swap(elu_param_, other->elu_param_); + std::swap(embed_param_, other->embed_param_); std::swap(exp_param_, other->exp_param_); std::swap(flatten_param_, other->flatten_param_); std::swap(hdf5_data_param_, other->hdf5_data_param_); @@ -16447,26 +17317,31 @@ void LayerParameter::InternalSwap(LayerParameter* other) { std::swap(image_data_param_, other->image_data_param_); std::swap(infogain_loss_param_, other->infogain_loss_param_); std::swap(inner_product_param_, other->inner_product_param_); + std::swap(input_param_, other->input_param_); std::swap(log_param_, other->log_param_); std::swap(lrn_param_, other->lrn_param_); std::swap(memory_data_param_, other->memory_data_param_); std::swap(mvn_param_, other->mvn_param_); std::swap(normalize_bbox_param_, other->normalize_bbox_param_); std::swap(permute_param_, other->permute_param_); + std::swap(parameter_param_, other->parameter_param_); std::swap(pooling_param_, other->pooling_param_); std::swap(power_param_, other->power_param_); std::swap(prelu_param_, other->prelu_param_); std::swap(prior_box_param_, other->prior_box_param_); std::swap(python_param_, other->python_param_); + std::swap(recurrent_param_, other->recurrent_param_); std::swap(reduction_param_, other->reduction_param_); std::swap(relu_param_, other->relu_param_); std::swap(reshape_param_, other->reshape_param_); + std::swap(scale_param_, other->scale_param_); std::swap(sigmoid_param_, other->sigmoid_param_); - std::swap(slice_param_, other->slice_param_); std::swap(softmax_param_, other->softmax_param_); std::swap(spp_param_, other->spp_param_); + std::swap(slice_param_, other->slice_param_); std::swap(tanh_param_, other->tanh_param_); std::swap(threshold_param_, other->threshold_param_); + std::swap(tile_param_, other->tile_param_); std::swap(window_data_param_, other->window_data_param_); std::swap(_has_bits_[0], other->_has_bits_[0]); std::swap(_has_bits_[1], other->_has_bits_[1]); @@ -17088,15 +17963,105 @@ void LayerParameter::set_allocated_argmax_param(::caffe::ArgMaxParameter* argmax // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.argmax_param) } +// optional .caffe.BatchNormParameter batch_norm_param = 139; +bool LayerParameter::has_batch_norm_param() const { + return (_has_bits_[0] & 0x00008000u) != 0; +} +void LayerParameter::set_has_batch_norm_param() { + _has_bits_[0] |= 0x00008000u; +} +void LayerParameter::clear_has_batch_norm_param() { + _has_bits_[0] &= ~0x00008000u; +} +void LayerParameter::clear_batch_norm_param() { + if (batch_norm_param_ != NULL) batch_norm_param_->::caffe::BatchNormParameter::Clear(); + clear_has_batch_norm_param(); +} +const ::caffe::BatchNormParameter& LayerParameter::batch_norm_param() const { + // @@protoc_insertion_point(field_get:caffe.LayerParameter.batch_norm_param) + return batch_norm_param_ != NULL ? *batch_norm_param_ + : *::caffe::BatchNormParameter::internal_default_instance(); +} +::caffe::BatchNormParameter* LayerParameter::mutable_batch_norm_param() { + set_has_batch_norm_param(); + if (batch_norm_param_ == NULL) { + batch_norm_param_ = new ::caffe::BatchNormParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.LayerParameter.batch_norm_param) + return batch_norm_param_; +} +::caffe::BatchNormParameter* LayerParameter::release_batch_norm_param() { + // @@protoc_insertion_point(field_release:caffe.LayerParameter.batch_norm_param) + clear_has_batch_norm_param(); + ::caffe::BatchNormParameter* temp = batch_norm_param_; + batch_norm_param_ = NULL; + return temp; +} +void LayerParameter::set_allocated_batch_norm_param(::caffe::BatchNormParameter* batch_norm_param) { + delete batch_norm_param_; + batch_norm_param_ = batch_norm_param; + if (batch_norm_param) { + set_has_batch_norm_param(); + } else { + clear_has_batch_norm_param(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.batch_norm_param) +} + +// optional .caffe.BiasParameter bias_param = 141; +bool LayerParameter::has_bias_param() const { + return (_has_bits_[0] & 0x00010000u) != 0; +} +void LayerParameter::set_has_bias_param() { + _has_bits_[0] |= 0x00010000u; +} +void LayerParameter::clear_has_bias_param() { + _has_bits_[0] &= ~0x00010000u; +} +void LayerParameter::clear_bias_param() { + if (bias_param_ != NULL) bias_param_->::caffe::BiasParameter::Clear(); + clear_has_bias_param(); +} +const ::caffe::BiasParameter& LayerParameter::bias_param() const { + // @@protoc_insertion_point(field_get:caffe.LayerParameter.bias_param) + return bias_param_ != NULL ? *bias_param_ + : *::caffe::BiasParameter::internal_default_instance(); +} +::caffe::BiasParameter* LayerParameter::mutable_bias_param() { + set_has_bias_param(); + if (bias_param_ == NULL) { + bias_param_ = new ::caffe::BiasParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.LayerParameter.bias_param) + return bias_param_; +} +::caffe::BiasParameter* LayerParameter::release_bias_param() { + // @@protoc_insertion_point(field_release:caffe.LayerParameter.bias_param) + clear_has_bias_param(); + ::caffe::BiasParameter* temp = bias_param_; + bias_param_ = NULL; + return temp; +} +void LayerParameter::set_allocated_bias_param(::caffe::BiasParameter* bias_param) { + delete bias_param_; + bias_param_ = bias_param; + if (bias_param) { + set_has_bias_param(); + } else { + clear_has_bias_param(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.bias_param) +} + // optional .caffe.ConcatParameter concat_param = 104; bool LayerParameter::has_concat_param() const { - return (_has_bits_[0] & 0x00008000u) != 0; + return (_has_bits_[0] & 0x00020000u) != 0; } void LayerParameter::set_has_concat_param() { - _has_bits_[0] |= 0x00008000u; + _has_bits_[0] |= 0x00020000u; } void LayerParameter::clear_has_concat_param() { - _has_bits_[0] &= ~0x00008000u; + _has_bits_[0] &= ~0x00020000u; } void LayerParameter::clear_concat_param() { if (concat_param_ != NULL) concat_param_->::caffe::ConcatParameter::Clear(); @@ -17135,13 +18100,13 @@ void LayerParameter::set_allocated_concat_param(::caffe::ConcatParameter* concat // optional .caffe.ContrastiveLossParameter contrastive_loss_param = 105; bool LayerParameter::has_contrastive_loss_param() const { - return (_has_bits_[0] & 0x00010000u) != 0; + return (_has_bits_[0] & 0x00040000u) != 0; } void LayerParameter::set_has_contrastive_loss_param() { - _has_bits_[0] |= 0x00010000u; + _has_bits_[0] |= 0x00040000u; } void LayerParameter::clear_has_contrastive_loss_param() { - _has_bits_[0] &= ~0x00010000u; + _has_bits_[0] &= ~0x00040000u; } void LayerParameter::clear_contrastive_loss_param() { if (contrastive_loss_param_ != NULL) contrastive_loss_param_->::caffe::ContrastiveLossParameter::Clear(); @@ -17180,13 +18145,13 @@ void LayerParameter::set_allocated_contrastive_loss_param(::caffe::ContrastiveLo // optional .caffe.ConvolutionParameter convolution_param = 106; bool LayerParameter::has_convolution_param() const { - return (_has_bits_[0] & 0x00020000u) != 0; + return (_has_bits_[0] & 0x00080000u) != 0; } void LayerParameter::set_has_convolution_param() { - _has_bits_[0] |= 0x00020000u; + _has_bits_[0] |= 0x00080000u; } void LayerParameter::clear_has_convolution_param() { - _has_bits_[0] &= ~0x00020000u; + _has_bits_[0] &= ~0x00080000u; } void LayerParameter::clear_convolution_param() { if (convolution_param_ != NULL) convolution_param_->::caffe::ConvolutionParameter::Clear(); @@ -17223,15 +18188,15 @@ void LayerParameter::set_allocated_convolution_param(::caffe::ConvolutionParamet // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.convolution_param) } -// optional .caffe.CropParameter crop_param = 137; +// optional .caffe.CropParameter crop_param = 144; bool LayerParameter::has_crop_param() const { - return (_has_bits_[0] & 0x00040000u) != 0; + return (_has_bits_[0] & 0x00100000u) != 0; } void LayerParameter::set_has_crop_param() { - _has_bits_[0] |= 0x00040000u; + _has_bits_[0] |= 0x00100000u; } void LayerParameter::clear_has_crop_param() { - _has_bits_[0] &= ~0x00040000u; + _has_bits_[0] &= ~0x00100000u; } void LayerParameter::clear_crop_param() { if (crop_param_ != NULL) crop_param_->::caffe::CropParameter::Clear(); @@ -17270,13 +18235,13 @@ void LayerParameter::set_allocated_crop_param(::caffe::CropParameter* crop_param // optional .caffe.DataParameter data_param = 107; bool LayerParameter::has_data_param() const { - return (_has_bits_[0] & 0x00080000u) != 0; + return (_has_bits_[0] & 0x00200000u) != 0; } void LayerParameter::set_has_data_param() { - _has_bits_[0] |= 0x00080000u; + _has_bits_[0] |= 0x00200000u; } void LayerParameter::clear_has_data_param() { - _has_bits_[0] &= ~0x00080000u; + _has_bits_[0] &= ~0x00200000u; } void LayerParameter::clear_data_param() { if (data_param_ != NULL) data_param_->::caffe::DataParameter::Clear(); @@ -17313,15 +18278,15 @@ void LayerParameter::set_allocated_data_param(::caffe::DataParameter* data_param // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.data_param) } -// optional .caffe.DetectionOutputParameter detection_output_param = 141; +// optional .caffe.DetectionOutputParameter detection_output_param = 147; bool LayerParameter::has_detection_output_param() const { - return (_has_bits_[0] & 0x00100000u) != 0; + return (_has_bits_[0] & 0x00400000u) != 0; } void LayerParameter::set_has_detection_output_param() { - _has_bits_[0] |= 0x00100000u; + _has_bits_[0] |= 0x00400000u; } void LayerParameter::clear_has_detection_output_param() { - _has_bits_[0] &= ~0x00100000u; + _has_bits_[0] &= ~0x00400000u; } void LayerParameter::clear_detection_output_param() { if (detection_output_param_ != NULL) detection_output_param_->::caffe::DetectionOutputParameter::Clear(); @@ -17360,13 +18325,13 @@ void LayerParameter::set_allocated_detection_output_param(::caffe::DetectionOutp // optional .caffe.DropoutParameter dropout_param = 108; bool LayerParameter::has_dropout_param() const { - return (_has_bits_[0] & 0x00200000u) != 0; + return (_has_bits_[0] & 0x00800000u) != 0; } void LayerParameter::set_has_dropout_param() { - _has_bits_[0] |= 0x00200000u; + _has_bits_[0] |= 0x00800000u; } void LayerParameter::clear_has_dropout_param() { - _has_bits_[0] &= ~0x00200000u; + _has_bits_[0] &= ~0x00800000u; } void LayerParameter::clear_dropout_param() { if (dropout_param_ != NULL) dropout_param_->::caffe::DropoutParameter::Clear(); @@ -17405,13 +18370,13 @@ void LayerParameter::set_allocated_dropout_param(::caffe::DropoutParameter* drop // optional .caffe.DummyDataParameter dummy_data_param = 109; bool LayerParameter::has_dummy_data_param() const { - return (_has_bits_[0] & 0x00400000u) != 0; + return (_has_bits_[0] & 0x01000000u) != 0; } void LayerParameter::set_has_dummy_data_param() { - _has_bits_[0] |= 0x00400000u; + _has_bits_[0] |= 0x01000000u; } void LayerParameter::clear_has_dummy_data_param() { - _has_bits_[0] &= ~0x00400000u; + _has_bits_[0] &= ~0x01000000u; } void LayerParameter::clear_dummy_data_param() { if (dummy_data_param_ != NULL) dummy_data_param_->::caffe::DummyDataParameter::Clear(); @@ -17450,13 +18415,13 @@ void LayerParameter::set_allocated_dummy_data_param(::caffe::DummyDataParameter* // optional .caffe.EltwiseParameter eltwise_param = 110; bool LayerParameter::has_eltwise_param() const { - return (_has_bits_[0] & 0x00800000u) != 0; + return (_has_bits_[0] & 0x02000000u) != 0; } void LayerParameter::set_has_eltwise_param() { - _has_bits_[0] |= 0x00800000u; + _has_bits_[0] |= 0x02000000u; } void LayerParameter::clear_has_eltwise_param() { - _has_bits_[0] &= ~0x00800000u; + _has_bits_[0] &= ~0x02000000u; } void LayerParameter::clear_eltwise_param() { if (eltwise_param_ != NULL) eltwise_param_->::caffe::EltwiseParameter::Clear(); @@ -17493,15 +18458,105 @@ void LayerParameter::set_allocated_eltwise_param(::caffe::EltwiseParameter* eltw // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.eltwise_param) } +// optional .caffe.ELUParameter elu_param = 140; +bool LayerParameter::has_elu_param() const { + return (_has_bits_[0] & 0x04000000u) != 0; +} +void LayerParameter::set_has_elu_param() { + _has_bits_[0] |= 0x04000000u; +} +void LayerParameter::clear_has_elu_param() { + _has_bits_[0] &= ~0x04000000u; +} +void LayerParameter::clear_elu_param() { + if (elu_param_ != NULL) elu_param_->::caffe::ELUParameter::Clear(); + clear_has_elu_param(); +} +const ::caffe::ELUParameter& LayerParameter::elu_param() const { + // @@protoc_insertion_point(field_get:caffe.LayerParameter.elu_param) + return elu_param_ != NULL ? *elu_param_ + : *::caffe::ELUParameter::internal_default_instance(); +} +::caffe::ELUParameter* LayerParameter::mutable_elu_param() { + set_has_elu_param(); + if (elu_param_ == NULL) { + elu_param_ = new ::caffe::ELUParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.LayerParameter.elu_param) + return elu_param_; +} +::caffe::ELUParameter* LayerParameter::release_elu_param() { + // @@protoc_insertion_point(field_release:caffe.LayerParameter.elu_param) + clear_has_elu_param(); + ::caffe::ELUParameter* temp = elu_param_; + elu_param_ = NULL; + return temp; +} +void LayerParameter::set_allocated_elu_param(::caffe::ELUParameter* elu_param) { + delete elu_param_; + elu_param_ = elu_param; + if (elu_param) { + set_has_elu_param(); + } else { + clear_has_elu_param(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.elu_param) +} + +// optional .caffe.EmbedParameter embed_param = 137; +bool LayerParameter::has_embed_param() const { + return (_has_bits_[0] & 0x08000000u) != 0; +} +void LayerParameter::set_has_embed_param() { + _has_bits_[0] |= 0x08000000u; +} +void LayerParameter::clear_has_embed_param() { + _has_bits_[0] &= ~0x08000000u; +} +void LayerParameter::clear_embed_param() { + if (embed_param_ != NULL) embed_param_->::caffe::EmbedParameter::Clear(); + clear_has_embed_param(); +} +const ::caffe::EmbedParameter& LayerParameter::embed_param() const { + // @@protoc_insertion_point(field_get:caffe.LayerParameter.embed_param) + return embed_param_ != NULL ? *embed_param_ + : *::caffe::EmbedParameter::internal_default_instance(); +} +::caffe::EmbedParameter* LayerParameter::mutable_embed_param() { + set_has_embed_param(); + if (embed_param_ == NULL) { + embed_param_ = new ::caffe::EmbedParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.LayerParameter.embed_param) + return embed_param_; +} +::caffe::EmbedParameter* LayerParameter::release_embed_param() { + // @@protoc_insertion_point(field_release:caffe.LayerParameter.embed_param) + clear_has_embed_param(); + ::caffe::EmbedParameter* temp = embed_param_; + embed_param_ = NULL; + return temp; +} +void LayerParameter::set_allocated_embed_param(::caffe::EmbedParameter* embed_param) { + delete embed_param_; + embed_param_ = embed_param; + if (embed_param) { + set_has_embed_param(); + } else { + clear_has_embed_param(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.embed_param) +} + // optional .caffe.ExpParameter exp_param = 111; bool LayerParameter::has_exp_param() const { - return (_has_bits_[0] & 0x01000000u) != 0; + return (_has_bits_[0] & 0x10000000u) != 0; } void LayerParameter::set_has_exp_param() { - _has_bits_[0] |= 0x01000000u; + _has_bits_[0] |= 0x10000000u; } void LayerParameter::clear_has_exp_param() { - _has_bits_[0] &= ~0x01000000u; + _has_bits_[0] &= ~0x10000000u; } void LayerParameter::clear_exp_param() { if (exp_param_ != NULL) exp_param_->::caffe::ExpParameter::Clear(); @@ -17540,13 +18595,13 @@ void LayerParameter::set_allocated_exp_param(::caffe::ExpParameter* exp_param) { // optional .caffe.FlattenParameter flatten_param = 135; bool LayerParameter::has_flatten_param() const { - return (_has_bits_[0] & 0x02000000u) != 0; + return (_has_bits_[0] & 0x20000000u) != 0; } void LayerParameter::set_has_flatten_param() { - _has_bits_[0] |= 0x02000000u; + _has_bits_[0] |= 0x20000000u; } void LayerParameter::clear_has_flatten_param() { - _has_bits_[0] &= ~0x02000000u; + _has_bits_[0] &= ~0x20000000u; } void LayerParameter::clear_flatten_param() { if (flatten_param_ != NULL) flatten_param_->::caffe::FlattenParameter::Clear(); @@ -17585,13 +18640,13 @@ void LayerParameter::set_allocated_flatten_param(::caffe::FlattenParameter* flat // optional .caffe.HDF5DataParameter hdf5_data_param = 112; bool LayerParameter::has_hdf5_data_param() const { - return (_has_bits_[0] & 0x04000000u) != 0; + return (_has_bits_[0] & 0x40000000u) != 0; } void LayerParameter::set_has_hdf5_data_param() { - _has_bits_[0] |= 0x04000000u; + _has_bits_[0] |= 0x40000000u; } void LayerParameter::clear_has_hdf5_data_param() { - _has_bits_[0] &= ~0x04000000u; + _has_bits_[0] &= ~0x40000000u; } void LayerParameter::clear_hdf5_data_param() { if (hdf5_data_param_ != NULL) hdf5_data_param_->::caffe::HDF5DataParameter::Clear(); @@ -17630,13 +18685,13 @@ void LayerParameter::set_allocated_hdf5_data_param(::caffe::HDF5DataParameter* h // optional .caffe.HDF5OutputParameter hdf5_output_param = 113; bool LayerParameter::has_hdf5_output_param() const { - return (_has_bits_[0] & 0x08000000u) != 0; + return (_has_bits_[0] & 0x80000000u) != 0; } void LayerParameter::set_has_hdf5_output_param() { - _has_bits_[0] |= 0x08000000u; + _has_bits_[0] |= 0x80000000u; } void LayerParameter::clear_has_hdf5_output_param() { - _has_bits_[0] &= ~0x08000000u; + _has_bits_[0] &= ~0x80000000u; } void LayerParameter::clear_hdf5_output_param() { if (hdf5_output_param_ != NULL) hdf5_output_param_->::caffe::HDF5OutputParameter::Clear(); @@ -17675,13 +18730,13 @@ void LayerParameter::set_allocated_hdf5_output_param(::caffe::HDF5OutputParamete // optional .caffe.HingeLossParameter hinge_loss_param = 114; bool LayerParameter::has_hinge_loss_param() const { - return (_has_bits_[0] & 0x10000000u) != 0; + return (_has_bits_[1] & 0x00000001u) != 0; } void LayerParameter::set_has_hinge_loss_param() { - _has_bits_[0] |= 0x10000000u; + _has_bits_[1] |= 0x00000001u; } void LayerParameter::clear_has_hinge_loss_param() { - _has_bits_[0] &= ~0x10000000u; + _has_bits_[1] &= ~0x00000001u; } void LayerParameter::clear_hinge_loss_param() { if (hinge_loss_param_ != NULL) hinge_loss_param_->::caffe::HingeLossParameter::Clear(); @@ -17720,13 +18775,13 @@ void LayerParameter::set_allocated_hinge_loss_param(::caffe::HingeLossParameter* // optional .caffe.ImageDataParameter image_data_param = 115; bool LayerParameter::has_image_data_param() const { - return (_has_bits_[0] & 0x20000000u) != 0; + return (_has_bits_[1] & 0x00000002u) != 0; } void LayerParameter::set_has_image_data_param() { - _has_bits_[0] |= 0x20000000u; + _has_bits_[1] |= 0x00000002u; } void LayerParameter::clear_has_image_data_param() { - _has_bits_[0] &= ~0x20000000u; + _has_bits_[1] &= ~0x00000002u; } void LayerParameter::clear_image_data_param() { if (image_data_param_ != NULL) image_data_param_->::caffe::ImageDataParameter::Clear(); @@ -17765,13 +18820,13 @@ void LayerParameter::set_allocated_image_data_param(::caffe::ImageDataParameter* // optional .caffe.InfogainLossParameter infogain_loss_param = 116; bool LayerParameter::has_infogain_loss_param() const { - return (_has_bits_[0] & 0x40000000u) != 0; + return (_has_bits_[1] & 0x00000004u) != 0; } void LayerParameter::set_has_infogain_loss_param() { - _has_bits_[0] |= 0x40000000u; + _has_bits_[1] |= 0x00000004u; } void LayerParameter::clear_has_infogain_loss_param() { - _has_bits_[0] &= ~0x40000000u; + _has_bits_[1] &= ~0x00000004u; } void LayerParameter::clear_infogain_loss_param() { if (infogain_loss_param_ != NULL) infogain_loss_param_->::caffe::InfogainLossParameter::Clear(); @@ -17810,13 +18865,13 @@ void LayerParameter::set_allocated_infogain_loss_param(::caffe::InfogainLossPara // optional .caffe.InnerProductParameter inner_product_param = 117; bool LayerParameter::has_inner_product_param() const { - return (_has_bits_[0] & 0x80000000u) != 0; + return (_has_bits_[1] & 0x00000008u) != 0; } void LayerParameter::set_has_inner_product_param() { - _has_bits_[0] |= 0x80000000u; + _has_bits_[1] |= 0x00000008u; } void LayerParameter::clear_has_inner_product_param() { - _has_bits_[0] &= ~0x80000000u; + _has_bits_[1] &= ~0x00000008u; } void LayerParameter::clear_inner_product_param() { if (inner_product_param_ != NULL) inner_product_param_->::caffe::InnerProductParameter::Clear(); @@ -17853,15 +18908,60 @@ void LayerParameter::set_allocated_inner_product_param(::caffe::InnerProductPara // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.inner_product_param) } +// optional .caffe.InputParameter input_param = 143; +bool LayerParameter::has_input_param() const { + return (_has_bits_[1] & 0x00000010u) != 0; +} +void LayerParameter::set_has_input_param() { + _has_bits_[1] |= 0x00000010u; +} +void LayerParameter::clear_has_input_param() { + _has_bits_[1] &= ~0x00000010u; +} +void LayerParameter::clear_input_param() { + if (input_param_ != NULL) input_param_->::caffe::InputParameter::Clear(); + clear_has_input_param(); +} +const ::caffe::InputParameter& LayerParameter::input_param() const { + // @@protoc_insertion_point(field_get:caffe.LayerParameter.input_param) + return input_param_ != NULL ? *input_param_ + : *::caffe::InputParameter::internal_default_instance(); +} +::caffe::InputParameter* LayerParameter::mutable_input_param() { + set_has_input_param(); + if (input_param_ == NULL) { + input_param_ = new ::caffe::InputParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.LayerParameter.input_param) + return input_param_; +} +::caffe::InputParameter* LayerParameter::release_input_param() { + // @@protoc_insertion_point(field_release:caffe.LayerParameter.input_param) + clear_has_input_param(); + ::caffe::InputParameter* temp = input_param_; + input_param_ = NULL; + return temp; +} +void LayerParameter::set_allocated_input_param(::caffe::InputParameter* input_param) { + delete input_param_; + input_param_ = input_param; + if (input_param) { + set_has_input_param(); + } else { + clear_has_input_param(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.input_param) +} + // optional .caffe.LogParameter log_param = 134; bool LayerParameter::has_log_param() const { - return (_has_bits_[1] & 0x00000001u) != 0; + return (_has_bits_[1] & 0x00000020u) != 0; } void LayerParameter::set_has_log_param() { - _has_bits_[1] |= 0x00000001u; + _has_bits_[1] |= 0x00000020u; } void LayerParameter::clear_has_log_param() { - _has_bits_[1] &= ~0x00000001u; + _has_bits_[1] &= ~0x00000020u; } void LayerParameter::clear_log_param() { if (log_param_ != NULL) log_param_->::caffe::LogParameter::Clear(); @@ -17900,13 +19000,13 @@ void LayerParameter::set_allocated_log_param(::caffe::LogParameter* log_param) { // optional .caffe.LRNParameter lrn_param = 118; bool LayerParameter::has_lrn_param() const { - return (_has_bits_[1] & 0x00000002u) != 0; + return (_has_bits_[1] & 0x00000040u) != 0; } void LayerParameter::set_has_lrn_param() { - _has_bits_[1] |= 0x00000002u; + _has_bits_[1] |= 0x00000040u; } void LayerParameter::clear_has_lrn_param() { - _has_bits_[1] &= ~0x00000002u; + _has_bits_[1] &= ~0x00000040u; } void LayerParameter::clear_lrn_param() { if (lrn_param_ != NULL) lrn_param_->::caffe::LRNParameter::Clear(); @@ -17945,13 +19045,13 @@ void LayerParameter::set_allocated_lrn_param(::caffe::LRNParameter* lrn_param) { // optional .caffe.MemoryDataParameter memory_data_param = 119; bool LayerParameter::has_memory_data_param() const { - return (_has_bits_[1] & 0x00000004u) != 0; + return (_has_bits_[1] & 0x00000080u) != 0; } void LayerParameter::set_has_memory_data_param() { - _has_bits_[1] |= 0x00000004u; + _has_bits_[1] |= 0x00000080u; } void LayerParameter::clear_has_memory_data_param() { - _has_bits_[1] &= ~0x00000004u; + _has_bits_[1] &= ~0x00000080u; } void LayerParameter::clear_memory_data_param() { if (memory_data_param_ != NULL) memory_data_param_->::caffe::MemoryDataParameter::Clear(); @@ -17990,13 +19090,13 @@ void LayerParameter::set_allocated_memory_data_param(::caffe::MemoryDataParamete // optional .caffe.MVNParameter mvn_param = 120; bool LayerParameter::has_mvn_param() const { - return (_has_bits_[1] & 0x00000008u) != 0; + return (_has_bits_[1] & 0x00000100u) != 0; } void LayerParameter::set_has_mvn_param() { - _has_bits_[1] |= 0x00000008u; + _has_bits_[1] |= 0x00000100u; } void LayerParameter::clear_has_mvn_param() { - _has_bits_[1] &= ~0x00000008u; + _has_bits_[1] &= ~0x00000100u; } void LayerParameter::clear_mvn_param() { if (mvn_param_ != NULL) mvn_param_->::caffe::MVNParameter::Clear(); @@ -18033,15 +19133,15 @@ void LayerParameter::set_allocated_mvn_param(::caffe::MVNParameter* mvn_param) { // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.mvn_param) } -// optional .caffe.NormalizeBBoxParameter normalize_bbox_param = 139; +// optional .caffe.NormalizeBBoxParameter normalize_bbox_param = 149; bool LayerParameter::has_normalize_bbox_param() const { - return (_has_bits_[1] & 0x00000010u) != 0; + return (_has_bits_[1] & 0x00000200u) != 0; } void LayerParameter::set_has_normalize_bbox_param() { - _has_bits_[1] |= 0x00000010u; + _has_bits_[1] |= 0x00000200u; } void LayerParameter::clear_has_normalize_bbox_param() { - _has_bits_[1] &= ~0x00000010u; + _has_bits_[1] &= ~0x00000200u; } void LayerParameter::clear_normalize_bbox_param() { if (normalize_bbox_param_ != NULL) normalize_bbox_param_->::caffe::NormalizeBBoxParameter::Clear(); @@ -18078,15 +19178,15 @@ void LayerParameter::set_allocated_normalize_bbox_param(::caffe::NormalizeBBoxPa // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.normalize_bbox_param) } -// optional .caffe.PermuteParameter permute_param = 138; +// optional .caffe.PermuteParameter permute_param = 148; bool LayerParameter::has_permute_param() const { - return (_has_bits_[1] & 0x00000020u) != 0; + return (_has_bits_[1] & 0x00000400u) != 0; } void LayerParameter::set_has_permute_param() { - _has_bits_[1] |= 0x00000020u; + _has_bits_[1] |= 0x00000400u; } void LayerParameter::clear_has_permute_param() { - _has_bits_[1] &= ~0x00000020u; + _has_bits_[1] &= ~0x00000400u; } void LayerParameter::clear_permute_param() { if (permute_param_ != NULL) permute_param_->::caffe::PermuteParameter::Clear(); @@ -18123,15 +19223,60 @@ void LayerParameter::set_allocated_permute_param(::caffe::PermuteParameter* perm // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.permute_param) } +// optional .caffe.ParameterParameter parameter_param = 145; +bool LayerParameter::has_parameter_param() const { + return (_has_bits_[1] & 0x00000800u) != 0; +} +void LayerParameter::set_has_parameter_param() { + _has_bits_[1] |= 0x00000800u; +} +void LayerParameter::clear_has_parameter_param() { + _has_bits_[1] &= ~0x00000800u; +} +void LayerParameter::clear_parameter_param() { + if (parameter_param_ != NULL) parameter_param_->::caffe::ParameterParameter::Clear(); + clear_has_parameter_param(); +} +const ::caffe::ParameterParameter& LayerParameter::parameter_param() const { + // @@protoc_insertion_point(field_get:caffe.LayerParameter.parameter_param) + return parameter_param_ != NULL ? *parameter_param_ + : *::caffe::ParameterParameter::internal_default_instance(); +} +::caffe::ParameterParameter* LayerParameter::mutable_parameter_param() { + set_has_parameter_param(); + if (parameter_param_ == NULL) { + parameter_param_ = new ::caffe::ParameterParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.LayerParameter.parameter_param) + return parameter_param_; +} +::caffe::ParameterParameter* LayerParameter::release_parameter_param() { + // @@protoc_insertion_point(field_release:caffe.LayerParameter.parameter_param) + clear_has_parameter_param(); + ::caffe::ParameterParameter* temp = parameter_param_; + parameter_param_ = NULL; + return temp; +} +void LayerParameter::set_allocated_parameter_param(::caffe::ParameterParameter* parameter_param) { + delete parameter_param_; + parameter_param_ = parameter_param; + if (parameter_param) { + set_has_parameter_param(); + } else { + clear_has_parameter_param(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.parameter_param) +} + // optional .caffe.PoolingParameter pooling_param = 121; bool LayerParameter::has_pooling_param() const { - return (_has_bits_[1] & 0x00000040u) != 0; + return (_has_bits_[1] & 0x00001000u) != 0; } void LayerParameter::set_has_pooling_param() { - _has_bits_[1] |= 0x00000040u; + _has_bits_[1] |= 0x00001000u; } void LayerParameter::clear_has_pooling_param() { - _has_bits_[1] &= ~0x00000040u; + _has_bits_[1] &= ~0x00001000u; } void LayerParameter::clear_pooling_param() { if (pooling_param_ != NULL) pooling_param_->::caffe::PoolingParameter::Clear(); @@ -18170,13 +19315,13 @@ void LayerParameter::set_allocated_pooling_param(::caffe::PoolingParameter* pool // optional .caffe.PowerParameter power_param = 122; bool LayerParameter::has_power_param() const { - return (_has_bits_[1] & 0x00000080u) != 0; + return (_has_bits_[1] & 0x00002000u) != 0; } void LayerParameter::set_has_power_param() { - _has_bits_[1] |= 0x00000080u; + _has_bits_[1] |= 0x00002000u; } void LayerParameter::clear_has_power_param() { - _has_bits_[1] &= ~0x00000080u; + _has_bits_[1] &= ~0x00002000u; } void LayerParameter::clear_power_param() { if (power_param_ != NULL) power_param_->::caffe::PowerParameter::Clear(); @@ -18215,13 +19360,13 @@ void LayerParameter::set_allocated_power_param(::caffe::PowerParameter* power_pa // optional .caffe.PReLUParameter prelu_param = 131; bool LayerParameter::has_prelu_param() const { - return (_has_bits_[1] & 0x00000100u) != 0; + return (_has_bits_[1] & 0x00004000u) != 0; } void LayerParameter::set_has_prelu_param() { - _has_bits_[1] |= 0x00000100u; + _has_bits_[1] |= 0x00004000u; } void LayerParameter::clear_has_prelu_param() { - _has_bits_[1] &= ~0x00000100u; + _has_bits_[1] &= ~0x00004000u; } void LayerParameter::clear_prelu_param() { if (prelu_param_ != NULL) prelu_param_->::caffe::PReLUParameter::Clear(); @@ -18258,15 +19403,15 @@ void LayerParameter::set_allocated_prelu_param(::caffe::PReLUParameter* prelu_pa // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.prelu_param) } -// optional .caffe.PriorBoxParameter prior_box_param = 140; +// optional .caffe.PriorBoxParameter prior_box_param = 150; bool LayerParameter::has_prior_box_param() const { - return (_has_bits_[1] & 0x00000200u) != 0; + return (_has_bits_[1] & 0x00008000u) != 0; } void LayerParameter::set_has_prior_box_param() { - _has_bits_[1] |= 0x00000200u; + _has_bits_[1] |= 0x00008000u; } void LayerParameter::clear_has_prior_box_param() { - _has_bits_[1] &= ~0x00000200u; + _has_bits_[1] &= ~0x00008000u; } void LayerParameter::clear_prior_box_param() { if (prior_box_param_ != NULL) prior_box_param_->::caffe::PriorBoxParameter::Clear(); @@ -18305,13 +19450,13 @@ void LayerParameter::set_allocated_prior_box_param(::caffe::PriorBoxParameter* p // optional .caffe.PythonParameter python_param = 130; bool LayerParameter::has_python_param() const { - return (_has_bits_[1] & 0x00000400u) != 0; + return (_has_bits_[1] & 0x00010000u) != 0; } void LayerParameter::set_has_python_param() { - _has_bits_[1] |= 0x00000400u; + _has_bits_[1] |= 0x00010000u; } void LayerParameter::clear_has_python_param() { - _has_bits_[1] &= ~0x00000400u; + _has_bits_[1] &= ~0x00010000u; } void LayerParameter::clear_python_param() { if (python_param_ != NULL) python_param_->::caffe::PythonParameter::Clear(); @@ -18348,15 +19493,60 @@ void LayerParameter::set_allocated_python_param(::caffe::PythonParameter* python // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.python_param) } +// optional .caffe.RecurrentParameter recurrent_param = 146; +bool LayerParameter::has_recurrent_param() const { + return (_has_bits_[1] & 0x00020000u) != 0; +} +void LayerParameter::set_has_recurrent_param() { + _has_bits_[1] |= 0x00020000u; +} +void LayerParameter::clear_has_recurrent_param() { + _has_bits_[1] &= ~0x00020000u; +} +void LayerParameter::clear_recurrent_param() { + if (recurrent_param_ != NULL) recurrent_param_->::caffe::RecurrentParameter::Clear(); + clear_has_recurrent_param(); +} +const ::caffe::RecurrentParameter& LayerParameter::recurrent_param() const { + // @@protoc_insertion_point(field_get:caffe.LayerParameter.recurrent_param) + return recurrent_param_ != NULL ? *recurrent_param_ + : *::caffe::RecurrentParameter::internal_default_instance(); +} +::caffe::RecurrentParameter* LayerParameter::mutable_recurrent_param() { + set_has_recurrent_param(); + if (recurrent_param_ == NULL) { + recurrent_param_ = new ::caffe::RecurrentParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.LayerParameter.recurrent_param) + return recurrent_param_; +} +::caffe::RecurrentParameter* LayerParameter::release_recurrent_param() { + // @@protoc_insertion_point(field_release:caffe.LayerParameter.recurrent_param) + clear_has_recurrent_param(); + ::caffe::RecurrentParameter* temp = recurrent_param_; + recurrent_param_ = NULL; + return temp; +} +void LayerParameter::set_allocated_recurrent_param(::caffe::RecurrentParameter* recurrent_param) { + delete recurrent_param_; + recurrent_param_ = recurrent_param; + if (recurrent_param) { + set_has_recurrent_param(); + } else { + clear_has_recurrent_param(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.recurrent_param) +} + // optional .caffe.ReductionParameter reduction_param = 136; bool LayerParameter::has_reduction_param() const { - return (_has_bits_[1] & 0x00000800u) != 0; + return (_has_bits_[1] & 0x00040000u) != 0; } void LayerParameter::set_has_reduction_param() { - _has_bits_[1] |= 0x00000800u; + _has_bits_[1] |= 0x00040000u; } void LayerParameter::clear_has_reduction_param() { - _has_bits_[1] &= ~0x00000800u; + _has_bits_[1] &= ~0x00040000u; } void LayerParameter::clear_reduction_param() { if (reduction_param_ != NULL) reduction_param_->::caffe::ReductionParameter::Clear(); @@ -18395,13 +19585,13 @@ void LayerParameter::set_allocated_reduction_param(::caffe::ReductionParameter* // optional .caffe.ReLUParameter relu_param = 123; bool LayerParameter::has_relu_param() const { - return (_has_bits_[1] & 0x00001000u) != 0; + return (_has_bits_[1] & 0x00080000u) != 0; } void LayerParameter::set_has_relu_param() { - _has_bits_[1] |= 0x00001000u; + _has_bits_[1] |= 0x00080000u; } void LayerParameter::clear_has_relu_param() { - _has_bits_[1] &= ~0x00001000u; + _has_bits_[1] &= ~0x00080000u; } void LayerParameter::clear_relu_param() { if (relu_param_ != NULL) relu_param_->::caffe::ReLUParameter::Clear(); @@ -18440,13 +19630,13 @@ void LayerParameter::set_allocated_relu_param(::caffe::ReLUParameter* relu_param // optional .caffe.ReshapeParameter reshape_param = 133; bool LayerParameter::has_reshape_param() const { - return (_has_bits_[1] & 0x00002000u) != 0; + return (_has_bits_[1] & 0x00100000u) != 0; } void LayerParameter::set_has_reshape_param() { - _has_bits_[1] |= 0x00002000u; + _has_bits_[1] |= 0x00100000u; } void LayerParameter::clear_has_reshape_param() { - _has_bits_[1] &= ~0x00002000u; + _has_bits_[1] &= ~0x00100000u; } void LayerParameter::clear_reshape_param() { if (reshape_param_ != NULL) reshape_param_->::caffe::ReshapeParameter::Clear(); @@ -18483,15 +19673,60 @@ void LayerParameter::set_allocated_reshape_param(::caffe::ReshapeParameter* resh // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.reshape_param) } +// optional .caffe.ScaleParameter scale_param = 142; +bool LayerParameter::has_scale_param() const { + return (_has_bits_[1] & 0x00200000u) != 0; +} +void LayerParameter::set_has_scale_param() { + _has_bits_[1] |= 0x00200000u; +} +void LayerParameter::clear_has_scale_param() { + _has_bits_[1] &= ~0x00200000u; +} +void LayerParameter::clear_scale_param() { + if (scale_param_ != NULL) scale_param_->::caffe::ScaleParameter::Clear(); + clear_has_scale_param(); +} +const ::caffe::ScaleParameter& LayerParameter::scale_param() const { + // @@protoc_insertion_point(field_get:caffe.LayerParameter.scale_param) + return scale_param_ != NULL ? *scale_param_ + : *::caffe::ScaleParameter::internal_default_instance(); +} +::caffe::ScaleParameter* LayerParameter::mutable_scale_param() { + set_has_scale_param(); + if (scale_param_ == NULL) { + scale_param_ = new ::caffe::ScaleParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.LayerParameter.scale_param) + return scale_param_; +} +::caffe::ScaleParameter* LayerParameter::release_scale_param() { + // @@protoc_insertion_point(field_release:caffe.LayerParameter.scale_param) + clear_has_scale_param(); + ::caffe::ScaleParameter* temp = scale_param_; + scale_param_ = NULL; + return temp; +} +void LayerParameter::set_allocated_scale_param(::caffe::ScaleParameter* scale_param) { + delete scale_param_; + scale_param_ = scale_param; + if (scale_param) { + set_has_scale_param(); + } else { + clear_has_scale_param(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.scale_param) +} + // optional .caffe.SigmoidParameter sigmoid_param = 124; bool LayerParameter::has_sigmoid_param() const { - return (_has_bits_[1] & 0x00004000u) != 0; + return (_has_bits_[1] & 0x00400000u) != 0; } void LayerParameter::set_has_sigmoid_param() { - _has_bits_[1] |= 0x00004000u; + _has_bits_[1] |= 0x00400000u; } void LayerParameter::clear_has_sigmoid_param() { - _has_bits_[1] &= ~0x00004000u; + _has_bits_[1] &= ~0x00400000u; } void LayerParameter::clear_sigmoid_param() { if (sigmoid_param_ != NULL) sigmoid_param_->::caffe::SigmoidParameter::Clear(); @@ -18528,60 +19763,15 @@ void LayerParameter::set_allocated_sigmoid_param(::caffe::SigmoidParameter* sigm // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.sigmoid_param) } -// optional .caffe.SliceParameter slice_param = 126; -bool LayerParameter::has_slice_param() const { - return (_has_bits_[1] & 0x00008000u) != 0; -} -void LayerParameter::set_has_slice_param() { - _has_bits_[1] |= 0x00008000u; -} -void LayerParameter::clear_has_slice_param() { - _has_bits_[1] &= ~0x00008000u; -} -void LayerParameter::clear_slice_param() { - if (slice_param_ != NULL) slice_param_->::caffe::SliceParameter::Clear(); - clear_has_slice_param(); -} -const ::caffe::SliceParameter& LayerParameter::slice_param() const { - // @@protoc_insertion_point(field_get:caffe.LayerParameter.slice_param) - return slice_param_ != NULL ? *slice_param_ - : *::caffe::SliceParameter::internal_default_instance(); -} -::caffe::SliceParameter* LayerParameter::mutable_slice_param() { - set_has_slice_param(); - if (slice_param_ == NULL) { - slice_param_ = new ::caffe::SliceParameter; - } - // @@protoc_insertion_point(field_mutable:caffe.LayerParameter.slice_param) - return slice_param_; -} -::caffe::SliceParameter* LayerParameter::release_slice_param() { - // @@protoc_insertion_point(field_release:caffe.LayerParameter.slice_param) - clear_has_slice_param(); - ::caffe::SliceParameter* temp = slice_param_; - slice_param_ = NULL; - return temp; -} -void LayerParameter::set_allocated_slice_param(::caffe::SliceParameter* slice_param) { - delete slice_param_; - slice_param_ = slice_param; - if (slice_param) { - set_has_slice_param(); - } else { - clear_has_slice_param(); - } - // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.slice_param) -} - // optional .caffe.SoftmaxParameter softmax_param = 125; bool LayerParameter::has_softmax_param() const { - return (_has_bits_[1] & 0x00010000u) != 0; + return (_has_bits_[1] & 0x00800000u) != 0; } void LayerParameter::set_has_softmax_param() { - _has_bits_[1] |= 0x00010000u; + _has_bits_[1] |= 0x00800000u; } void LayerParameter::clear_has_softmax_param() { - _has_bits_[1] &= ~0x00010000u; + _has_bits_[1] &= ~0x00800000u; } void LayerParameter::clear_softmax_param() { if (softmax_param_ != NULL) softmax_param_->::caffe::SoftmaxParameter::Clear(); @@ -18620,13 +19810,13 @@ void LayerParameter::set_allocated_softmax_param(::caffe::SoftmaxParameter* soft // optional .caffe.SPPParameter spp_param = 132; bool LayerParameter::has_spp_param() const { - return (_has_bits_[1] & 0x00020000u) != 0; + return (_has_bits_[1] & 0x01000000u) != 0; } void LayerParameter::set_has_spp_param() { - _has_bits_[1] |= 0x00020000u; + _has_bits_[1] |= 0x01000000u; } void LayerParameter::clear_has_spp_param() { - _has_bits_[1] &= ~0x00020000u; + _has_bits_[1] &= ~0x01000000u; } void LayerParameter::clear_spp_param() { if (spp_param_ != NULL) spp_param_->::caffe::SPPParameter::Clear(); @@ -18663,15 +19853,60 @@ void LayerParameter::set_allocated_spp_param(::caffe::SPPParameter* spp_param) { // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.spp_param) } +// optional .caffe.SliceParameter slice_param = 126; +bool LayerParameter::has_slice_param() const { + return (_has_bits_[1] & 0x02000000u) != 0; +} +void LayerParameter::set_has_slice_param() { + _has_bits_[1] |= 0x02000000u; +} +void LayerParameter::clear_has_slice_param() { + _has_bits_[1] &= ~0x02000000u; +} +void LayerParameter::clear_slice_param() { + if (slice_param_ != NULL) slice_param_->::caffe::SliceParameter::Clear(); + clear_has_slice_param(); +} +const ::caffe::SliceParameter& LayerParameter::slice_param() const { + // @@protoc_insertion_point(field_get:caffe.LayerParameter.slice_param) + return slice_param_ != NULL ? *slice_param_ + : *::caffe::SliceParameter::internal_default_instance(); +} +::caffe::SliceParameter* LayerParameter::mutable_slice_param() { + set_has_slice_param(); + if (slice_param_ == NULL) { + slice_param_ = new ::caffe::SliceParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.LayerParameter.slice_param) + return slice_param_; +} +::caffe::SliceParameter* LayerParameter::release_slice_param() { + // @@protoc_insertion_point(field_release:caffe.LayerParameter.slice_param) + clear_has_slice_param(); + ::caffe::SliceParameter* temp = slice_param_; + slice_param_ = NULL; + return temp; +} +void LayerParameter::set_allocated_slice_param(::caffe::SliceParameter* slice_param) { + delete slice_param_; + slice_param_ = slice_param; + if (slice_param) { + set_has_slice_param(); + } else { + clear_has_slice_param(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.slice_param) +} + // optional .caffe.TanHParameter tanh_param = 127; bool LayerParameter::has_tanh_param() const { - return (_has_bits_[1] & 0x00040000u) != 0; + return (_has_bits_[1] & 0x04000000u) != 0; } void LayerParameter::set_has_tanh_param() { - _has_bits_[1] |= 0x00040000u; + _has_bits_[1] |= 0x04000000u; } void LayerParameter::clear_has_tanh_param() { - _has_bits_[1] &= ~0x00040000u; + _has_bits_[1] &= ~0x04000000u; } void LayerParameter::clear_tanh_param() { if (tanh_param_ != NULL) tanh_param_->::caffe::TanHParameter::Clear(); @@ -18710,13 +19945,13 @@ void LayerParameter::set_allocated_tanh_param(::caffe::TanHParameter* tanh_param // optional .caffe.ThresholdParameter threshold_param = 128; bool LayerParameter::has_threshold_param() const { - return (_has_bits_[1] & 0x00080000u) != 0; + return (_has_bits_[1] & 0x08000000u) != 0; } void LayerParameter::set_has_threshold_param() { - _has_bits_[1] |= 0x00080000u; + _has_bits_[1] |= 0x08000000u; } void LayerParameter::clear_has_threshold_param() { - _has_bits_[1] &= ~0x00080000u; + _has_bits_[1] &= ~0x08000000u; } void LayerParameter::clear_threshold_param() { if (threshold_param_ != NULL) threshold_param_->::caffe::ThresholdParameter::Clear(); @@ -18753,15 +19988,60 @@ void LayerParameter::set_allocated_threshold_param(::caffe::ThresholdParameter* // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.threshold_param) } +// optional .caffe.TileParameter tile_param = 138; +bool LayerParameter::has_tile_param() const { + return (_has_bits_[1] & 0x10000000u) != 0; +} +void LayerParameter::set_has_tile_param() { + _has_bits_[1] |= 0x10000000u; +} +void LayerParameter::clear_has_tile_param() { + _has_bits_[1] &= ~0x10000000u; +} +void LayerParameter::clear_tile_param() { + if (tile_param_ != NULL) tile_param_->::caffe::TileParameter::Clear(); + clear_has_tile_param(); +} +const ::caffe::TileParameter& LayerParameter::tile_param() const { + // @@protoc_insertion_point(field_get:caffe.LayerParameter.tile_param) + return tile_param_ != NULL ? *tile_param_ + : *::caffe::TileParameter::internal_default_instance(); +} +::caffe::TileParameter* LayerParameter::mutable_tile_param() { + set_has_tile_param(); + if (tile_param_ == NULL) { + tile_param_ = new ::caffe::TileParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.LayerParameter.tile_param) + return tile_param_; +} +::caffe::TileParameter* LayerParameter::release_tile_param() { + // @@protoc_insertion_point(field_release:caffe.LayerParameter.tile_param) + clear_has_tile_param(); + ::caffe::TileParameter* temp = tile_param_; + tile_param_ = NULL; + return temp; +} +void LayerParameter::set_allocated_tile_param(::caffe::TileParameter* tile_param) { + delete tile_param_; + tile_param_ = tile_param; + if (tile_param) { + set_has_tile_param(); + } else { + clear_has_tile_param(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.tile_param) +} + // optional .caffe.WindowDataParameter window_data_param = 129; bool LayerParameter::has_window_data_param() const { - return (_has_bits_[1] & 0x00100000u) != 0; + return (_has_bits_[1] & 0x20000000u) != 0; } void LayerParameter::set_has_window_data_param() { - _has_bits_[1] |= 0x00100000u; + _has_bits_[1] |= 0x20000000u; } void LayerParameter::clear_has_window_data_param() { - _has_bits_[1] &= ~0x00100000u; + _has_bits_[1] &= ~0x20000000u; } void LayerParameter::clear_window_data_param() { if (window_data_param_ != NULL) window_data_param_->::caffe::WindowDataParameter::Clear(); @@ -19532,8 +20812,34 @@ inline const TransformationParameter* TransformationParameter::internal_default_ // =================================================================== +const ::google::protobuf::EnumDescriptor* LossParameter_NormalizationMode_descriptor() { + protobuf_AssignDescriptorsOnce(); + return LossParameter_NormalizationMode_descriptor_; +} +bool LossParameter_NormalizationMode_IsValid(int value) { + switch (value) { + case 0: + case 1: + case 2: + case 3: + return true; + default: + return false; + } +} + +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const LossParameter_NormalizationMode LossParameter::FULL; +const LossParameter_NormalizationMode LossParameter::VALID; +const LossParameter_NormalizationMode LossParameter::BATCH_SIZE; +const LossParameter_NormalizationMode LossParameter::NONE; +const LossParameter_NormalizationMode LossParameter::NormalizationMode_MIN; +const LossParameter_NormalizationMode LossParameter::NormalizationMode_MAX; +const int LossParameter::NormalizationMode_ARRAYSIZE; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int LossParameter::kIgnoreLabelFieldNumber; +const int LossParameter::kNormalizationFieldNumber; const int LossParameter::kNormalizeFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 @@ -19557,8 +20863,9 @@ LossParameter::LossParameter(const LossParameter& from) void LossParameter::SharedCtor() { _cached_size_ = 0; - ignore_label_ = 0; - normalize_ = true; + ::memset(&ignore_label_, 0, reinterpret_cast(&normalize_) - + reinterpret_cast(&ignore_label_) + sizeof(normalize_)); + normalization_ = 1; } LossParameter::~LossParameter() { @@ -19596,10 +20903,30 @@ LossParameter* LossParameter::New(::google::protobuf::Arena* arena) const { void LossParameter::Clear() { // @@protoc_insertion_point(message_clear_start:caffe.LossParameter) - if (_has_bits_[0 / 32] & 3u) { - ignore_label_ = 0; - normalize_ = true; +#if defined(__clang__) +#define ZR_HELPER_(f) \ + _Pragma("clang diagnostic push") \ + _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \ + __builtin_offsetof(LossParameter, f) \ + _Pragma("clang diagnostic pop") +#else +#define ZR_HELPER_(f) reinterpret_cast(\ + &reinterpret_cast(16)->f) +#endif + +#define ZR_(first, last) do {\ + ::memset(&(first), 0,\ + ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\ +} while (0) + + if (_has_bits_[0 / 32] & 7u) { + ZR_(ignore_label_, normalize_); + normalization_ = 1; } + +#undef ZR_HELPER_ +#undef ZR_ + _has_bits_.Clear(); if (_internal_metadata_.have_unknown_fields()) { mutable_unknown_fields()->Clear(); @@ -19630,7 +20957,7 @@ bool LossParameter::MergePartialFromCodedStream( break; } - // optional bool normalize = 2 [default = true]; + // optional bool normalize = 2; case 2: { if (tag == 16) { parse_normalize: @@ -19641,6 +20968,26 @@ bool LossParameter::MergePartialFromCodedStream( } else { goto handle_unusual; } + if (input->ExpectTag(24)) goto parse_normalization; + break; + } + + // optional .caffe.LossParameter.NormalizationMode normalization = 3 [default = VALID]; + case 3: { + if (tag == 24) { + parse_normalization: + int value; + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>( + input, &value))); + if (::caffe::LossParameter_NormalizationMode_IsValid(value)) { + set_normalization(static_cast< ::caffe::LossParameter_NormalizationMode >(value)); + } else { + mutable_unknown_fields()->AddVarint(3, value); + } + } else { + goto handle_unusual; + } if (input->ExpectAtEnd()) goto success; break; } @@ -19675,11 +21022,17 @@ void LossParameter::SerializeWithCachedSizes( ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->ignore_label(), output); } - // optional bool normalize = 2 [default = true]; + // optional bool normalize = 2; if (has_normalize()) { ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->normalize(), output); } + // optional .caffe.LossParameter.NormalizationMode normalization = 3 [default = VALID]; + if (has_normalization()) { + ::google::protobuf::internal::WireFormatLite::WriteEnum( + 3, this->normalization(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( unknown_fields(), output); @@ -19696,11 +21049,17 @@ void LossParameter::SerializeWithCachedSizes( target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->ignore_label(), target); } - // optional bool normalize = 2 [default = true]; + // optional bool normalize = 2; if (has_normalize()) { target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->normalize(), target); } + // optional .caffe.LossParameter.NormalizationMode normalization = 3 [default = VALID]; + if (has_normalization()) { + target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray( + 3, this->normalization(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( unknown_fields(), target); @@ -19713,7 +21072,7 @@ size_t LossParameter::ByteSizeLong() const { // @@protoc_insertion_point(message_byte_size_start:caffe.LossParameter) size_t total_size = 0; - if (_has_bits_[0 / 32] & 3u) { + if (_has_bits_[0 / 32] & 7u) { // optional int32 ignore_label = 1; if (has_ignore_label()) { total_size += 1 + @@ -19721,7 +21080,13 @@ size_t LossParameter::ByteSizeLong() const { this->ignore_label()); } - // optional bool normalize = 2 [default = true]; + // optional .caffe.LossParameter.NormalizationMode normalization = 3 [default = VALID]; + if (has_normalization()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::EnumSize(this->normalization()); + } + + // optional bool normalize = 2; if (has_normalize()) { total_size += 1 + 1; } @@ -19769,6 +21134,9 @@ void LossParameter::UnsafeMergeFrom(const LossParameter& from) { if (from.has_ignore_label()) { set_ignore_label(from.ignore_label()); } + if (from.has_normalization()) { + set_normalization(from.normalization()); + } if (from.has_normalize()) { set_normalize(from.normalize()); } @@ -19804,6 +21172,7 @@ void LossParameter::Swap(LossParameter* other) { } void LossParameter::InternalSwap(LossParameter* other) { std::swap(ignore_label_, other->ignore_label_); + std::swap(normalization_, other->normalization_); std::swap(normalize_, other->normalize_); std::swap(_has_bits_[0], other->_has_bits_[0]); _internal_metadata_.Swap(&other->_internal_metadata_); @@ -19845,18 +21214,43 @@ void LossParameter::set_ignore_label(::google::protobuf::int32 value) { // @@protoc_insertion_point(field_set:caffe.LossParameter.ignore_label) } -// optional bool normalize = 2 [default = true]; -bool LossParameter::has_normalize() const { +// optional .caffe.LossParameter.NormalizationMode normalization = 3 [default = VALID]; +bool LossParameter::has_normalization() const { return (_has_bits_[0] & 0x00000002u) != 0; } -void LossParameter::set_has_normalize() { +void LossParameter::set_has_normalization() { _has_bits_[0] |= 0x00000002u; } -void LossParameter::clear_has_normalize() { +void LossParameter::clear_has_normalization() { _has_bits_[0] &= ~0x00000002u; } +void LossParameter::clear_normalization() { + normalization_ = 1; + clear_has_normalization(); +} +::caffe::LossParameter_NormalizationMode LossParameter::normalization() const { + // @@protoc_insertion_point(field_get:caffe.LossParameter.normalization) + return static_cast< ::caffe::LossParameter_NormalizationMode >(normalization_); +} +void LossParameter::set_normalization(::caffe::LossParameter_NormalizationMode value) { + assert(::caffe::LossParameter_NormalizationMode_IsValid(value)); + set_has_normalization(); + normalization_ = value; + // @@protoc_insertion_point(field_set:caffe.LossParameter.normalization) +} + +// optional bool normalize = 2; +bool LossParameter::has_normalize() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +void LossParameter::set_has_normalize() { + _has_bits_[0] |= 0x00000004u; +} +void LossParameter::clear_has_normalize() { + _has_bits_[0] &= ~0x00000004u; +} void LossParameter::clear_normalize() { - normalize_ = true; + normalize_ = false; clear_has_normalize(); } bool LossParameter::normalize() const { @@ -20288,6 +21682,7 @@ inline const AccuracyParameter* AccuracyParameter::internal_default_instance() { #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int ArgMaxParameter::kOutMaxValFieldNumber; const int ArgMaxParameter::kTopKFieldNumber; +const int ArgMaxParameter::kAxisFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 ArgMaxParameter::ArgMaxParameter() @@ -20310,7 +21705,8 @@ ArgMaxParameter::ArgMaxParameter(const ArgMaxParameter& from) void ArgMaxParameter::SharedCtor() { _cached_size_ = 0; - out_max_val_ = false; + ::memset(&out_max_val_, 0, reinterpret_cast(&axis_) - + reinterpret_cast(&out_max_val_) + sizeof(axis_)); top_k_ = 1u; } @@ -20349,10 +21745,30 @@ ArgMaxParameter* ArgMaxParameter::New(::google::protobuf::Arena* arena) const { void ArgMaxParameter::Clear() { // @@protoc_insertion_point(message_clear_start:caffe.ArgMaxParameter) - if (_has_bits_[0 / 32] & 3u) { - out_max_val_ = false; +#if defined(__clang__) +#define ZR_HELPER_(f) \ + _Pragma("clang diagnostic push") \ + _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \ + __builtin_offsetof(ArgMaxParameter, f) \ + _Pragma("clang diagnostic pop") +#else +#define ZR_HELPER_(f) reinterpret_cast(\ + &reinterpret_cast(16)->f) +#endif + +#define ZR_(first, last) do {\ + ::memset(&(first), 0,\ + ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\ +} while (0) + + if (_has_bits_[0 / 32] & 7u) { + ZR_(out_max_val_, axis_); top_k_ = 1u; } + +#undef ZR_HELPER_ +#undef ZR_ + _has_bits_.Clear(); if (_internal_metadata_.have_unknown_fields()) { mutable_unknown_fields()->Clear(); @@ -20394,6 +21810,21 @@ bool ArgMaxParameter::MergePartialFromCodedStream( } else { goto handle_unusual; } + if (input->ExpectTag(24)) goto parse_axis; + break; + } + + // optional int32 axis = 3; + case 3: { + if (tag == 24) { + parse_axis: + set_has_axis(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( + input, &axis_))); + } else { + goto handle_unusual; + } if (input->ExpectAtEnd()) goto success; break; } @@ -20433,6 +21864,11 @@ void ArgMaxParameter::SerializeWithCachedSizes( ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->top_k(), output); } + // optional int32 axis = 3; + if (has_axis()) { + ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->axis(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( unknown_fields(), output); @@ -20454,6 +21890,11 @@ void ArgMaxParameter::SerializeWithCachedSizes( target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->top_k(), target); } + // optional int32 axis = 3; + if (has_axis()) { + target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->axis(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( unknown_fields(), target); @@ -20466,7 +21907,7 @@ size_t ArgMaxParameter::ByteSizeLong() const { // @@protoc_insertion_point(message_byte_size_start:caffe.ArgMaxParameter) size_t total_size = 0; - if (_has_bits_[0 / 32] & 3u) { + if (_has_bits_[0 / 32] & 7u) { // optional bool out_max_val = 1 [default = false]; if (has_out_max_val()) { total_size += 1 + 1; @@ -20479,6 +21920,13 @@ size_t ArgMaxParameter::ByteSizeLong() const { this->top_k()); } + // optional int32 axis = 3; + if (has_axis()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::Int32Size( + this->axis()); + } + } if (_internal_metadata_.have_unknown_fields()) { total_size += @@ -20525,6 +21973,9 @@ void ArgMaxParameter::UnsafeMergeFrom(const ArgMaxParameter& from) { if (from.has_top_k()) { set_top_k(from.top_k()); } + if (from.has_axis()) { + set_axis(from.axis()); + } } if (from._internal_metadata_.have_unknown_fields()) { ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata( @@ -20558,6 +22009,7 @@ void ArgMaxParameter::Swap(ArgMaxParameter* other) { void ArgMaxParameter::InternalSwap(ArgMaxParameter* other) { std::swap(out_max_val_, other->out_max_val_); std::swap(top_k_, other->top_k_); + std::swap(axis_, other->axis_); std::swap(_has_bits_[0], other->_has_bits_[0]); _internal_metadata_.Swap(&other->_internal_metadata_); std::swap(_cached_size_, other->_cached_size_); @@ -20622,6 +22074,30 @@ void ArgMaxParameter::set_top_k(::google::protobuf::uint32 value) { // @@protoc_insertion_point(field_set:caffe.ArgMaxParameter.top_k) } +// optional int32 axis = 3; +bool ArgMaxParameter::has_axis() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +void ArgMaxParameter::set_has_axis() { + _has_bits_[0] |= 0x00000004u; +} +void ArgMaxParameter::clear_has_axis() { + _has_bits_[0] &= ~0x00000004u; +} +void ArgMaxParameter::clear_axis() { + axis_ = 0; + clear_has_axis(); +} +::google::protobuf::int32 ArgMaxParameter::axis() const { + // @@protoc_insertion_point(field_get:caffe.ArgMaxParameter.axis) + return axis_; +} +void ArgMaxParameter::set_axis(::google::protobuf::int32 value) { + set_has_axis(); + axis_ = value; + // @@protoc_insertion_point(field_set:caffe.ArgMaxParameter.axis) +} + inline const ArgMaxParameter* ArgMaxParameter::internal_default_instance() { return &ArgMaxParameter_default_instance_.get(); } @@ -20976,72 +22452,75 @@ inline const ConcatParameter* ConcatParameter::internal_default_instance() { // =================================================================== #if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int ContrastiveLossParameter::kMarginFieldNumber; -const int ContrastiveLossParameter::kLegacyVersionFieldNumber; +const int BatchNormParameter::kUseGlobalStatsFieldNumber; +const int BatchNormParameter::kMovingAverageFractionFieldNumber; +const int BatchNormParameter::kEpsFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 -ContrastiveLossParameter::ContrastiveLossParameter() +BatchNormParameter::BatchNormParameter() : ::google::protobuf::Message(), _internal_metadata_(NULL) { if (this != internal_default_instance()) protobuf_InitDefaults_caffe_2eproto(); SharedCtor(); - // @@protoc_insertion_point(constructor:caffe.ContrastiveLossParameter) + // @@protoc_insertion_point(constructor:caffe.BatchNormParameter) } -void ContrastiveLossParameter::InitAsDefaultInstance() { +void BatchNormParameter::InitAsDefaultInstance() { } -ContrastiveLossParameter::ContrastiveLossParameter(const ContrastiveLossParameter& from) +BatchNormParameter::BatchNormParameter(const BatchNormParameter& from) : ::google::protobuf::Message(), _internal_metadata_(NULL) { SharedCtor(); UnsafeMergeFrom(from); - // @@protoc_insertion_point(copy_constructor:caffe.ContrastiveLossParameter) + // @@protoc_insertion_point(copy_constructor:caffe.BatchNormParameter) } -void ContrastiveLossParameter::SharedCtor() { +void BatchNormParameter::SharedCtor() { _cached_size_ = 0; - legacy_version_ = false; - margin_ = 1; + use_global_stats_ = false; + moving_average_fraction_ = 0.999f; + eps_ = 1e-05f; } -ContrastiveLossParameter::~ContrastiveLossParameter() { - // @@protoc_insertion_point(destructor:caffe.ContrastiveLossParameter) +BatchNormParameter::~BatchNormParameter() { + // @@protoc_insertion_point(destructor:caffe.BatchNormParameter) SharedDtor(); } -void ContrastiveLossParameter::SharedDtor() { +void BatchNormParameter::SharedDtor() { } -void ContrastiveLossParameter::SetCachedSize(int size) const { +void BatchNormParameter::SetCachedSize(int size) const { GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); _cached_size_ = size; GOOGLE_SAFE_CONCURRENT_WRITES_END(); } -const ::google::protobuf::Descriptor* ContrastiveLossParameter::descriptor() { +const ::google::protobuf::Descriptor* BatchNormParameter::descriptor() { protobuf_AssignDescriptorsOnce(); - return ContrastiveLossParameter_descriptor_; + return BatchNormParameter_descriptor_; } -const ContrastiveLossParameter& ContrastiveLossParameter::default_instance() { +const BatchNormParameter& BatchNormParameter::default_instance() { protobuf_InitDefaults_caffe_2eproto(); return *internal_default_instance(); } -::google::protobuf::internal::ExplicitlyConstructed ContrastiveLossParameter_default_instance_; +::google::protobuf::internal::ExplicitlyConstructed BatchNormParameter_default_instance_; -ContrastiveLossParameter* ContrastiveLossParameter::New(::google::protobuf::Arena* arena) const { - ContrastiveLossParameter* n = new ContrastiveLossParameter; +BatchNormParameter* BatchNormParameter::New(::google::protobuf::Arena* arena) const { + BatchNormParameter* n = new BatchNormParameter; if (arena != NULL) { arena->Own(n); } return n; } -void ContrastiveLossParameter::Clear() { -// @@protoc_insertion_point(message_clear_start:caffe.ContrastiveLossParameter) - if (_has_bits_[0 / 32] & 3u) { - margin_ = 1; - legacy_version_ = false; +void BatchNormParameter::Clear() { +// @@protoc_insertion_point(message_clear_start:caffe.BatchNormParameter) + if (_has_bits_[0 / 32] & 7u) { + use_global_stats_ = false; + moving_average_fraction_ = 0.999f; + eps_ = 1e-05f; } _has_bits_.Clear(); if (_internal_metadata_.have_unknown_fields()) { @@ -21049,38 +22528,53 @@ void ContrastiveLossParameter::Clear() { } } -bool ContrastiveLossParameter::MergePartialFromCodedStream( +bool BatchNormParameter::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:caffe.ContrastiveLossParameter) + // @@protoc_insertion_point(parse_start:caffe.BatchNormParameter) for (;;) { ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127); tag = p.first; if (!p.second) goto handle_unusual; switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // optional float margin = 1 [default = 1]; + // optional bool use_global_stats = 1; case 1: { - if (tag == 13) { - set_has_margin(); + if (tag == 8) { + set_has_use_global_stats(); DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>( - input, &margin_))); + bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( + input, &use_global_stats_))); } else { goto handle_unusual; } - if (input->ExpectTag(16)) goto parse_legacy_version; + if (input->ExpectTag(21)) goto parse_moving_average_fraction; break; } - // optional bool legacy_version = 2 [default = false]; + // optional float moving_average_fraction = 2 [default = 0.999]; case 2: { - if (tag == 16) { - parse_legacy_version: - set_has_legacy_version(); + if (tag == 21) { + parse_moving_average_fraction: + set_has_moving_average_fraction(); DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( - input, &legacy_version_))); + float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>( + input, &moving_average_fraction_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(29)) goto parse_eps; + break; + } + + // optional float eps = 3 [default = 1e-05]; + case 3: { + if (tag == 29) { + parse_eps: + set_has_eps(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>( + input, &eps_))); } else { goto handle_unusual; } @@ -21102,69 +22596,84 @@ bool ContrastiveLossParameter::MergePartialFromCodedStream( } } success: - // @@protoc_insertion_point(parse_success:caffe.ContrastiveLossParameter) + // @@protoc_insertion_point(parse_success:caffe.BatchNormParameter) return true; failure: - // @@protoc_insertion_point(parse_failure:caffe.ContrastiveLossParameter) + // @@protoc_insertion_point(parse_failure:caffe.BatchNormParameter) return false; #undef DO_ } -void ContrastiveLossParameter::SerializeWithCachedSizes( +void BatchNormParameter::SerializeWithCachedSizes( ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:caffe.ContrastiveLossParameter) - // optional float margin = 1 [default = 1]; - if (has_margin()) { - ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->margin(), output); + // @@protoc_insertion_point(serialize_start:caffe.BatchNormParameter) + // optional bool use_global_stats = 1; + if (has_use_global_stats()) { + ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->use_global_stats(), output); } - // optional bool legacy_version = 2 [default = false]; - if (has_legacy_version()) { - ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->legacy_version(), output); + // optional float moving_average_fraction = 2 [default = 0.999]; + if (has_moving_average_fraction()) { + ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->moving_average_fraction(), output); + } + + // optional float eps = 3 [default = 1e-05]; + if (has_eps()) { + ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->eps(), output); } if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( unknown_fields(), output); } - // @@protoc_insertion_point(serialize_end:caffe.ContrastiveLossParameter) + // @@protoc_insertion_point(serialize_end:caffe.BatchNormParameter) } -::google::protobuf::uint8* ContrastiveLossParameter::InternalSerializeWithCachedSizesToArray( +::google::protobuf::uint8* BatchNormParameter::InternalSerializeWithCachedSizesToArray( bool deterministic, ::google::protobuf::uint8* target) const { (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:caffe.ContrastiveLossParameter) - // optional float margin = 1 [default = 1]; - if (has_margin()) { - target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->margin(), target); + // @@protoc_insertion_point(serialize_to_array_start:caffe.BatchNormParameter) + // optional bool use_global_stats = 1; + if (has_use_global_stats()) { + target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->use_global_stats(), target); } - // optional bool legacy_version = 2 [default = false]; - if (has_legacy_version()) { - target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->legacy_version(), target); + // optional float moving_average_fraction = 2 [default = 0.999]; + if (has_moving_average_fraction()) { + target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->moving_average_fraction(), target); + } + + // optional float eps = 3 [default = 1e-05]; + if (has_eps()) { + target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->eps(), target); } if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( unknown_fields(), target); } - // @@protoc_insertion_point(serialize_to_array_end:caffe.ContrastiveLossParameter) + // @@protoc_insertion_point(serialize_to_array_end:caffe.BatchNormParameter) return target; } -size_t ContrastiveLossParameter::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:caffe.ContrastiveLossParameter) +size_t BatchNormParameter::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:caffe.BatchNormParameter) size_t total_size = 0; - if (_has_bits_[0 / 32] & 3u) { - // optional float margin = 1 [default = 1]; - if (has_margin()) { + if (_has_bits_[0 / 32] & 7u) { + // optional bool use_global_stats = 1; + if (has_use_global_stats()) { + total_size += 1 + 1; + } + + // optional float moving_average_fraction = 2 [default = 0.999]; + if (has_moving_average_fraction()) { total_size += 1 + 4; } - // optional bool legacy_version = 2 [default = false]; - if (has_legacy_version()) { - total_size += 1 + 1; + // optional float eps = 3 [default = 1e-05]; + if (has_eps()) { + total_size += 1 + 4; } } @@ -21180,23 +22689,23 @@ size_t ContrastiveLossParameter::ByteSizeLong() const { return total_size; } -void ContrastiveLossParameter::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:caffe.ContrastiveLossParameter) +void BatchNormParameter::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:caffe.BatchNormParameter) if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__); - const ContrastiveLossParameter* source = - ::google::protobuf::internal::DynamicCastToGenerated( + const BatchNormParameter* source = + ::google::protobuf::internal::DynamicCastToGenerated( &from); if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.ContrastiveLossParameter) + // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.BatchNormParameter) ::google::protobuf::internal::ReflectionOps::Merge(from, this); } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.ContrastiveLossParameter) + // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.BatchNormParameter) UnsafeMergeFrom(*source); } } -void ContrastiveLossParameter::MergeFrom(const ContrastiveLossParameter& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:caffe.ContrastiveLossParameter) +void BatchNormParameter::MergeFrom(const BatchNormParameter& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:caffe.BatchNormParameter) if (GOOGLE_PREDICT_TRUE(&from != this)) { UnsafeMergeFrom(from); } else { @@ -21204,14 +22713,17 @@ void ContrastiveLossParameter::MergeFrom(const ContrastiveLossParameter& from) { } } -void ContrastiveLossParameter::UnsafeMergeFrom(const ContrastiveLossParameter& from) { +void BatchNormParameter::UnsafeMergeFrom(const BatchNormParameter& from) { GOOGLE_DCHECK(&from != this); if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { - if (from.has_margin()) { - set_margin(from.margin()); + if (from.has_use_global_stats()) { + set_use_global_stats(from.use_global_stats()); } - if (from.has_legacy_version()) { - set_legacy_version(from.legacy_version()); + if (from.has_moving_average_fraction()) { + set_moving_average_fraction(from.moving_average_fraction()); + } + if (from.has_eps()) { + set_eps(from.eps()); } } if (from._internal_metadata_.have_unknown_fields()) { @@ -21220,903 +22732,365 @@ void ContrastiveLossParameter::UnsafeMergeFrom(const ContrastiveLossParameter& f } } -void ContrastiveLossParameter::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:caffe.ContrastiveLossParameter) +void BatchNormParameter::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:caffe.BatchNormParameter) if (&from == this) return; Clear(); MergeFrom(from); } -void ContrastiveLossParameter::CopyFrom(const ContrastiveLossParameter& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:caffe.ContrastiveLossParameter) +void BatchNormParameter::CopyFrom(const BatchNormParameter& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:caffe.BatchNormParameter) if (&from == this) return; Clear(); UnsafeMergeFrom(from); } -bool ContrastiveLossParameter::IsInitialized() const { +bool BatchNormParameter::IsInitialized() const { return true; } -void ContrastiveLossParameter::Swap(ContrastiveLossParameter* other) { +void BatchNormParameter::Swap(BatchNormParameter* other) { if (other == this) return; InternalSwap(other); } -void ContrastiveLossParameter::InternalSwap(ContrastiveLossParameter* other) { - std::swap(margin_, other->margin_); - std::swap(legacy_version_, other->legacy_version_); +void BatchNormParameter::InternalSwap(BatchNormParameter* other) { + std::swap(use_global_stats_, other->use_global_stats_); + std::swap(moving_average_fraction_, other->moving_average_fraction_); + std::swap(eps_, other->eps_); std::swap(_has_bits_[0], other->_has_bits_[0]); _internal_metadata_.Swap(&other->_internal_metadata_); std::swap(_cached_size_, other->_cached_size_); } -::google::protobuf::Metadata ContrastiveLossParameter::GetMetadata() const { +::google::protobuf::Metadata BatchNormParameter::GetMetadata() const { protobuf_AssignDescriptorsOnce(); ::google::protobuf::Metadata metadata; - metadata.descriptor = ContrastiveLossParameter_descriptor_; - metadata.reflection = ContrastiveLossParameter_reflection_; + metadata.descriptor = BatchNormParameter_descriptor_; + metadata.reflection = BatchNormParameter_reflection_; return metadata; } #if PROTOBUF_INLINE_NOT_IN_HEADERS -// ContrastiveLossParameter +// BatchNormParameter -// optional float margin = 1 [default = 1]; -bool ContrastiveLossParameter::has_margin() const { +// optional bool use_global_stats = 1; +bool BatchNormParameter::has_use_global_stats() const { return (_has_bits_[0] & 0x00000001u) != 0; } -void ContrastiveLossParameter::set_has_margin() { +void BatchNormParameter::set_has_use_global_stats() { _has_bits_[0] |= 0x00000001u; } -void ContrastiveLossParameter::clear_has_margin() { +void BatchNormParameter::clear_has_use_global_stats() { _has_bits_[0] &= ~0x00000001u; } -void ContrastiveLossParameter::clear_margin() { - margin_ = 1; - clear_has_margin(); +void BatchNormParameter::clear_use_global_stats() { + use_global_stats_ = false; + clear_has_use_global_stats(); } -float ContrastiveLossParameter::margin() const { - // @@protoc_insertion_point(field_get:caffe.ContrastiveLossParameter.margin) - return margin_; +bool BatchNormParameter::use_global_stats() const { + // @@protoc_insertion_point(field_get:caffe.BatchNormParameter.use_global_stats) + return use_global_stats_; } -void ContrastiveLossParameter::set_margin(float value) { - set_has_margin(); - margin_ = value; - // @@protoc_insertion_point(field_set:caffe.ContrastiveLossParameter.margin) +void BatchNormParameter::set_use_global_stats(bool value) { + set_has_use_global_stats(); + use_global_stats_ = value; + // @@protoc_insertion_point(field_set:caffe.BatchNormParameter.use_global_stats) } -// optional bool legacy_version = 2 [default = false]; -bool ContrastiveLossParameter::has_legacy_version() const { +// optional float moving_average_fraction = 2 [default = 0.999]; +bool BatchNormParameter::has_moving_average_fraction() const { return (_has_bits_[0] & 0x00000002u) != 0; } -void ContrastiveLossParameter::set_has_legacy_version() { +void BatchNormParameter::set_has_moving_average_fraction() { _has_bits_[0] |= 0x00000002u; } -void ContrastiveLossParameter::clear_has_legacy_version() { +void BatchNormParameter::clear_has_moving_average_fraction() { _has_bits_[0] &= ~0x00000002u; } -void ContrastiveLossParameter::clear_legacy_version() { - legacy_version_ = false; - clear_has_legacy_version(); +void BatchNormParameter::clear_moving_average_fraction() { + moving_average_fraction_ = 0.999f; + clear_has_moving_average_fraction(); } -bool ContrastiveLossParameter::legacy_version() const { - // @@protoc_insertion_point(field_get:caffe.ContrastiveLossParameter.legacy_version) - return legacy_version_; +float BatchNormParameter::moving_average_fraction() const { + // @@protoc_insertion_point(field_get:caffe.BatchNormParameter.moving_average_fraction) + return moving_average_fraction_; } -void ContrastiveLossParameter::set_legacy_version(bool value) { - set_has_legacy_version(); - legacy_version_ = value; - // @@protoc_insertion_point(field_set:caffe.ContrastiveLossParameter.legacy_version) +void BatchNormParameter::set_moving_average_fraction(float value) { + set_has_moving_average_fraction(); + moving_average_fraction_ = value; + // @@protoc_insertion_point(field_set:caffe.BatchNormParameter.moving_average_fraction) } -inline const ContrastiveLossParameter* ContrastiveLossParameter::internal_default_instance() { - return &ContrastiveLossParameter_default_instance_.get(); +// optional float eps = 3 [default = 1e-05]; +bool BatchNormParameter::has_eps() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +void BatchNormParameter::set_has_eps() { + _has_bits_[0] |= 0x00000004u; +} +void BatchNormParameter::clear_has_eps() { + _has_bits_[0] &= ~0x00000004u; +} +void BatchNormParameter::clear_eps() { + eps_ = 1e-05f; + clear_has_eps(); +} +float BatchNormParameter::eps() const { + // @@protoc_insertion_point(field_get:caffe.BatchNormParameter.eps) + return eps_; +} +void BatchNormParameter::set_eps(float value) { + set_has_eps(); + eps_ = value; + // @@protoc_insertion_point(field_set:caffe.BatchNormParameter.eps) +} + +inline const BatchNormParameter* BatchNormParameter::internal_default_instance() { + return &BatchNormParameter_default_instance_.get(); } #endif // PROTOBUF_INLINE_NOT_IN_HEADERS // =================================================================== -const ::google::protobuf::EnumDescriptor* ConvolutionParameter_Engine_descriptor() { - protobuf_AssignDescriptorsOnce(); - return ConvolutionParameter_Engine_descriptor_; -} -bool ConvolutionParameter_Engine_IsValid(int value) { - switch (value) { - case 0: - case 1: - case 2: - return true; - default: - return false; - } -} - -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const ConvolutionParameter_Engine ConvolutionParameter::DEFAULT; -const ConvolutionParameter_Engine ConvolutionParameter::CAFFE; -const ConvolutionParameter_Engine ConvolutionParameter::CUDNN; -const ConvolutionParameter_Engine ConvolutionParameter::Engine_MIN; -const ConvolutionParameter_Engine ConvolutionParameter::Engine_MAX; -const int ConvolutionParameter::Engine_ARRAYSIZE; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 #if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int ConvolutionParameter::kNumOutputFieldNumber; -const int ConvolutionParameter::kBiasTermFieldNumber; -const int ConvolutionParameter::kPadFieldNumber; -const int ConvolutionParameter::kPadHFieldNumber; -const int ConvolutionParameter::kPadWFieldNumber; -const int ConvolutionParameter::kKernelSizeFieldNumber; -const int ConvolutionParameter::kKernelHFieldNumber; -const int ConvolutionParameter::kKernelWFieldNumber; -const int ConvolutionParameter::kGroupFieldNumber; -const int ConvolutionParameter::kStrideFieldNumber; -const int ConvolutionParameter::kStrideHFieldNumber; -const int ConvolutionParameter::kStrideWFieldNumber; -const int ConvolutionParameter::kWeightFillerFieldNumber; -const int ConvolutionParameter::kBiasFillerFieldNumber; -const int ConvolutionParameter::kEngineFieldNumber; -const int ConvolutionParameter::kDilationHFieldNumber; -const int ConvolutionParameter::kDilationWFieldNumber; -const int ConvolutionParameter::kDilationFieldNumber; +const int BiasParameter::kAxisFieldNumber; +const int BiasParameter::kNumAxesFieldNumber; +const int BiasParameter::kFillerFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 -ConvolutionParameter::ConvolutionParameter() +BiasParameter::BiasParameter() : ::google::protobuf::Message(), _internal_metadata_(NULL) { if (this != internal_default_instance()) protobuf_InitDefaults_caffe_2eproto(); SharedCtor(); - // @@protoc_insertion_point(constructor:caffe.ConvolutionParameter) + // @@protoc_insertion_point(constructor:caffe.BiasParameter) } -void ConvolutionParameter::InitAsDefaultInstance() { - weight_filler_ = const_cast< ::caffe::FillerParameter*>( - ::caffe::FillerParameter::internal_default_instance()); - bias_filler_ = const_cast< ::caffe::FillerParameter*>( +void BiasParameter::InitAsDefaultInstance() { + filler_ = const_cast< ::caffe::FillerParameter*>( ::caffe::FillerParameter::internal_default_instance()); } -ConvolutionParameter::ConvolutionParameter(const ConvolutionParameter& from) +BiasParameter::BiasParameter(const BiasParameter& from) : ::google::protobuf::Message(), _internal_metadata_(NULL) { SharedCtor(); UnsafeMergeFrom(from); - // @@protoc_insertion_point(copy_constructor:caffe.ConvolutionParameter) + // @@protoc_insertion_point(copy_constructor:caffe.BiasParameter) } -void ConvolutionParameter::SharedCtor() { +void BiasParameter::SharedCtor() { _cached_size_ = 0; - weight_filler_ = NULL; - bias_filler_ = NULL; - ::memset(&num_output_, 0, reinterpret_cast(&dilation_) - - reinterpret_cast(&num_output_) + sizeof(dilation_)); - stride_ = 1u; - bias_term_ = true; - group_ = 1u; + filler_ = NULL; + axis_ = 1; + num_axes_ = 1; } -ConvolutionParameter::~ConvolutionParameter() { - // @@protoc_insertion_point(destructor:caffe.ConvolutionParameter) +BiasParameter::~BiasParameter() { + // @@protoc_insertion_point(destructor:caffe.BiasParameter) SharedDtor(); } -void ConvolutionParameter::SharedDtor() { - if (this != &ConvolutionParameter_default_instance_.get()) { - delete weight_filler_; - delete bias_filler_; +void BiasParameter::SharedDtor() { + if (this != &BiasParameter_default_instance_.get()) { + delete filler_; } } -void ConvolutionParameter::SetCachedSize(int size) const { +void BiasParameter::SetCachedSize(int size) const { GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); _cached_size_ = size; GOOGLE_SAFE_CONCURRENT_WRITES_END(); } -const ::google::protobuf::Descriptor* ConvolutionParameter::descriptor() { +const ::google::protobuf::Descriptor* BiasParameter::descriptor() { protobuf_AssignDescriptorsOnce(); - return ConvolutionParameter_descriptor_; + return BiasParameter_descriptor_; } -const ConvolutionParameter& ConvolutionParameter::default_instance() { +const BiasParameter& BiasParameter::default_instance() { protobuf_InitDefaults_caffe_2eproto(); return *internal_default_instance(); } -::google::protobuf::internal::ExplicitlyConstructed ConvolutionParameter_default_instance_; +::google::protobuf::internal::ExplicitlyConstructed BiasParameter_default_instance_; -ConvolutionParameter* ConvolutionParameter::New(::google::protobuf::Arena* arena) const { - ConvolutionParameter* n = new ConvolutionParameter; +BiasParameter* BiasParameter::New(::google::protobuf::Arena* arena) const { + BiasParameter* n = new BiasParameter; if (arena != NULL) { arena->Own(n); } return n; } -void ConvolutionParameter::Clear() { -// @@protoc_insertion_point(message_clear_start:caffe.ConvolutionParameter) -#if defined(__clang__) -#define ZR_HELPER_(f) \ - _Pragma("clang diagnostic push") \ - _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \ - __builtin_offsetof(ConvolutionParameter, f) \ - _Pragma("clang diagnostic pop") -#else -#define ZR_HELPER_(f) reinterpret_cast(\ - &reinterpret_cast(16)->f) -#endif - -#define ZR_(first, last) do {\ - ::memset(&(first), 0,\ - ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\ -} while (0) - - if (_has_bits_[0 / 32] & 255u) { - ZR_(num_output_, kernel_w_); - bias_term_ = true; - } - if (_has_bits_[8 / 32] & 65280u) { - ZR_(stride_h_, dilation_h_); - group_ = 1u; - stride_ = 1u; - if (has_weight_filler()) { - if (weight_filler_ != NULL) weight_filler_->::caffe::FillerParameter::Clear(); - } - if (has_bias_filler()) { - if (bias_filler_ != NULL) bias_filler_->::caffe::FillerParameter::Clear(); +void BiasParameter::Clear() { +// @@protoc_insertion_point(message_clear_start:caffe.BiasParameter) + if (_has_bits_[0 / 32] & 7u) { + axis_ = 1; + num_axes_ = 1; + if (has_filler()) { + if (filler_ != NULL) filler_->::caffe::FillerParameter::Clear(); } } - ZR_(dilation_w_, dilation_); - -#undef ZR_HELPER_ -#undef ZR_ - _has_bits_.Clear(); if (_internal_metadata_.have_unknown_fields()) { mutable_unknown_fields()->Clear(); } } -bool ConvolutionParameter::MergePartialFromCodedStream( +bool BiasParameter::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:caffe.ConvolutionParameter) + // @@protoc_insertion_point(parse_start:caffe.BiasParameter) for (;;) { - ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383); + ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127); tag = p.first; if (!p.second) goto handle_unusual; switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // optional uint32 num_output = 1; + // optional int32 axis = 1 [default = 1]; case 1: { if (tag == 8) { - set_has_num_output(); + set_has_axis(); DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &num_output_))); + ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( + input, &axis_))); } else { goto handle_unusual; } - if (input->ExpectTag(16)) goto parse_bias_term; + if (input->ExpectTag(16)) goto parse_num_axes; break; } - // optional bool bias_term = 2 [default = true]; + // optional int32 num_axes = 2 [default = 1]; case 2: { if (tag == 16) { - parse_bias_term: - set_has_bias_term(); + parse_num_axes: + set_has_num_axes(); DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( - input, &bias_term_))); + ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( + input, &num_axes_))); } else { goto handle_unusual; } - if (input->ExpectTag(24)) goto parse_pad; + if (input->ExpectTag(26)) goto parse_filler; break; } - // optional uint32 pad = 3 [default = 0]; + // optional .caffe.FillerParameter filler = 3; case 3: { - if (tag == 24) { - parse_pad: - set_has_pad(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &pad_))); - } else { - goto handle_unusual; - } - if (input->ExpectTag(32)) goto parse_kernel_size; - break; - } - - // optional uint32 kernel_size = 4; - case 4: { - if (tag == 32) { - parse_kernel_size: - set_has_kernel_size(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &kernel_size_))); + if (tag == 26) { + parse_filler: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, mutable_filler())); } else { goto handle_unusual; } - if (input->ExpectTag(40)) goto parse_group; + if (input->ExpectAtEnd()) goto success; break; } - // optional uint32 group = 5 [default = 1]; - case 5: { - if (tag == 40) { - parse_group: - set_has_group(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &group_))); - } else { - goto handle_unusual; + default: { + handle_unusual: + if (tag == 0 || + ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + goto success; } - if (input->ExpectTag(48)) goto parse_stride; + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, mutable_unknown_fields())); break; } + } + } +success: + // @@protoc_insertion_point(parse_success:caffe.BiasParameter) + return true; +failure: + // @@protoc_insertion_point(parse_failure:caffe.BiasParameter) + return false; +#undef DO_ +} - // optional uint32 stride = 6 [default = 1]; - case 6: { - if (tag == 48) { - parse_stride: - set_has_stride(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &stride_))); - } else { - goto handle_unusual; - } - if (input->ExpectTag(58)) goto parse_weight_filler; - break; - } +void BiasParameter::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:caffe.BiasParameter) + // optional int32 axis = 1 [default = 1]; + if (has_axis()) { + ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->axis(), output); + } - // optional .caffe.FillerParameter weight_filler = 7; - case 7: { - if (tag == 58) { - parse_weight_filler: - DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( - input, mutable_weight_filler())); - } else { - goto handle_unusual; - } - if (input->ExpectTag(66)) goto parse_bias_filler; - break; - } + // optional int32 num_axes = 2 [default = 1]; + if (has_num_axes()) { + ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->num_axes(), output); + } - // optional .caffe.FillerParameter bias_filler = 8; - case 8: { - if (tag == 66) { - parse_bias_filler: - DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( - input, mutable_bias_filler())); - } else { - goto handle_unusual; - } - if (input->ExpectTag(72)) goto parse_pad_h; - break; - } + // optional .caffe.FillerParameter filler = 3; + if (has_filler()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 3, *this->filler_, output); + } - // optional uint32 pad_h = 9 [default = 0]; - case 9: { - if (tag == 72) { - parse_pad_h: - set_has_pad_h(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &pad_h_))); - } else { - goto handle_unusual; - } - if (input->ExpectTag(80)) goto parse_pad_w; - break; - } + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:caffe.BiasParameter) +} - // optional uint32 pad_w = 10 [default = 0]; - case 10: { - if (tag == 80) { - parse_pad_w: - set_has_pad_w(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &pad_w_))); - } else { - goto handle_unusual; - } - if (input->ExpectTag(88)) goto parse_kernel_h; - break; - } +::google::protobuf::uint8* BiasParameter::InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* target) const { + (void)deterministic; // Unused + // @@protoc_insertion_point(serialize_to_array_start:caffe.BiasParameter) + // optional int32 axis = 1 [default = 1]; + if (has_axis()) { + target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->axis(), target); + } - // optional uint32 kernel_h = 11; - case 11: { - if (tag == 88) { - parse_kernel_h: - set_has_kernel_h(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &kernel_h_))); - } else { - goto handle_unusual; - } - if (input->ExpectTag(96)) goto parse_kernel_w; - break; - } - - // optional uint32 kernel_w = 12; - case 12: { - if (tag == 96) { - parse_kernel_w: - set_has_kernel_w(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &kernel_w_))); - } else { - goto handle_unusual; - } - if (input->ExpectTag(104)) goto parse_stride_h; - break; - } - - // optional uint32 stride_h = 13; - case 13: { - if (tag == 104) { - parse_stride_h: - set_has_stride_h(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &stride_h_))); - } else { - goto handle_unusual; - } - if (input->ExpectTag(112)) goto parse_stride_w; - break; - } - - // optional uint32 stride_w = 14; - case 14: { - if (tag == 112) { - parse_stride_w: - set_has_stride_w(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &stride_w_))); - } else { - goto handle_unusual; - } - if (input->ExpectTag(120)) goto parse_engine; - break; - } - - // optional .caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT]; - case 15: { - if (tag == 120) { - parse_engine: - int value; - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>( - input, &value))); - if (::caffe::ConvolutionParameter_Engine_IsValid(value)) { - set_engine(static_cast< ::caffe::ConvolutionParameter_Engine >(value)); - } else { - mutable_unknown_fields()->AddVarint(15, value); - } - } else { - goto handle_unusual; - } - if (input->ExpectTag(144)) goto parse_dilation_h; - break; - } - - // optional uint32 dilation_h = 18; - case 18: { - if (tag == 144) { - parse_dilation_h: - set_has_dilation_h(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &dilation_h_))); - } else { - goto handle_unusual; - } - if (input->ExpectTag(152)) goto parse_dilation_w; - break; - } - - // optional uint32 dilation_w = 19; - case 19: { - if (tag == 152) { - parse_dilation_w: - set_has_dilation_w(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &dilation_w_))); - } else { - goto handle_unusual; - } - if (input->ExpectTag(160)) goto parse_dilation; - break; - } - - // optional uint32 dilation = 20; - case 20: { - if (tag == 160) { - parse_dilation: - set_has_dilation(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &dilation_))); - } else { - goto handle_unusual; - } - if (input->ExpectAtEnd()) goto success; - break; - } - - default: { - handle_unusual: - if (tag == 0 || - ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == - ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { - goto success; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:caffe.ConvolutionParameter) - return true; -failure: - // @@protoc_insertion_point(parse_failure:caffe.ConvolutionParameter) - return false; -#undef DO_ -} - -void ConvolutionParameter::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:caffe.ConvolutionParameter) - // optional uint32 num_output = 1; - if (has_num_output()) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->num_output(), output); - } - - // optional bool bias_term = 2 [default = true]; - if (has_bias_term()) { - ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->bias_term(), output); - } - - // optional uint32 pad = 3 [default = 0]; - if (has_pad()) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->pad(), output); - } - - // optional uint32 kernel_size = 4; - if (has_kernel_size()) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->kernel_size(), output); - } - - // optional uint32 group = 5 [default = 1]; - if (has_group()) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(5, this->group(), output); - } - - // optional uint32 stride = 6 [default = 1]; - if (has_stride()) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(6, this->stride(), output); - } - - // optional .caffe.FillerParameter weight_filler = 7; - if (has_weight_filler()) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 7, *this->weight_filler_, output); - } - - // optional .caffe.FillerParameter bias_filler = 8; - if (has_bias_filler()) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 8, *this->bias_filler_, output); - } - - // optional uint32 pad_h = 9 [default = 0]; - if (has_pad_h()) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(9, this->pad_h(), output); - } - - // optional uint32 pad_w = 10 [default = 0]; - if (has_pad_w()) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(10, this->pad_w(), output); - } - - // optional uint32 kernel_h = 11; - if (has_kernel_h()) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(11, this->kernel_h(), output); - } - - // optional uint32 kernel_w = 12; - if (has_kernel_w()) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(12, this->kernel_w(), output); - } - - // optional uint32 stride_h = 13; - if (has_stride_h()) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(13, this->stride_h(), output); - } - - // optional uint32 stride_w = 14; - if (has_stride_w()) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(14, this->stride_w(), output); - } - - // optional .caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT]; - if (has_engine()) { - ::google::protobuf::internal::WireFormatLite::WriteEnum( - 15, this->engine(), output); - } - - // optional uint32 dilation_h = 18; - if (has_dilation_h()) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(18, this->dilation_h(), output); - } - - // optional uint32 dilation_w = 19; - if (has_dilation_w()) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(19, this->dilation_w(), output); - } - - // optional uint32 dilation = 20; - if (has_dilation()) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(20, this->dilation(), output); - } - - if (_internal_metadata_.have_unknown_fields()) { - ::google::protobuf::internal::WireFormat::SerializeUnknownFields( - unknown_fields(), output); - } - // @@protoc_insertion_point(serialize_end:caffe.ConvolutionParameter) -} - -::google::protobuf::uint8* ConvolutionParameter::InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* target) const { - (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:caffe.ConvolutionParameter) - // optional uint32 num_output = 1; - if (has_num_output()) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->num_output(), target); - } - - // optional bool bias_term = 2 [default = true]; - if (has_bias_term()) { - target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->bias_term(), target); - } - - // optional uint32 pad = 3 [default = 0]; - if (has_pad()) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(3, this->pad(), target); - } - - // optional uint32 kernel_size = 4; - if (has_kernel_size()) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(4, this->kernel_size(), target); - } - - // optional uint32 group = 5 [default = 1]; - if (has_group()) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(5, this->group(), target); - } - - // optional uint32 stride = 6 [default = 1]; - if (has_stride()) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(6, this->stride(), target); - } - - // optional .caffe.FillerParameter weight_filler = 7; - if (has_weight_filler()) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageNoVirtualToArray( - 7, *this->weight_filler_, false, target); + // optional int32 num_axes = 2 [default = 1]; + if (has_num_axes()) { + target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->num_axes(), target); } - // optional .caffe.FillerParameter bias_filler = 8; - if (has_bias_filler()) { + // optional .caffe.FillerParameter filler = 3; + if (has_filler()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageNoVirtualToArray( - 8, *this->bias_filler_, false, target); - } - - // optional uint32 pad_h = 9 [default = 0]; - if (has_pad_h()) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(9, this->pad_h(), target); - } - - // optional uint32 pad_w = 10 [default = 0]; - if (has_pad_w()) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(10, this->pad_w(), target); - } - - // optional uint32 kernel_h = 11; - if (has_kernel_h()) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(11, this->kernel_h(), target); - } - - // optional uint32 kernel_w = 12; - if (has_kernel_w()) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(12, this->kernel_w(), target); - } - - // optional uint32 stride_h = 13; - if (has_stride_h()) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(13, this->stride_h(), target); - } - - // optional uint32 stride_w = 14; - if (has_stride_w()) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(14, this->stride_w(), target); - } - - // optional .caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT]; - if (has_engine()) { - target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray( - 15, this->engine(), target); - } - - // optional uint32 dilation_h = 18; - if (has_dilation_h()) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(18, this->dilation_h(), target); - } - - // optional uint32 dilation_w = 19; - if (has_dilation_w()) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(19, this->dilation_w(), target); - } - - // optional uint32 dilation = 20; - if (has_dilation()) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(20, this->dilation(), target); + 3, *this->filler_, false, target); } if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( unknown_fields(), target); } - // @@protoc_insertion_point(serialize_to_array_end:caffe.ConvolutionParameter) + // @@protoc_insertion_point(serialize_to_array_end:caffe.BiasParameter) return target; } -size_t ConvolutionParameter::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:caffe.ConvolutionParameter) +size_t BiasParameter::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:caffe.BiasParameter) size_t total_size = 0; - if (_has_bits_[0 / 32] & 255u) { - // optional uint32 num_output = 1; - if (has_num_output()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->num_output()); - } - - // optional bool bias_term = 2 [default = true]; - if (has_bias_term()) { - total_size += 1 + 1; - } - - // optional uint32 pad = 3 [default = 0]; - if (has_pad()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->pad()); - } - - // optional uint32 pad_h = 9 [default = 0]; - if (has_pad_h()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->pad_h()); - } - - // optional uint32 pad_w = 10 [default = 0]; - if (has_pad_w()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->pad_w()); - } - - // optional uint32 kernel_size = 4; - if (has_kernel_size()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->kernel_size()); - } - - // optional uint32 kernel_h = 11; - if (has_kernel_h()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->kernel_h()); - } - - // optional uint32 kernel_w = 12; - if (has_kernel_w()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->kernel_w()); - } - - } - if (_has_bits_[8 / 32] & 65280u) { - // optional uint32 group = 5 [default = 1]; - if (has_group()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->group()); - } - - // optional uint32 stride = 6 [default = 1]; - if (has_stride()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->stride()); - } - - // optional uint32 stride_h = 13; - if (has_stride_h()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->stride_h()); - } - - // optional uint32 stride_w = 14; - if (has_stride_w()) { + if (_has_bits_[0 / 32] & 7u) { + // optional int32 axis = 1 [default = 1]; + if (has_axis()) { total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->stride_w()); + ::google::protobuf::internal::WireFormatLite::Int32Size( + this->axis()); } - // optional .caffe.FillerParameter weight_filler = 7; - if (has_weight_filler()) { + // optional int32 num_axes = 2 [default = 1]; + if (has_num_axes()) { total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( - *this->weight_filler_); + ::google::protobuf::internal::WireFormatLite::Int32Size( + this->num_axes()); } - // optional .caffe.FillerParameter bias_filler = 8; - if (has_bias_filler()) { + // optional .caffe.FillerParameter filler = 3; + if (has_filler()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( - *this->bias_filler_); - } - - // optional .caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT]; - if (has_engine()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::EnumSize(this->engine()); - } - - // optional uint32 dilation_h = 18; - if (has_dilation_h()) { - total_size += 2 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->dilation_h()); - } - - } - if (_has_bits_[16 / 32] & 196608u) { - // optional uint32 dilation_w = 19; - if (has_dilation_w()) { - total_size += 2 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->dilation_w()); - } - - // optional uint32 dilation = 20; - if (has_dilation()) { - total_size += 2 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->dilation()); + *this->filler_); } } @@ -22132,23 +23106,23 @@ size_t ConvolutionParameter::ByteSizeLong() const { return total_size; } -void ConvolutionParameter::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:caffe.ConvolutionParameter) +void BiasParameter::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:caffe.BiasParameter) if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__); - const ConvolutionParameter* source = - ::google::protobuf::internal::DynamicCastToGenerated( + const BiasParameter* source = + ::google::protobuf::internal::DynamicCastToGenerated( &from); if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.ConvolutionParameter) + // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.BiasParameter) ::google::protobuf::internal::ReflectionOps::Merge(from, this); } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.ConvolutionParameter) + // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.BiasParameter) UnsafeMergeFrom(*source); } } -void ConvolutionParameter::MergeFrom(const ConvolutionParameter& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:caffe.ConvolutionParameter) +void BiasParameter::MergeFrom(const BiasParameter& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:caffe.BiasParameter) if (GOOGLE_PREDICT_TRUE(&from != this)) { UnsafeMergeFrom(from); } else { @@ -22156,66 +23130,17 @@ void ConvolutionParameter::MergeFrom(const ConvolutionParameter& from) { } } -void ConvolutionParameter::UnsafeMergeFrom(const ConvolutionParameter& from) { +void BiasParameter::UnsafeMergeFrom(const BiasParameter& from) { GOOGLE_DCHECK(&from != this); if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { - if (from.has_num_output()) { - set_num_output(from.num_output()); - } - if (from.has_bias_term()) { - set_bias_term(from.bias_term()); - } - if (from.has_pad()) { - set_pad(from.pad()); - } - if (from.has_pad_h()) { - set_pad_h(from.pad_h()); - } - if (from.has_pad_w()) { - set_pad_w(from.pad_w()); - } - if (from.has_kernel_size()) { - set_kernel_size(from.kernel_size()); - } - if (from.has_kernel_h()) { - set_kernel_h(from.kernel_h()); - } - if (from.has_kernel_w()) { - set_kernel_w(from.kernel_w()); - } - } - if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) { - if (from.has_group()) { - set_group(from.group()); - } - if (from.has_stride()) { - set_stride(from.stride()); - } - if (from.has_stride_h()) { - set_stride_h(from.stride_h()); - } - if (from.has_stride_w()) { - set_stride_w(from.stride_w()); - } - if (from.has_weight_filler()) { - mutable_weight_filler()->::caffe::FillerParameter::MergeFrom(from.weight_filler()); - } - if (from.has_bias_filler()) { - mutable_bias_filler()->::caffe::FillerParameter::MergeFrom(from.bias_filler()); - } - if (from.has_engine()) { - set_engine(from.engine()); - } - if (from.has_dilation_h()) { - set_dilation_h(from.dilation_h()); + if (from.has_axis()) { + set_axis(from.axis()); } - } - if (from._has_bits_[16 / 32] & (0xffu << (16 % 32))) { - if (from.has_dilation_w()) { - set_dilation_w(from.dilation_w()); + if (from.has_num_axes()) { + set_num_axes(from.num_axes()); } - if (from.has_dilation()) { - set_dilation(from.dilation()); + if (from.has_filler()) { + mutable_filler()->::caffe::FillerParameter::MergeFrom(from.filler()); } } if (from._internal_metadata_.have_unknown_fields()) { @@ -22224,829 +23149,3817 @@ void ConvolutionParameter::UnsafeMergeFrom(const ConvolutionParameter& from) { } } -void ConvolutionParameter::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:caffe.ConvolutionParameter) +void BiasParameter::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:caffe.BiasParameter) if (&from == this) return; Clear(); MergeFrom(from); } -void ConvolutionParameter::CopyFrom(const ConvolutionParameter& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:caffe.ConvolutionParameter) +void BiasParameter::CopyFrom(const BiasParameter& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:caffe.BiasParameter) if (&from == this) return; Clear(); UnsafeMergeFrom(from); } -bool ConvolutionParameter::IsInitialized() const { +bool BiasParameter::IsInitialized() const { return true; } -void ConvolutionParameter::Swap(ConvolutionParameter* other) { +void BiasParameter::Swap(BiasParameter* other) { if (other == this) return; InternalSwap(other); } -void ConvolutionParameter::InternalSwap(ConvolutionParameter* other) { - std::swap(num_output_, other->num_output_); - std::swap(bias_term_, other->bias_term_); - std::swap(pad_, other->pad_); - std::swap(pad_h_, other->pad_h_); - std::swap(pad_w_, other->pad_w_); - std::swap(kernel_size_, other->kernel_size_); - std::swap(kernel_h_, other->kernel_h_); - std::swap(kernel_w_, other->kernel_w_); - std::swap(group_, other->group_); - std::swap(stride_, other->stride_); - std::swap(stride_h_, other->stride_h_); - std::swap(stride_w_, other->stride_w_); - std::swap(weight_filler_, other->weight_filler_); - std::swap(bias_filler_, other->bias_filler_); - std::swap(engine_, other->engine_); - std::swap(dilation_h_, other->dilation_h_); - std::swap(dilation_w_, other->dilation_w_); - std::swap(dilation_, other->dilation_); +void BiasParameter::InternalSwap(BiasParameter* other) { + std::swap(axis_, other->axis_); + std::swap(num_axes_, other->num_axes_); + std::swap(filler_, other->filler_); std::swap(_has_bits_[0], other->_has_bits_[0]); _internal_metadata_.Swap(&other->_internal_metadata_); std::swap(_cached_size_, other->_cached_size_); } -::google::protobuf::Metadata ConvolutionParameter::GetMetadata() const { +::google::protobuf::Metadata BiasParameter::GetMetadata() const { protobuf_AssignDescriptorsOnce(); ::google::protobuf::Metadata metadata; - metadata.descriptor = ConvolutionParameter_descriptor_; - metadata.reflection = ConvolutionParameter_reflection_; + metadata.descriptor = BiasParameter_descriptor_; + metadata.reflection = BiasParameter_reflection_; + return metadata; +} + +#if PROTOBUF_INLINE_NOT_IN_HEADERS +// BiasParameter + +// optional int32 axis = 1 [default = 1]; +bool BiasParameter::has_axis() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +void BiasParameter::set_has_axis() { + _has_bits_[0] |= 0x00000001u; +} +void BiasParameter::clear_has_axis() { + _has_bits_[0] &= ~0x00000001u; +} +void BiasParameter::clear_axis() { + axis_ = 1; + clear_has_axis(); +} +::google::protobuf::int32 BiasParameter::axis() const { + // @@protoc_insertion_point(field_get:caffe.BiasParameter.axis) + return axis_; +} +void BiasParameter::set_axis(::google::protobuf::int32 value) { + set_has_axis(); + axis_ = value; + // @@protoc_insertion_point(field_set:caffe.BiasParameter.axis) +} + +// optional int32 num_axes = 2 [default = 1]; +bool BiasParameter::has_num_axes() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +void BiasParameter::set_has_num_axes() { + _has_bits_[0] |= 0x00000002u; +} +void BiasParameter::clear_has_num_axes() { + _has_bits_[0] &= ~0x00000002u; +} +void BiasParameter::clear_num_axes() { + num_axes_ = 1; + clear_has_num_axes(); +} +::google::protobuf::int32 BiasParameter::num_axes() const { + // @@protoc_insertion_point(field_get:caffe.BiasParameter.num_axes) + return num_axes_; +} +void BiasParameter::set_num_axes(::google::protobuf::int32 value) { + set_has_num_axes(); + num_axes_ = value; + // @@protoc_insertion_point(field_set:caffe.BiasParameter.num_axes) +} + +// optional .caffe.FillerParameter filler = 3; +bool BiasParameter::has_filler() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +void BiasParameter::set_has_filler() { + _has_bits_[0] |= 0x00000004u; +} +void BiasParameter::clear_has_filler() { + _has_bits_[0] &= ~0x00000004u; +} +void BiasParameter::clear_filler() { + if (filler_ != NULL) filler_->::caffe::FillerParameter::Clear(); + clear_has_filler(); +} +const ::caffe::FillerParameter& BiasParameter::filler() const { + // @@protoc_insertion_point(field_get:caffe.BiasParameter.filler) + return filler_ != NULL ? *filler_ + : *::caffe::FillerParameter::internal_default_instance(); +} +::caffe::FillerParameter* BiasParameter::mutable_filler() { + set_has_filler(); + if (filler_ == NULL) { + filler_ = new ::caffe::FillerParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.BiasParameter.filler) + return filler_; +} +::caffe::FillerParameter* BiasParameter::release_filler() { + // @@protoc_insertion_point(field_release:caffe.BiasParameter.filler) + clear_has_filler(); + ::caffe::FillerParameter* temp = filler_; + filler_ = NULL; + return temp; +} +void BiasParameter::set_allocated_filler(::caffe::FillerParameter* filler) { + delete filler_; + filler_ = filler; + if (filler) { + set_has_filler(); + } else { + clear_has_filler(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.BiasParameter.filler) +} + +inline const BiasParameter* BiasParameter::internal_default_instance() { + return &BiasParameter_default_instance_.get(); +} +#endif // PROTOBUF_INLINE_NOT_IN_HEADERS + +// =================================================================== + +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int ContrastiveLossParameter::kMarginFieldNumber; +const int ContrastiveLossParameter::kLegacyVersionFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +ContrastiveLossParameter::ContrastiveLossParameter() + : ::google::protobuf::Message(), _internal_metadata_(NULL) { + if (this != internal_default_instance()) protobuf_InitDefaults_caffe_2eproto(); + SharedCtor(); + // @@protoc_insertion_point(constructor:caffe.ContrastiveLossParameter) +} + +void ContrastiveLossParameter::InitAsDefaultInstance() { +} + +ContrastiveLossParameter::ContrastiveLossParameter(const ContrastiveLossParameter& from) + : ::google::protobuf::Message(), + _internal_metadata_(NULL) { + SharedCtor(); + UnsafeMergeFrom(from); + // @@protoc_insertion_point(copy_constructor:caffe.ContrastiveLossParameter) +} + +void ContrastiveLossParameter::SharedCtor() { + _cached_size_ = 0; + legacy_version_ = false; + margin_ = 1; +} + +ContrastiveLossParameter::~ContrastiveLossParameter() { + // @@protoc_insertion_point(destructor:caffe.ContrastiveLossParameter) + SharedDtor(); +} + +void ContrastiveLossParameter::SharedDtor() { +} + +void ContrastiveLossParameter::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* ContrastiveLossParameter::descriptor() { + protobuf_AssignDescriptorsOnce(); + return ContrastiveLossParameter_descriptor_; +} + +const ContrastiveLossParameter& ContrastiveLossParameter::default_instance() { + protobuf_InitDefaults_caffe_2eproto(); + return *internal_default_instance(); +} + +::google::protobuf::internal::ExplicitlyConstructed ContrastiveLossParameter_default_instance_; + +ContrastiveLossParameter* ContrastiveLossParameter::New(::google::protobuf::Arena* arena) const { + ContrastiveLossParameter* n = new ContrastiveLossParameter; + if (arena != NULL) { + arena->Own(n); + } + return n; +} + +void ContrastiveLossParameter::Clear() { +// @@protoc_insertion_point(message_clear_start:caffe.ContrastiveLossParameter) + if (_has_bits_[0 / 32] & 3u) { + margin_ = 1; + legacy_version_ = false; + } + _has_bits_.Clear(); + if (_internal_metadata_.have_unknown_fields()) { + mutable_unknown_fields()->Clear(); + } +} + +bool ContrastiveLossParameter::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:caffe.ContrastiveLossParameter) + for (;;) { + ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // optional float margin = 1 [default = 1]; + case 1: { + if (tag == 13) { + set_has_margin(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>( + input, &margin_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(16)) goto parse_legacy_version; + break; + } + + // optional bool legacy_version = 2 [default = false]; + case 2: { + if (tag == 16) { + parse_legacy_version: + set_has_legacy_version(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( + input, &legacy_version_))); + } else { + goto handle_unusual; + } + if (input->ExpectAtEnd()) goto success; + break; + } + + default: { + handle_unusual: + if (tag == 0 || + ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:caffe.ContrastiveLossParameter) + return true; +failure: + // @@protoc_insertion_point(parse_failure:caffe.ContrastiveLossParameter) + return false; +#undef DO_ +} + +void ContrastiveLossParameter::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:caffe.ContrastiveLossParameter) + // optional float margin = 1 [default = 1]; + if (has_margin()) { + ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->margin(), output); + } + + // optional bool legacy_version = 2 [default = false]; + if (has_legacy_version()) { + ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->legacy_version(), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:caffe.ContrastiveLossParameter) +} + +::google::protobuf::uint8* ContrastiveLossParameter::InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* target) const { + (void)deterministic; // Unused + // @@protoc_insertion_point(serialize_to_array_start:caffe.ContrastiveLossParameter) + // optional float margin = 1 [default = 1]; + if (has_margin()) { + target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->margin(), target); + } + + // optional bool legacy_version = 2 [default = false]; + if (has_legacy_version()) { + target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->legacy_version(), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:caffe.ContrastiveLossParameter) + return target; +} + +size_t ContrastiveLossParameter::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:caffe.ContrastiveLossParameter) + size_t total_size = 0; + + if (_has_bits_[0 / 32] & 3u) { + // optional float margin = 1 [default = 1]; + if (has_margin()) { + total_size += 1 + 4; + } + + // optional bool legacy_version = 2 [default = false]; + if (has_legacy_version()) { + total_size += 1 + 1; + } + + } + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + unknown_fields()); + } + 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 ContrastiveLossParameter::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:caffe.ContrastiveLossParameter) + if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__); + const ContrastiveLossParameter* source = + ::google::protobuf::internal::DynamicCastToGenerated( + &from); + if (source == NULL) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.ContrastiveLossParameter) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.ContrastiveLossParameter) + UnsafeMergeFrom(*source); + } +} + +void ContrastiveLossParameter::MergeFrom(const ContrastiveLossParameter& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:caffe.ContrastiveLossParameter) + if (GOOGLE_PREDICT_TRUE(&from != this)) { + UnsafeMergeFrom(from); + } else { + MergeFromFail(__LINE__); + } +} + +void ContrastiveLossParameter::UnsafeMergeFrom(const ContrastiveLossParameter& from) { + GOOGLE_DCHECK(&from != this); + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (from.has_margin()) { + set_margin(from.margin()); + } + if (from.has_legacy_version()) { + set_legacy_version(from.legacy_version()); + } + } + if (from._internal_metadata_.have_unknown_fields()) { + ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata( + from.unknown_fields(), &_internal_metadata_); + } +} + +void ContrastiveLossParameter::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:caffe.ContrastiveLossParameter) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void ContrastiveLossParameter::CopyFrom(const ContrastiveLossParameter& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:caffe.ContrastiveLossParameter) + if (&from == this) return; + Clear(); + UnsafeMergeFrom(from); +} + +bool ContrastiveLossParameter::IsInitialized() const { + + return true; +} + +void ContrastiveLossParameter::Swap(ContrastiveLossParameter* other) { + if (other == this) return; + InternalSwap(other); +} +void ContrastiveLossParameter::InternalSwap(ContrastiveLossParameter* other) { + std::swap(margin_, other->margin_); + std::swap(legacy_version_, other->legacy_version_); + std::swap(_has_bits_[0], other->_has_bits_[0]); + _internal_metadata_.Swap(&other->_internal_metadata_); + std::swap(_cached_size_, other->_cached_size_); +} + +::google::protobuf::Metadata ContrastiveLossParameter::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = ContrastiveLossParameter_descriptor_; + metadata.reflection = ContrastiveLossParameter_reflection_; + return metadata; +} + +#if PROTOBUF_INLINE_NOT_IN_HEADERS +// ContrastiveLossParameter + +// optional float margin = 1 [default = 1]; +bool ContrastiveLossParameter::has_margin() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +void ContrastiveLossParameter::set_has_margin() { + _has_bits_[0] |= 0x00000001u; +} +void ContrastiveLossParameter::clear_has_margin() { + _has_bits_[0] &= ~0x00000001u; +} +void ContrastiveLossParameter::clear_margin() { + margin_ = 1; + clear_has_margin(); +} +float ContrastiveLossParameter::margin() const { + // @@protoc_insertion_point(field_get:caffe.ContrastiveLossParameter.margin) + return margin_; +} +void ContrastiveLossParameter::set_margin(float value) { + set_has_margin(); + margin_ = value; + // @@protoc_insertion_point(field_set:caffe.ContrastiveLossParameter.margin) +} + +// optional bool legacy_version = 2 [default = false]; +bool ContrastiveLossParameter::has_legacy_version() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +void ContrastiveLossParameter::set_has_legacy_version() { + _has_bits_[0] |= 0x00000002u; +} +void ContrastiveLossParameter::clear_has_legacy_version() { + _has_bits_[0] &= ~0x00000002u; +} +void ContrastiveLossParameter::clear_legacy_version() { + legacy_version_ = false; + clear_has_legacy_version(); +} +bool ContrastiveLossParameter::legacy_version() const { + // @@protoc_insertion_point(field_get:caffe.ContrastiveLossParameter.legacy_version) + return legacy_version_; +} +void ContrastiveLossParameter::set_legacy_version(bool value) { + set_has_legacy_version(); + legacy_version_ = value; + // @@protoc_insertion_point(field_set:caffe.ContrastiveLossParameter.legacy_version) +} + +inline const ContrastiveLossParameter* ContrastiveLossParameter::internal_default_instance() { + return &ContrastiveLossParameter_default_instance_.get(); +} +#endif // PROTOBUF_INLINE_NOT_IN_HEADERS + +// =================================================================== + +const ::google::protobuf::EnumDescriptor* ConvolutionParameter_Engine_descriptor() { + protobuf_AssignDescriptorsOnce(); + return ConvolutionParameter_Engine_descriptor_; +} +bool ConvolutionParameter_Engine_IsValid(int value) { + switch (value) { + case 0: + case 1: + case 2: + return true; + default: + return false; + } +} + +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const ConvolutionParameter_Engine ConvolutionParameter::DEFAULT; +const ConvolutionParameter_Engine ConvolutionParameter::CAFFE; +const ConvolutionParameter_Engine ConvolutionParameter::CUDNN; +const ConvolutionParameter_Engine ConvolutionParameter::Engine_MIN; +const ConvolutionParameter_Engine ConvolutionParameter::Engine_MAX; +const int ConvolutionParameter::Engine_ARRAYSIZE; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int ConvolutionParameter::kNumOutputFieldNumber; +const int ConvolutionParameter::kBiasTermFieldNumber; +const int ConvolutionParameter::kPadFieldNumber; +const int ConvolutionParameter::kKernelSizeFieldNumber; +const int ConvolutionParameter::kStrideFieldNumber; +const int ConvolutionParameter::kDilationFieldNumber; +const int ConvolutionParameter::kPadHFieldNumber; +const int ConvolutionParameter::kPadWFieldNumber; +const int ConvolutionParameter::kKernelHFieldNumber; +const int ConvolutionParameter::kKernelWFieldNumber; +const int ConvolutionParameter::kStrideHFieldNumber; +const int ConvolutionParameter::kStrideWFieldNumber; +const int ConvolutionParameter::kGroupFieldNumber; +const int ConvolutionParameter::kWeightFillerFieldNumber; +const int ConvolutionParameter::kBiasFillerFieldNumber; +const int ConvolutionParameter::kEngineFieldNumber; +const int ConvolutionParameter::kAxisFieldNumber; +const int ConvolutionParameter::kForceNdIm2ColFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +ConvolutionParameter::ConvolutionParameter() + : ::google::protobuf::Message(), _internal_metadata_(NULL) { + if (this != internal_default_instance()) protobuf_InitDefaults_caffe_2eproto(); + SharedCtor(); + // @@protoc_insertion_point(constructor:caffe.ConvolutionParameter) +} + +void ConvolutionParameter::InitAsDefaultInstance() { + weight_filler_ = const_cast< ::caffe::FillerParameter*>( + ::caffe::FillerParameter::internal_default_instance()); + bias_filler_ = const_cast< ::caffe::FillerParameter*>( + ::caffe::FillerParameter::internal_default_instance()); +} + +ConvolutionParameter::ConvolutionParameter(const ConvolutionParameter& from) + : ::google::protobuf::Message(), + _internal_metadata_(NULL) { + SharedCtor(); + UnsafeMergeFrom(from); + // @@protoc_insertion_point(copy_constructor:caffe.ConvolutionParameter) +} + +void ConvolutionParameter::SharedCtor() { + _cached_size_ = 0; + weight_filler_ = NULL; + bias_filler_ = NULL; + ::memset(&num_output_, 0, reinterpret_cast(&force_nd_im2col_) - + reinterpret_cast(&num_output_) + sizeof(force_nd_im2col_)); + axis_ = 1; + bias_term_ = true; + group_ = 1u; +} + +ConvolutionParameter::~ConvolutionParameter() { + // @@protoc_insertion_point(destructor:caffe.ConvolutionParameter) + SharedDtor(); +} + +void ConvolutionParameter::SharedDtor() { + if (this != &ConvolutionParameter_default_instance_.get()) { + delete weight_filler_; + delete bias_filler_; + } +} + +void ConvolutionParameter::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* ConvolutionParameter::descriptor() { + protobuf_AssignDescriptorsOnce(); + return ConvolutionParameter_descriptor_; +} + +const ConvolutionParameter& ConvolutionParameter::default_instance() { + protobuf_InitDefaults_caffe_2eproto(); + return *internal_default_instance(); +} + +::google::protobuf::internal::ExplicitlyConstructed ConvolutionParameter_default_instance_; + +ConvolutionParameter* ConvolutionParameter::New(::google::protobuf::Arena* arena) const { + ConvolutionParameter* n = new ConvolutionParameter; + if (arena != NULL) { + arena->Own(n); + } + return n; +} + +void ConvolutionParameter::Clear() { +// @@protoc_insertion_point(message_clear_start:caffe.ConvolutionParameter) +#if defined(__clang__) +#define ZR_HELPER_(f) \ + _Pragma("clang diagnostic push") \ + _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \ + __builtin_offsetof(ConvolutionParameter, f) \ + _Pragma("clang diagnostic pop") +#else +#define ZR_HELPER_(f) reinterpret_cast(\ + &reinterpret_cast(16)->f) +#endif + +#define ZR_(first, last) do {\ + ::memset(&(first), 0,\ + ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\ +} while (0) + + if (_has_bits_[0 / 32] & 195u) { + ZR_(num_output_, pad_w_); + bias_term_ = true; + } + if (_has_bits_[8 / 32] & 65280u) { + ZR_(kernel_h_, engine_); + group_ = 1u; + if (has_weight_filler()) { + if (weight_filler_ != NULL) weight_filler_->::caffe::FillerParameter::Clear(); + } + if (has_bias_filler()) { + if (bias_filler_ != NULL) bias_filler_->::caffe::FillerParameter::Clear(); + } + } + if (_has_bits_[16 / 32] & 196608u) { + axis_ = 1; + force_nd_im2col_ = false; + } + +#undef ZR_HELPER_ +#undef ZR_ + + pad_.Clear(); + kernel_size_.Clear(); + stride_.Clear(); + dilation_.Clear(); + _has_bits_.Clear(); + if (_internal_metadata_.have_unknown_fields()) { + mutable_unknown_fields()->Clear(); + } +} + +bool ConvolutionParameter::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:caffe.ConvolutionParameter) + for (;;) { + ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // optional uint32 num_output = 1; + case 1: { + if (tag == 8) { + set_has_num_output(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, &num_output_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(16)) goto parse_bias_term; + break; + } + + // optional bool bias_term = 2 [default = true]; + case 2: { + if (tag == 16) { + parse_bias_term: + set_has_bias_term(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( + input, &bias_term_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(24)) goto parse_pad; + break; + } + + // repeated uint32 pad = 3; + case 3: { + if (tag == 24) { + parse_pad: + DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + 1, 24, input, this->mutable_pad()))); + } else if (tag == 26) { + DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, this->mutable_pad()))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(24)) goto parse_pad; + if (input->ExpectTag(32)) goto parse_kernel_size; + break; + } + + // repeated uint32 kernel_size = 4; + case 4: { + if (tag == 32) { + parse_kernel_size: + DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + 1, 32, input, this->mutable_kernel_size()))); + } else if (tag == 34) { + DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, this->mutable_kernel_size()))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(32)) goto parse_kernel_size; + if (input->ExpectTag(40)) goto parse_group; + break; + } + + // optional uint32 group = 5 [default = 1]; + case 5: { + if (tag == 40) { + parse_group: + set_has_group(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, &group_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(48)) goto parse_stride; + break; + } + + // repeated uint32 stride = 6; + case 6: { + if (tag == 48) { + parse_stride: + DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + 1, 48, input, this->mutable_stride()))); + } else if (tag == 50) { + DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, this->mutable_stride()))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(48)) goto parse_stride; + if (input->ExpectTag(58)) goto parse_weight_filler; + break; + } + + // optional .caffe.FillerParameter weight_filler = 7; + case 7: { + if (tag == 58) { + parse_weight_filler: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, mutable_weight_filler())); + } else { + goto handle_unusual; + } + if (input->ExpectTag(66)) goto parse_bias_filler; + break; + } + + // optional .caffe.FillerParameter bias_filler = 8; + case 8: { + if (tag == 66) { + parse_bias_filler: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, mutable_bias_filler())); + } else { + goto handle_unusual; + } + if (input->ExpectTag(72)) goto parse_pad_h; + break; + } + + // optional uint32 pad_h = 9 [default = 0]; + case 9: { + if (tag == 72) { + parse_pad_h: + set_has_pad_h(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, &pad_h_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(80)) goto parse_pad_w; + break; + } + + // optional uint32 pad_w = 10 [default = 0]; + case 10: { + if (tag == 80) { + parse_pad_w: + set_has_pad_w(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, &pad_w_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(88)) goto parse_kernel_h; + break; + } + + // optional uint32 kernel_h = 11; + case 11: { + if (tag == 88) { + parse_kernel_h: + set_has_kernel_h(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, &kernel_h_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(96)) goto parse_kernel_w; + break; + } + + // optional uint32 kernel_w = 12; + case 12: { + if (tag == 96) { + parse_kernel_w: + set_has_kernel_w(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, &kernel_w_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(104)) goto parse_stride_h; + break; + } + + // optional uint32 stride_h = 13; + case 13: { + if (tag == 104) { + parse_stride_h: + set_has_stride_h(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, &stride_h_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(112)) goto parse_stride_w; + break; + } + + // optional uint32 stride_w = 14; + case 14: { + if (tag == 112) { + parse_stride_w: + set_has_stride_w(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, &stride_w_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(120)) goto parse_engine; + break; + } + + // optional .caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT]; + case 15: { + if (tag == 120) { + parse_engine: + int value; + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>( + input, &value))); + if (::caffe::ConvolutionParameter_Engine_IsValid(value)) { + set_engine(static_cast< ::caffe::ConvolutionParameter_Engine >(value)); + } else { + mutable_unknown_fields()->AddVarint(15, value); + } + } else { + goto handle_unusual; + } + if (input->ExpectTag(128)) goto parse_axis; + break; + } + + // optional int32 axis = 16 [default = 1]; + case 16: { + if (tag == 128) { + parse_axis: + set_has_axis(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( + input, &axis_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(136)) goto parse_force_nd_im2col; + break; + } + + // optional bool force_nd_im2col = 17 [default = false]; + case 17: { + if (tag == 136) { + parse_force_nd_im2col: + set_has_force_nd_im2col(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( + input, &force_nd_im2col_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(144)) goto parse_dilation; + break; + } + + // repeated uint32 dilation = 18; + case 18: { + if (tag == 144) { + parse_dilation: + DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + 2, 144, input, this->mutable_dilation()))); + } else if (tag == 146) { + DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, this->mutable_dilation()))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(144)) goto parse_dilation; + if (input->ExpectAtEnd()) goto success; + break; + } + + default: { + handle_unusual: + if (tag == 0 || + ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:caffe.ConvolutionParameter) + return true; +failure: + // @@protoc_insertion_point(parse_failure:caffe.ConvolutionParameter) + return false; +#undef DO_ +} + +void ConvolutionParameter::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:caffe.ConvolutionParameter) + // optional uint32 num_output = 1; + if (has_num_output()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->num_output(), output); + } + + // optional bool bias_term = 2 [default = true]; + if (has_bias_term()) { + ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->bias_term(), output); + } + + // repeated uint32 pad = 3; + for (int i = 0; i < this->pad_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32( + 3, this->pad(i), output); + } + + // repeated uint32 kernel_size = 4; + for (int i = 0; i < this->kernel_size_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32( + 4, this->kernel_size(i), output); + } + + // optional uint32 group = 5 [default = 1]; + if (has_group()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32(5, this->group(), output); + } + + // repeated uint32 stride = 6; + for (int i = 0; i < this->stride_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32( + 6, this->stride(i), output); + } + + // optional .caffe.FillerParameter weight_filler = 7; + if (has_weight_filler()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 7, *this->weight_filler_, output); + } + + // optional .caffe.FillerParameter bias_filler = 8; + if (has_bias_filler()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 8, *this->bias_filler_, output); + } + + // optional uint32 pad_h = 9 [default = 0]; + if (has_pad_h()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32(9, this->pad_h(), output); + } + + // optional uint32 pad_w = 10 [default = 0]; + if (has_pad_w()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32(10, this->pad_w(), output); + } + + // optional uint32 kernel_h = 11; + if (has_kernel_h()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32(11, this->kernel_h(), output); + } + + // optional uint32 kernel_w = 12; + if (has_kernel_w()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32(12, this->kernel_w(), output); + } + + // optional uint32 stride_h = 13; + if (has_stride_h()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32(13, this->stride_h(), output); + } + + // optional uint32 stride_w = 14; + if (has_stride_w()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32(14, this->stride_w(), output); + } + + // optional .caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT]; + if (has_engine()) { + ::google::protobuf::internal::WireFormatLite::WriteEnum( + 15, this->engine(), output); + } + + // optional int32 axis = 16 [default = 1]; + if (has_axis()) { + ::google::protobuf::internal::WireFormatLite::WriteInt32(16, this->axis(), output); + } + + // optional bool force_nd_im2col = 17 [default = false]; + if (has_force_nd_im2col()) { + ::google::protobuf::internal::WireFormatLite::WriteBool(17, this->force_nd_im2col(), output); + } + + // repeated uint32 dilation = 18; + for (int i = 0; i < this->dilation_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32( + 18, this->dilation(i), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:caffe.ConvolutionParameter) +} + +::google::protobuf::uint8* ConvolutionParameter::InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* target) const { + (void)deterministic; // Unused + // @@protoc_insertion_point(serialize_to_array_start:caffe.ConvolutionParameter) + // optional uint32 num_output = 1; + if (has_num_output()) { + target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->num_output(), target); + } + + // optional bool bias_term = 2 [default = true]; + if (has_bias_term()) { + target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->bias_term(), target); + } + + // repeated uint32 pad = 3; + for (int i = 0; i < this->pad_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteUInt32ToArray(3, this->pad(i), target); + } + + // repeated uint32 kernel_size = 4; + for (int i = 0; i < this->kernel_size_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteUInt32ToArray(4, this->kernel_size(i), target); + } + + // optional uint32 group = 5 [default = 1]; + if (has_group()) { + target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(5, this->group(), target); + } + + // repeated uint32 stride = 6; + for (int i = 0; i < this->stride_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteUInt32ToArray(6, this->stride(i), target); + } + + // optional .caffe.FillerParameter weight_filler = 7; + if (has_weight_filler()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageNoVirtualToArray( + 7, *this->weight_filler_, false, target); + } + + // optional .caffe.FillerParameter bias_filler = 8; + if (has_bias_filler()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageNoVirtualToArray( + 8, *this->bias_filler_, false, target); + } + + // optional uint32 pad_h = 9 [default = 0]; + if (has_pad_h()) { + target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(9, this->pad_h(), target); + } + + // optional uint32 pad_w = 10 [default = 0]; + if (has_pad_w()) { + target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(10, this->pad_w(), target); + } + + // optional uint32 kernel_h = 11; + if (has_kernel_h()) { + target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(11, this->kernel_h(), target); + } + + // optional uint32 kernel_w = 12; + if (has_kernel_w()) { + target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(12, this->kernel_w(), target); + } + + // optional uint32 stride_h = 13; + if (has_stride_h()) { + target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(13, this->stride_h(), target); + } + + // optional uint32 stride_w = 14; + if (has_stride_w()) { + target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(14, this->stride_w(), target); + } + + // optional .caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT]; + if (has_engine()) { + target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray( + 15, this->engine(), target); + } + + // optional int32 axis = 16 [default = 1]; + if (has_axis()) { + target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(16, this->axis(), target); + } + + // optional bool force_nd_im2col = 17 [default = false]; + if (has_force_nd_im2col()) { + target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(17, this->force_nd_im2col(), target); + } + + // repeated uint32 dilation = 18; + for (int i = 0; i < this->dilation_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteUInt32ToArray(18, this->dilation(i), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:caffe.ConvolutionParameter) + return target; +} + +size_t ConvolutionParameter::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:caffe.ConvolutionParameter) + size_t total_size = 0; + + if (_has_bits_[0 / 32] & 195u) { + // optional uint32 num_output = 1; + if (has_num_output()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt32Size( + this->num_output()); + } + + // optional bool bias_term = 2 [default = true]; + if (has_bias_term()) { + total_size += 1 + 1; + } + + // optional uint32 pad_h = 9 [default = 0]; + if (has_pad_h()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt32Size( + this->pad_h()); + } + + // optional uint32 pad_w = 10 [default = 0]; + if (has_pad_w()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt32Size( + this->pad_w()); + } + + } + if (_has_bits_[8 / 32] & 65280u) { + // optional uint32 kernel_h = 11; + if (has_kernel_h()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt32Size( + this->kernel_h()); + } + + // optional uint32 kernel_w = 12; + if (has_kernel_w()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt32Size( + this->kernel_w()); + } + + // optional uint32 stride_h = 13; + if (has_stride_h()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt32Size( + this->stride_h()); + } + + // optional uint32 stride_w = 14; + if (has_stride_w()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt32Size( + this->stride_w()); + } + + // optional uint32 group = 5 [default = 1]; + if (has_group()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt32Size( + this->group()); + } + + // optional .caffe.FillerParameter weight_filler = 7; + if (has_weight_filler()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + *this->weight_filler_); + } + + // optional .caffe.FillerParameter bias_filler = 8; + if (has_bias_filler()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + *this->bias_filler_); + } + + // optional .caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT]; + if (has_engine()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::EnumSize(this->engine()); + } + + } + if (_has_bits_[16 / 32] & 196608u) { + // optional int32 axis = 16 [default = 1]; + if (has_axis()) { + total_size += 2 + + ::google::protobuf::internal::WireFormatLite::Int32Size( + this->axis()); + } + + // optional bool force_nd_im2col = 17 [default = false]; + if (has_force_nd_im2col()) { + total_size += 2 + 1; + } + + } + // repeated uint32 pad = 3; + { + size_t data_size = 0; + unsigned int count = this->pad_size(); + for (unsigned int i = 0; i < count; i++) { + data_size += ::google::protobuf::internal::WireFormatLite:: + UInt32Size(this->pad(i)); + } + total_size += 1 * + ::google::protobuf::internal::FromIntSize(this->pad_size()); + total_size += data_size; + } + + // repeated uint32 kernel_size = 4; + { + size_t data_size = 0; + unsigned int count = this->kernel_size_size(); + for (unsigned int i = 0; i < count; i++) { + data_size += ::google::protobuf::internal::WireFormatLite:: + UInt32Size(this->kernel_size(i)); + } + total_size += 1 * + ::google::protobuf::internal::FromIntSize(this->kernel_size_size()); + total_size += data_size; + } + + // repeated uint32 stride = 6; + { + size_t data_size = 0; + unsigned int count = this->stride_size(); + for (unsigned int i = 0; i < count; i++) { + data_size += ::google::protobuf::internal::WireFormatLite:: + UInt32Size(this->stride(i)); + } + total_size += 1 * + ::google::protobuf::internal::FromIntSize(this->stride_size()); + total_size += data_size; + } + + // repeated uint32 dilation = 18; + { + size_t data_size = 0; + unsigned int count = this->dilation_size(); + for (unsigned int i = 0; i < count; i++) { + data_size += ::google::protobuf::internal::WireFormatLite:: + UInt32Size(this->dilation(i)); + } + total_size += 2 * + ::google::protobuf::internal::FromIntSize(this->dilation_size()); + total_size += data_size; + } + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + unknown_fields()); + } + 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 ConvolutionParameter::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:caffe.ConvolutionParameter) + if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__); + const ConvolutionParameter* source = + ::google::protobuf::internal::DynamicCastToGenerated( + &from); + if (source == NULL) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.ConvolutionParameter) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.ConvolutionParameter) + UnsafeMergeFrom(*source); + } +} + +void ConvolutionParameter::MergeFrom(const ConvolutionParameter& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:caffe.ConvolutionParameter) + if (GOOGLE_PREDICT_TRUE(&from != this)) { + UnsafeMergeFrom(from); + } else { + MergeFromFail(__LINE__); + } +} + +void ConvolutionParameter::UnsafeMergeFrom(const ConvolutionParameter& from) { + GOOGLE_DCHECK(&from != this); + pad_.UnsafeMergeFrom(from.pad_); + kernel_size_.UnsafeMergeFrom(from.kernel_size_); + stride_.UnsafeMergeFrom(from.stride_); + dilation_.UnsafeMergeFrom(from.dilation_); + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (from.has_num_output()) { + set_num_output(from.num_output()); + } + if (from.has_bias_term()) { + set_bias_term(from.bias_term()); + } + if (from.has_pad_h()) { + set_pad_h(from.pad_h()); + } + if (from.has_pad_w()) { + set_pad_w(from.pad_w()); + } + } + if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) { + if (from.has_kernel_h()) { + set_kernel_h(from.kernel_h()); + } + if (from.has_kernel_w()) { + set_kernel_w(from.kernel_w()); + } + if (from.has_stride_h()) { + set_stride_h(from.stride_h()); + } + if (from.has_stride_w()) { + set_stride_w(from.stride_w()); + } + if (from.has_group()) { + set_group(from.group()); + } + if (from.has_weight_filler()) { + mutable_weight_filler()->::caffe::FillerParameter::MergeFrom(from.weight_filler()); + } + if (from.has_bias_filler()) { + mutable_bias_filler()->::caffe::FillerParameter::MergeFrom(from.bias_filler()); + } + if (from.has_engine()) { + set_engine(from.engine()); + } + } + if (from._has_bits_[16 / 32] & (0xffu << (16 % 32))) { + if (from.has_axis()) { + set_axis(from.axis()); + } + if (from.has_force_nd_im2col()) { + set_force_nd_im2col(from.force_nd_im2col()); + } + } + if (from._internal_metadata_.have_unknown_fields()) { + ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata( + from.unknown_fields(), &_internal_metadata_); + } +} + +void ConvolutionParameter::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:caffe.ConvolutionParameter) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void ConvolutionParameter::CopyFrom(const ConvolutionParameter& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:caffe.ConvolutionParameter) + if (&from == this) return; + Clear(); + UnsafeMergeFrom(from); +} + +bool ConvolutionParameter::IsInitialized() const { + + return true; +} + +void ConvolutionParameter::Swap(ConvolutionParameter* other) { + if (other == this) return; + InternalSwap(other); +} +void ConvolutionParameter::InternalSwap(ConvolutionParameter* other) { + std::swap(num_output_, other->num_output_); + std::swap(bias_term_, other->bias_term_); + pad_.UnsafeArenaSwap(&other->pad_); + kernel_size_.UnsafeArenaSwap(&other->kernel_size_); + stride_.UnsafeArenaSwap(&other->stride_); + dilation_.UnsafeArenaSwap(&other->dilation_); + std::swap(pad_h_, other->pad_h_); + std::swap(pad_w_, other->pad_w_); + std::swap(kernel_h_, other->kernel_h_); + std::swap(kernel_w_, other->kernel_w_); + std::swap(stride_h_, other->stride_h_); + std::swap(stride_w_, other->stride_w_); + std::swap(group_, other->group_); + std::swap(weight_filler_, other->weight_filler_); + std::swap(bias_filler_, other->bias_filler_); + std::swap(engine_, other->engine_); + std::swap(axis_, other->axis_); + std::swap(force_nd_im2col_, other->force_nd_im2col_); + std::swap(_has_bits_[0], other->_has_bits_[0]); + _internal_metadata_.Swap(&other->_internal_metadata_); + std::swap(_cached_size_, other->_cached_size_); +} + +::google::protobuf::Metadata ConvolutionParameter::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = ConvolutionParameter_descriptor_; + metadata.reflection = ConvolutionParameter_reflection_; return metadata; } #if PROTOBUF_INLINE_NOT_IN_HEADERS // ConvolutionParameter -// optional uint32 num_output = 1; -bool ConvolutionParameter::has_num_output() const { +// optional uint32 num_output = 1; +bool ConvolutionParameter::has_num_output() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +void ConvolutionParameter::set_has_num_output() { + _has_bits_[0] |= 0x00000001u; +} +void ConvolutionParameter::clear_has_num_output() { + _has_bits_[0] &= ~0x00000001u; +} +void ConvolutionParameter::clear_num_output() { + num_output_ = 0u; + clear_has_num_output(); +} +::google::protobuf::uint32 ConvolutionParameter::num_output() const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.num_output) + return num_output_; +} +void ConvolutionParameter::set_num_output(::google::protobuf::uint32 value) { + set_has_num_output(); + num_output_ = value; + // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.num_output) +} + +// optional bool bias_term = 2 [default = true]; +bool ConvolutionParameter::has_bias_term() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +void ConvolutionParameter::set_has_bias_term() { + _has_bits_[0] |= 0x00000002u; +} +void ConvolutionParameter::clear_has_bias_term() { + _has_bits_[0] &= ~0x00000002u; +} +void ConvolutionParameter::clear_bias_term() { + bias_term_ = true; + clear_has_bias_term(); +} +bool ConvolutionParameter::bias_term() const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.bias_term) + return bias_term_; +} +void ConvolutionParameter::set_bias_term(bool value) { + set_has_bias_term(); + bias_term_ = value; + // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.bias_term) +} + +// repeated uint32 pad = 3; +int ConvolutionParameter::pad_size() const { + return pad_.size(); +} +void ConvolutionParameter::clear_pad() { + pad_.Clear(); +} +::google::protobuf::uint32 ConvolutionParameter::pad(int index) const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.pad) + return pad_.Get(index); +} +void ConvolutionParameter::set_pad(int index, ::google::protobuf::uint32 value) { + pad_.Set(index, value); + // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.pad) +} +void ConvolutionParameter::add_pad(::google::protobuf::uint32 value) { + pad_.Add(value); + // @@protoc_insertion_point(field_add:caffe.ConvolutionParameter.pad) +} +const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& +ConvolutionParameter::pad() const { + // @@protoc_insertion_point(field_list:caffe.ConvolutionParameter.pad) + return pad_; +} +::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* +ConvolutionParameter::mutable_pad() { + // @@protoc_insertion_point(field_mutable_list:caffe.ConvolutionParameter.pad) + return &pad_; +} + +// repeated uint32 kernel_size = 4; +int ConvolutionParameter::kernel_size_size() const { + return kernel_size_.size(); +} +void ConvolutionParameter::clear_kernel_size() { + kernel_size_.Clear(); +} +::google::protobuf::uint32 ConvolutionParameter::kernel_size(int index) const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.kernel_size) + return kernel_size_.Get(index); +} +void ConvolutionParameter::set_kernel_size(int index, ::google::protobuf::uint32 value) { + kernel_size_.Set(index, value); + // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.kernel_size) +} +void ConvolutionParameter::add_kernel_size(::google::protobuf::uint32 value) { + kernel_size_.Add(value); + // @@protoc_insertion_point(field_add:caffe.ConvolutionParameter.kernel_size) +} +const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& +ConvolutionParameter::kernel_size() const { + // @@protoc_insertion_point(field_list:caffe.ConvolutionParameter.kernel_size) + return kernel_size_; +} +::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* +ConvolutionParameter::mutable_kernel_size() { + // @@protoc_insertion_point(field_mutable_list:caffe.ConvolutionParameter.kernel_size) + return &kernel_size_; +} + +// repeated uint32 stride = 6; +int ConvolutionParameter::stride_size() const { + return stride_.size(); +} +void ConvolutionParameter::clear_stride() { + stride_.Clear(); +} +::google::protobuf::uint32 ConvolutionParameter::stride(int index) const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.stride) + return stride_.Get(index); +} +void ConvolutionParameter::set_stride(int index, ::google::protobuf::uint32 value) { + stride_.Set(index, value); + // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.stride) +} +void ConvolutionParameter::add_stride(::google::protobuf::uint32 value) { + stride_.Add(value); + // @@protoc_insertion_point(field_add:caffe.ConvolutionParameter.stride) +} +const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& +ConvolutionParameter::stride() const { + // @@protoc_insertion_point(field_list:caffe.ConvolutionParameter.stride) + return stride_; +} +::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* +ConvolutionParameter::mutable_stride() { + // @@protoc_insertion_point(field_mutable_list:caffe.ConvolutionParameter.stride) + return &stride_; +} + +// repeated uint32 dilation = 18; +int ConvolutionParameter::dilation_size() const { + return dilation_.size(); +} +void ConvolutionParameter::clear_dilation() { + dilation_.Clear(); +} +::google::protobuf::uint32 ConvolutionParameter::dilation(int index) const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.dilation) + return dilation_.Get(index); +} +void ConvolutionParameter::set_dilation(int index, ::google::protobuf::uint32 value) { + dilation_.Set(index, value); + // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.dilation) +} +void ConvolutionParameter::add_dilation(::google::protobuf::uint32 value) { + dilation_.Add(value); + // @@protoc_insertion_point(field_add:caffe.ConvolutionParameter.dilation) +} +const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& +ConvolutionParameter::dilation() const { + // @@protoc_insertion_point(field_list:caffe.ConvolutionParameter.dilation) + return dilation_; +} +::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* +ConvolutionParameter::mutable_dilation() { + // @@protoc_insertion_point(field_mutable_list:caffe.ConvolutionParameter.dilation) + return &dilation_; +} + +// optional uint32 pad_h = 9 [default = 0]; +bool ConvolutionParameter::has_pad_h() const { + return (_has_bits_[0] & 0x00000040u) != 0; +} +void ConvolutionParameter::set_has_pad_h() { + _has_bits_[0] |= 0x00000040u; +} +void ConvolutionParameter::clear_has_pad_h() { + _has_bits_[0] &= ~0x00000040u; +} +void ConvolutionParameter::clear_pad_h() { + pad_h_ = 0u; + clear_has_pad_h(); +} +::google::protobuf::uint32 ConvolutionParameter::pad_h() const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.pad_h) + return pad_h_; +} +void ConvolutionParameter::set_pad_h(::google::protobuf::uint32 value) { + set_has_pad_h(); + pad_h_ = value; + // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.pad_h) +} + +// optional uint32 pad_w = 10 [default = 0]; +bool ConvolutionParameter::has_pad_w() const { + return (_has_bits_[0] & 0x00000080u) != 0; +} +void ConvolutionParameter::set_has_pad_w() { + _has_bits_[0] |= 0x00000080u; +} +void ConvolutionParameter::clear_has_pad_w() { + _has_bits_[0] &= ~0x00000080u; +} +void ConvolutionParameter::clear_pad_w() { + pad_w_ = 0u; + clear_has_pad_w(); +} +::google::protobuf::uint32 ConvolutionParameter::pad_w() const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.pad_w) + return pad_w_; +} +void ConvolutionParameter::set_pad_w(::google::protobuf::uint32 value) { + set_has_pad_w(); + pad_w_ = value; + // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.pad_w) +} + +// optional uint32 kernel_h = 11; +bool ConvolutionParameter::has_kernel_h() const { + return (_has_bits_[0] & 0x00000100u) != 0; +} +void ConvolutionParameter::set_has_kernel_h() { + _has_bits_[0] |= 0x00000100u; +} +void ConvolutionParameter::clear_has_kernel_h() { + _has_bits_[0] &= ~0x00000100u; +} +void ConvolutionParameter::clear_kernel_h() { + kernel_h_ = 0u; + clear_has_kernel_h(); +} +::google::protobuf::uint32 ConvolutionParameter::kernel_h() const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.kernel_h) + return kernel_h_; +} +void ConvolutionParameter::set_kernel_h(::google::protobuf::uint32 value) { + set_has_kernel_h(); + kernel_h_ = value; + // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.kernel_h) +} + +// optional uint32 kernel_w = 12; +bool ConvolutionParameter::has_kernel_w() const { + return (_has_bits_[0] & 0x00000200u) != 0; +} +void ConvolutionParameter::set_has_kernel_w() { + _has_bits_[0] |= 0x00000200u; +} +void ConvolutionParameter::clear_has_kernel_w() { + _has_bits_[0] &= ~0x00000200u; +} +void ConvolutionParameter::clear_kernel_w() { + kernel_w_ = 0u; + clear_has_kernel_w(); +} +::google::protobuf::uint32 ConvolutionParameter::kernel_w() const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.kernel_w) + return kernel_w_; +} +void ConvolutionParameter::set_kernel_w(::google::protobuf::uint32 value) { + set_has_kernel_w(); + kernel_w_ = value; + // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.kernel_w) +} + +// optional uint32 stride_h = 13; +bool ConvolutionParameter::has_stride_h() const { + return (_has_bits_[0] & 0x00000400u) != 0; +} +void ConvolutionParameter::set_has_stride_h() { + _has_bits_[0] |= 0x00000400u; +} +void ConvolutionParameter::clear_has_stride_h() { + _has_bits_[0] &= ~0x00000400u; +} +void ConvolutionParameter::clear_stride_h() { + stride_h_ = 0u; + clear_has_stride_h(); +} +::google::protobuf::uint32 ConvolutionParameter::stride_h() const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.stride_h) + return stride_h_; +} +void ConvolutionParameter::set_stride_h(::google::protobuf::uint32 value) { + set_has_stride_h(); + stride_h_ = value; + // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.stride_h) +} + +// optional uint32 stride_w = 14; +bool ConvolutionParameter::has_stride_w() const { + return (_has_bits_[0] & 0x00000800u) != 0; +} +void ConvolutionParameter::set_has_stride_w() { + _has_bits_[0] |= 0x00000800u; +} +void ConvolutionParameter::clear_has_stride_w() { + _has_bits_[0] &= ~0x00000800u; +} +void ConvolutionParameter::clear_stride_w() { + stride_w_ = 0u; + clear_has_stride_w(); +} +::google::protobuf::uint32 ConvolutionParameter::stride_w() const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.stride_w) + return stride_w_; +} +void ConvolutionParameter::set_stride_w(::google::protobuf::uint32 value) { + set_has_stride_w(); + stride_w_ = value; + // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.stride_w) +} + +// optional uint32 group = 5 [default = 1]; +bool ConvolutionParameter::has_group() const { + return (_has_bits_[0] & 0x00001000u) != 0; +} +void ConvolutionParameter::set_has_group() { + _has_bits_[0] |= 0x00001000u; +} +void ConvolutionParameter::clear_has_group() { + _has_bits_[0] &= ~0x00001000u; +} +void ConvolutionParameter::clear_group() { + group_ = 1u; + clear_has_group(); +} +::google::protobuf::uint32 ConvolutionParameter::group() const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.group) + return group_; +} +void ConvolutionParameter::set_group(::google::protobuf::uint32 value) { + set_has_group(); + group_ = value; + // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.group) +} + +// optional .caffe.FillerParameter weight_filler = 7; +bool ConvolutionParameter::has_weight_filler() const { + return (_has_bits_[0] & 0x00002000u) != 0; +} +void ConvolutionParameter::set_has_weight_filler() { + _has_bits_[0] |= 0x00002000u; +} +void ConvolutionParameter::clear_has_weight_filler() { + _has_bits_[0] &= ~0x00002000u; +} +void ConvolutionParameter::clear_weight_filler() { + if (weight_filler_ != NULL) weight_filler_->::caffe::FillerParameter::Clear(); + clear_has_weight_filler(); +} +const ::caffe::FillerParameter& ConvolutionParameter::weight_filler() const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.weight_filler) + return weight_filler_ != NULL ? *weight_filler_ + : *::caffe::FillerParameter::internal_default_instance(); +} +::caffe::FillerParameter* ConvolutionParameter::mutable_weight_filler() { + set_has_weight_filler(); + if (weight_filler_ == NULL) { + weight_filler_ = new ::caffe::FillerParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.ConvolutionParameter.weight_filler) + return weight_filler_; +} +::caffe::FillerParameter* ConvolutionParameter::release_weight_filler() { + // @@protoc_insertion_point(field_release:caffe.ConvolutionParameter.weight_filler) + clear_has_weight_filler(); + ::caffe::FillerParameter* temp = weight_filler_; + weight_filler_ = NULL; + return temp; +} +void ConvolutionParameter::set_allocated_weight_filler(::caffe::FillerParameter* weight_filler) { + delete weight_filler_; + weight_filler_ = weight_filler; + if (weight_filler) { + set_has_weight_filler(); + } else { + clear_has_weight_filler(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.ConvolutionParameter.weight_filler) +} + +// optional .caffe.FillerParameter bias_filler = 8; +bool ConvolutionParameter::has_bias_filler() const { + return (_has_bits_[0] & 0x00004000u) != 0; +} +void ConvolutionParameter::set_has_bias_filler() { + _has_bits_[0] |= 0x00004000u; +} +void ConvolutionParameter::clear_has_bias_filler() { + _has_bits_[0] &= ~0x00004000u; +} +void ConvolutionParameter::clear_bias_filler() { + if (bias_filler_ != NULL) bias_filler_->::caffe::FillerParameter::Clear(); + clear_has_bias_filler(); +} +const ::caffe::FillerParameter& ConvolutionParameter::bias_filler() const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.bias_filler) + return bias_filler_ != NULL ? *bias_filler_ + : *::caffe::FillerParameter::internal_default_instance(); +} +::caffe::FillerParameter* ConvolutionParameter::mutable_bias_filler() { + set_has_bias_filler(); + if (bias_filler_ == NULL) { + bias_filler_ = new ::caffe::FillerParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.ConvolutionParameter.bias_filler) + return bias_filler_; +} +::caffe::FillerParameter* ConvolutionParameter::release_bias_filler() { + // @@protoc_insertion_point(field_release:caffe.ConvolutionParameter.bias_filler) + clear_has_bias_filler(); + ::caffe::FillerParameter* temp = bias_filler_; + bias_filler_ = NULL; + return temp; +} +void ConvolutionParameter::set_allocated_bias_filler(::caffe::FillerParameter* bias_filler) { + delete bias_filler_; + bias_filler_ = bias_filler; + if (bias_filler) { + set_has_bias_filler(); + } else { + clear_has_bias_filler(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.ConvolutionParameter.bias_filler) +} + +// optional .caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT]; +bool ConvolutionParameter::has_engine() const { + return (_has_bits_[0] & 0x00008000u) != 0; +} +void ConvolutionParameter::set_has_engine() { + _has_bits_[0] |= 0x00008000u; +} +void ConvolutionParameter::clear_has_engine() { + _has_bits_[0] &= ~0x00008000u; +} +void ConvolutionParameter::clear_engine() { + engine_ = 0; + clear_has_engine(); +} +::caffe::ConvolutionParameter_Engine ConvolutionParameter::engine() const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.engine) + return static_cast< ::caffe::ConvolutionParameter_Engine >(engine_); +} +void ConvolutionParameter::set_engine(::caffe::ConvolutionParameter_Engine value) { + assert(::caffe::ConvolutionParameter_Engine_IsValid(value)); + set_has_engine(); + engine_ = value; + // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.engine) +} + +// optional int32 axis = 16 [default = 1]; +bool ConvolutionParameter::has_axis() const { + return (_has_bits_[0] & 0x00010000u) != 0; +} +void ConvolutionParameter::set_has_axis() { + _has_bits_[0] |= 0x00010000u; +} +void ConvolutionParameter::clear_has_axis() { + _has_bits_[0] &= ~0x00010000u; +} +void ConvolutionParameter::clear_axis() { + axis_ = 1; + clear_has_axis(); +} +::google::protobuf::int32 ConvolutionParameter::axis() const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.axis) + return axis_; +} +void ConvolutionParameter::set_axis(::google::protobuf::int32 value) { + set_has_axis(); + axis_ = value; + // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.axis) +} + +// optional bool force_nd_im2col = 17 [default = false]; +bool ConvolutionParameter::has_force_nd_im2col() const { + return (_has_bits_[0] & 0x00020000u) != 0; +} +void ConvolutionParameter::set_has_force_nd_im2col() { + _has_bits_[0] |= 0x00020000u; +} +void ConvolutionParameter::clear_has_force_nd_im2col() { + _has_bits_[0] &= ~0x00020000u; +} +void ConvolutionParameter::clear_force_nd_im2col() { + force_nd_im2col_ = false; + clear_has_force_nd_im2col(); +} +bool ConvolutionParameter::force_nd_im2col() const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.force_nd_im2col) + return force_nd_im2col_; +} +void ConvolutionParameter::set_force_nd_im2col(bool value) { + set_has_force_nd_im2col(); + force_nd_im2col_ = value; + // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.force_nd_im2col) +} + +inline const ConvolutionParameter* ConvolutionParameter::internal_default_instance() { + return &ConvolutionParameter_default_instance_.get(); +} +#endif // PROTOBUF_INLINE_NOT_IN_HEADERS + +// =================================================================== + +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int CropParameter::kAxisFieldNumber; +const int CropParameter::kOffsetFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +CropParameter::CropParameter() + : ::google::protobuf::Message(), _internal_metadata_(NULL) { + if (this != internal_default_instance()) protobuf_InitDefaults_caffe_2eproto(); + SharedCtor(); + // @@protoc_insertion_point(constructor:caffe.CropParameter) +} + +void CropParameter::InitAsDefaultInstance() { +} + +CropParameter::CropParameter(const CropParameter& from) + : ::google::protobuf::Message(), + _internal_metadata_(NULL) { + SharedCtor(); + UnsafeMergeFrom(from); + // @@protoc_insertion_point(copy_constructor:caffe.CropParameter) +} + +void CropParameter::SharedCtor() { + _cached_size_ = 0; + axis_ = 2; +} + +CropParameter::~CropParameter() { + // @@protoc_insertion_point(destructor:caffe.CropParameter) + SharedDtor(); +} + +void CropParameter::SharedDtor() { +} + +void CropParameter::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* CropParameter::descriptor() { + protobuf_AssignDescriptorsOnce(); + return CropParameter_descriptor_; +} + +const CropParameter& CropParameter::default_instance() { + protobuf_InitDefaults_caffe_2eproto(); + return *internal_default_instance(); +} + +::google::protobuf::internal::ExplicitlyConstructed CropParameter_default_instance_; + +CropParameter* CropParameter::New(::google::protobuf::Arena* arena) const { + CropParameter* n = new CropParameter; + if (arena != NULL) { + arena->Own(n); + } + return n; +} + +void CropParameter::Clear() { +// @@protoc_insertion_point(message_clear_start:caffe.CropParameter) + axis_ = 2; + offset_.Clear(); + _has_bits_.Clear(); + if (_internal_metadata_.have_unknown_fields()) { + mutable_unknown_fields()->Clear(); + } +} + +bool CropParameter::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:caffe.CropParameter) + for (;;) { + ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // optional int32 axis = 1 [default = 2]; + case 1: { + if (tag == 8) { + set_has_axis(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( + input, &axis_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(16)) goto parse_offset; + break; + } + + // repeated uint32 offset = 2; + case 2: { + if (tag == 16) { + parse_offset: + DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + 1, 16, input, this->mutable_offset()))); + } else if (tag == 18) { + DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, this->mutable_offset()))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(16)) goto parse_offset; + if (input->ExpectAtEnd()) goto success; + break; + } + + default: { + handle_unusual: + if (tag == 0 || + ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:caffe.CropParameter) + return true; +failure: + // @@protoc_insertion_point(parse_failure:caffe.CropParameter) + return false; +#undef DO_ +} + +void CropParameter::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:caffe.CropParameter) + // optional int32 axis = 1 [default = 2]; + if (has_axis()) { + ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->axis(), output); + } + + // repeated uint32 offset = 2; + for (int i = 0; i < this->offset_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32( + 2, this->offset(i), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:caffe.CropParameter) +} + +::google::protobuf::uint8* CropParameter::InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* target) const { + (void)deterministic; // Unused + // @@protoc_insertion_point(serialize_to_array_start:caffe.CropParameter) + // optional int32 axis = 1 [default = 2]; + if (has_axis()) { + target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->axis(), target); + } + + // repeated uint32 offset = 2; + for (int i = 0; i < this->offset_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteUInt32ToArray(2, this->offset(i), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:caffe.CropParameter) + return target; +} + +size_t CropParameter::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:caffe.CropParameter) + size_t total_size = 0; + + // optional int32 axis = 1 [default = 2]; + if (has_axis()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::Int32Size( + this->axis()); + } + + // repeated uint32 offset = 2; + { + size_t data_size = 0; + unsigned int count = this->offset_size(); + for (unsigned int i = 0; i < count; i++) { + data_size += ::google::protobuf::internal::WireFormatLite:: + UInt32Size(this->offset(i)); + } + total_size += 1 * + ::google::protobuf::internal::FromIntSize(this->offset_size()); + total_size += data_size; + } + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + unknown_fields()); + } + 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 CropParameter::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:caffe.CropParameter) + if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__); + const CropParameter* source = + ::google::protobuf::internal::DynamicCastToGenerated( + &from); + if (source == NULL) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.CropParameter) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.CropParameter) + UnsafeMergeFrom(*source); + } +} + +void CropParameter::MergeFrom(const CropParameter& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:caffe.CropParameter) + if (GOOGLE_PREDICT_TRUE(&from != this)) { + UnsafeMergeFrom(from); + } else { + MergeFromFail(__LINE__); + } +} + +void CropParameter::UnsafeMergeFrom(const CropParameter& from) { + GOOGLE_DCHECK(&from != this); + offset_.UnsafeMergeFrom(from.offset_); + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (from.has_axis()) { + set_axis(from.axis()); + } + } + if (from._internal_metadata_.have_unknown_fields()) { + ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata( + from.unknown_fields(), &_internal_metadata_); + } +} + +void CropParameter::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:caffe.CropParameter) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void CropParameter::CopyFrom(const CropParameter& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:caffe.CropParameter) + if (&from == this) return; + Clear(); + UnsafeMergeFrom(from); +} + +bool CropParameter::IsInitialized() const { + + return true; +} + +void CropParameter::Swap(CropParameter* other) { + if (other == this) return; + InternalSwap(other); +} +void CropParameter::InternalSwap(CropParameter* other) { + std::swap(axis_, other->axis_); + offset_.UnsafeArenaSwap(&other->offset_); + std::swap(_has_bits_[0], other->_has_bits_[0]); + _internal_metadata_.Swap(&other->_internal_metadata_); + std::swap(_cached_size_, other->_cached_size_); +} + +::google::protobuf::Metadata CropParameter::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = CropParameter_descriptor_; + metadata.reflection = CropParameter_reflection_; + return metadata; +} + +#if PROTOBUF_INLINE_NOT_IN_HEADERS +// CropParameter + +// optional int32 axis = 1 [default = 2]; +bool CropParameter::has_axis() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +void CropParameter::set_has_axis() { + _has_bits_[0] |= 0x00000001u; +} +void CropParameter::clear_has_axis() { + _has_bits_[0] &= ~0x00000001u; +} +void CropParameter::clear_axis() { + axis_ = 2; + clear_has_axis(); +} +::google::protobuf::int32 CropParameter::axis() const { + // @@protoc_insertion_point(field_get:caffe.CropParameter.axis) + return axis_; +} +void CropParameter::set_axis(::google::protobuf::int32 value) { + set_has_axis(); + axis_ = value; + // @@protoc_insertion_point(field_set:caffe.CropParameter.axis) +} + +// repeated uint32 offset = 2; +int CropParameter::offset_size() const { + return offset_.size(); +} +void CropParameter::clear_offset() { + offset_.Clear(); +} +::google::protobuf::uint32 CropParameter::offset(int index) const { + // @@protoc_insertion_point(field_get:caffe.CropParameter.offset) + return offset_.Get(index); +} +void CropParameter::set_offset(int index, ::google::protobuf::uint32 value) { + offset_.Set(index, value); + // @@protoc_insertion_point(field_set:caffe.CropParameter.offset) +} +void CropParameter::add_offset(::google::protobuf::uint32 value) { + offset_.Add(value); + // @@protoc_insertion_point(field_add:caffe.CropParameter.offset) +} +const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& +CropParameter::offset() const { + // @@protoc_insertion_point(field_list:caffe.CropParameter.offset) + return offset_; +} +::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* +CropParameter::mutable_offset() { + // @@protoc_insertion_point(field_mutable_list:caffe.CropParameter.offset) + return &offset_; +} + +inline const CropParameter* CropParameter::internal_default_instance() { + return &CropParameter_default_instance_.get(); +} +#endif // PROTOBUF_INLINE_NOT_IN_HEADERS + +// =================================================================== + +const ::google::protobuf::EnumDescriptor* DataParameter_DB_descriptor() { + protobuf_AssignDescriptorsOnce(); + return DataParameter_DB_descriptor_; +} +bool DataParameter_DB_IsValid(int value) { + switch (value) { + case 0: + case 1: + return true; + default: + return false; + } +} + +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const DataParameter_DB DataParameter::LEVELDB; +const DataParameter_DB DataParameter::LMDB; +const DataParameter_DB DataParameter::DB_MIN; +const DataParameter_DB DataParameter::DB_MAX; +const int DataParameter::DB_ARRAYSIZE; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int DataParameter::kSourceFieldNumber; +const int DataParameter::kBatchSizeFieldNumber; +const int DataParameter::kRandSkipFieldNumber; +const int DataParameter::kBackendFieldNumber; +const int DataParameter::kScaleFieldNumber; +const int DataParameter::kMeanFileFieldNumber; +const int DataParameter::kCropSizeFieldNumber; +const int DataParameter::kMirrorFieldNumber; +const int DataParameter::kForceEncodedColorFieldNumber; +const int DataParameter::kPrefetchFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +DataParameter::DataParameter() + : ::google::protobuf::Message(), _internal_metadata_(NULL) { + if (this != internal_default_instance()) protobuf_InitDefaults_caffe_2eproto(); + SharedCtor(); + // @@protoc_insertion_point(constructor:caffe.DataParameter) +} + +void DataParameter::InitAsDefaultInstance() { +} + +DataParameter::DataParameter(const DataParameter& from) + : ::google::protobuf::Message(), + _internal_metadata_(NULL) { + SharedCtor(); + UnsafeMergeFrom(from); + // @@protoc_insertion_point(copy_constructor:caffe.DataParameter) +} + +void DataParameter::SharedCtor() { + _cached_size_ = 0; + source_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + mean_file_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::memset(&batch_size_, 0, reinterpret_cast(&force_encoded_color_) - + reinterpret_cast(&batch_size_) + sizeof(force_encoded_color_)); + scale_ = 1; + prefetch_ = 4u; +} + +DataParameter::~DataParameter() { + // @@protoc_insertion_point(destructor:caffe.DataParameter) + SharedDtor(); +} + +void DataParameter::SharedDtor() { + source_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + mean_file_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} + +void DataParameter::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* DataParameter::descriptor() { + protobuf_AssignDescriptorsOnce(); + return DataParameter_descriptor_; +} + +const DataParameter& DataParameter::default_instance() { + protobuf_InitDefaults_caffe_2eproto(); + return *internal_default_instance(); +} + +::google::protobuf::internal::ExplicitlyConstructed DataParameter_default_instance_; + +DataParameter* DataParameter::New(::google::protobuf::Arena* arena) const { + DataParameter* n = new DataParameter; + if (arena != NULL) { + arena->Own(n); + } + return n; +} + +void DataParameter::Clear() { +// @@protoc_insertion_point(message_clear_start:caffe.DataParameter) +#if defined(__clang__) +#define ZR_HELPER_(f) \ + _Pragma("clang diagnostic push") \ + _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \ + __builtin_offsetof(DataParameter, f) \ + _Pragma("clang diagnostic pop") +#else +#define ZR_HELPER_(f) reinterpret_cast(\ + &reinterpret_cast(16)->f) +#endif + +#define ZR_(first, last) do {\ + ::memset(&(first), 0,\ + ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\ +} while (0) + + if (_has_bits_[0 / 32] & 255u) { + ZR_(batch_size_, mirror_); + if (has_source()) { + source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + scale_ = 1; + if (has_mean_file()) { + mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + } + if (_has_bits_[8 / 32] & 768u) { + force_encoded_color_ = false; + prefetch_ = 4u; + } + +#undef ZR_HELPER_ +#undef ZR_ + + _has_bits_.Clear(); + if (_internal_metadata_.have_unknown_fields()) { + mutable_unknown_fields()->Clear(); + } +} + +bool DataParameter::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:caffe.DataParameter) + for (;;) { + ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // optional string source = 1; + case 1: { + if (tag == 10) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_source())); + ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( + this->source().data(), this->source().length(), + ::google::protobuf::internal::WireFormat::PARSE, + "caffe.DataParameter.source"); + } else { + goto handle_unusual; + } + if (input->ExpectTag(21)) goto parse_scale; + break; + } + + // optional float scale = 2 [default = 1]; + case 2: { + if (tag == 21) { + parse_scale: + set_has_scale(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>( + input, &scale_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(26)) goto parse_mean_file; + break; + } + + // optional string mean_file = 3; + case 3: { + if (tag == 26) { + parse_mean_file: + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_mean_file())); + ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( + this->mean_file().data(), this->mean_file().length(), + ::google::protobuf::internal::WireFormat::PARSE, + "caffe.DataParameter.mean_file"); + } else { + goto handle_unusual; + } + if (input->ExpectTag(32)) goto parse_batch_size; + break; + } + + // optional uint32 batch_size = 4; + case 4: { + if (tag == 32) { + parse_batch_size: + set_has_batch_size(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, &batch_size_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(40)) goto parse_crop_size; + break; + } + + // optional uint32 crop_size = 5 [default = 0]; + case 5: { + if (tag == 40) { + parse_crop_size: + set_has_crop_size(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, &crop_size_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(48)) goto parse_mirror; + break; + } + + // optional bool mirror = 6 [default = false]; + case 6: { + if (tag == 48) { + parse_mirror: + set_has_mirror(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( + input, &mirror_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(56)) goto parse_rand_skip; + break; + } + + // optional uint32 rand_skip = 7 [default = 0]; + case 7: { + if (tag == 56) { + parse_rand_skip: + set_has_rand_skip(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, &rand_skip_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(64)) goto parse_backend; + break; + } + + // optional .caffe.DataParameter.DB backend = 8 [default = LEVELDB]; + case 8: { + if (tag == 64) { + parse_backend: + int value; + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>( + input, &value))); + if (::caffe::DataParameter_DB_IsValid(value)) { + set_backend(static_cast< ::caffe::DataParameter_DB >(value)); + } else { + mutable_unknown_fields()->AddVarint(8, value); + } + } else { + goto handle_unusual; + } + if (input->ExpectTag(72)) goto parse_force_encoded_color; + break; + } + + // optional bool force_encoded_color = 9 [default = false]; + case 9: { + if (tag == 72) { + parse_force_encoded_color: + set_has_force_encoded_color(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( + input, &force_encoded_color_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(80)) goto parse_prefetch; + break; + } + + // optional uint32 prefetch = 10 [default = 4]; + case 10: { + if (tag == 80) { + parse_prefetch: + set_has_prefetch(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, &prefetch_))); + } else { + goto handle_unusual; + } + if (input->ExpectAtEnd()) goto success; + break; + } + + default: { + handle_unusual: + if (tag == 0 || + ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:caffe.DataParameter) + return true; +failure: + // @@protoc_insertion_point(parse_failure:caffe.DataParameter) + return false; +#undef DO_ +} + +void DataParameter::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:caffe.DataParameter) + // optional string source = 1; + if (has_source()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( + this->source().data(), this->source().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE, + "caffe.DataParameter.source"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 1, this->source(), output); + } + + // optional float scale = 2 [default = 1]; + if (has_scale()) { + ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->scale(), output); + } + + // optional string mean_file = 3; + if (has_mean_file()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( + this->mean_file().data(), this->mean_file().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE, + "caffe.DataParameter.mean_file"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 3, this->mean_file(), output); + } + + // optional uint32 batch_size = 4; + if (has_batch_size()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->batch_size(), output); + } + + // optional uint32 crop_size = 5 [default = 0]; + if (has_crop_size()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32(5, this->crop_size(), output); + } + + // optional bool mirror = 6 [default = false]; + if (has_mirror()) { + ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->mirror(), output); + } + + // optional uint32 rand_skip = 7 [default = 0]; + if (has_rand_skip()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32(7, this->rand_skip(), output); + } + + // optional .caffe.DataParameter.DB backend = 8 [default = LEVELDB]; + if (has_backend()) { + ::google::protobuf::internal::WireFormatLite::WriteEnum( + 8, this->backend(), output); + } + + // optional bool force_encoded_color = 9 [default = false]; + if (has_force_encoded_color()) { + ::google::protobuf::internal::WireFormatLite::WriteBool(9, this->force_encoded_color(), output); + } + + // optional uint32 prefetch = 10 [default = 4]; + if (has_prefetch()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32(10, this->prefetch(), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:caffe.DataParameter) +} + +::google::protobuf::uint8* DataParameter::InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* target) const { + (void)deterministic; // Unused + // @@protoc_insertion_point(serialize_to_array_start:caffe.DataParameter) + // optional string source = 1; + if (has_source()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( + this->source().data(), this->source().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE, + "caffe.DataParameter.source"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 1, this->source(), target); + } + + // optional float scale = 2 [default = 1]; + if (has_scale()) { + target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->scale(), target); + } + + // optional string mean_file = 3; + if (has_mean_file()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( + this->mean_file().data(), this->mean_file().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE, + "caffe.DataParameter.mean_file"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 3, this->mean_file(), target); + } + + // optional uint32 batch_size = 4; + if (has_batch_size()) { + target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(4, this->batch_size(), target); + } + + // optional uint32 crop_size = 5 [default = 0]; + if (has_crop_size()) { + target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(5, this->crop_size(), target); + } + + // optional bool mirror = 6 [default = false]; + if (has_mirror()) { + target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(6, this->mirror(), target); + } + + // optional uint32 rand_skip = 7 [default = 0]; + if (has_rand_skip()) { + target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(7, this->rand_skip(), target); + } + + // optional .caffe.DataParameter.DB backend = 8 [default = LEVELDB]; + if (has_backend()) { + target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray( + 8, this->backend(), target); + } + + // optional bool force_encoded_color = 9 [default = false]; + if (has_force_encoded_color()) { + target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(9, this->force_encoded_color(), target); + } + + // optional uint32 prefetch = 10 [default = 4]; + if (has_prefetch()) { + target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(10, this->prefetch(), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:caffe.DataParameter) + return target; +} + +size_t DataParameter::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:caffe.DataParameter) + size_t total_size = 0; + + if (_has_bits_[0 / 32] & 255u) { + // optional string source = 1; + if (has_source()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->source()); + } + + // optional uint32 batch_size = 4; + if (has_batch_size()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt32Size( + this->batch_size()); + } + + // optional uint32 rand_skip = 7 [default = 0]; + if (has_rand_skip()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt32Size( + this->rand_skip()); + } + + // optional .caffe.DataParameter.DB backend = 8 [default = LEVELDB]; + if (has_backend()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::EnumSize(this->backend()); + } + + // optional float scale = 2 [default = 1]; + if (has_scale()) { + total_size += 1 + 4; + } + + // optional string mean_file = 3; + if (has_mean_file()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->mean_file()); + } + + // optional uint32 crop_size = 5 [default = 0]; + if (has_crop_size()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt32Size( + this->crop_size()); + } + + // optional bool mirror = 6 [default = false]; + if (has_mirror()) { + total_size += 1 + 1; + } + + } + if (_has_bits_[8 / 32] & 768u) { + // optional bool force_encoded_color = 9 [default = false]; + if (has_force_encoded_color()) { + total_size += 1 + 1; + } + + // optional uint32 prefetch = 10 [default = 4]; + if (has_prefetch()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt32Size( + this->prefetch()); + } + + } + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + unknown_fields()); + } + 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 DataParameter::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:caffe.DataParameter) + if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__); + const DataParameter* source = + ::google::protobuf::internal::DynamicCastToGenerated( + &from); + if (source == NULL) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.DataParameter) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.DataParameter) + UnsafeMergeFrom(*source); + } +} + +void DataParameter::MergeFrom(const DataParameter& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:caffe.DataParameter) + if (GOOGLE_PREDICT_TRUE(&from != this)) { + UnsafeMergeFrom(from); + } else { + MergeFromFail(__LINE__); + } +} + +void DataParameter::UnsafeMergeFrom(const DataParameter& from) { + GOOGLE_DCHECK(&from != this); + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (from.has_source()) { + set_has_source(); + source_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.source_); + } + if (from.has_batch_size()) { + set_batch_size(from.batch_size()); + } + if (from.has_rand_skip()) { + set_rand_skip(from.rand_skip()); + } + if (from.has_backend()) { + set_backend(from.backend()); + } + if (from.has_scale()) { + set_scale(from.scale()); + } + if (from.has_mean_file()) { + set_has_mean_file(); + mean_file_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.mean_file_); + } + if (from.has_crop_size()) { + set_crop_size(from.crop_size()); + } + if (from.has_mirror()) { + set_mirror(from.mirror()); + } + } + if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) { + if (from.has_force_encoded_color()) { + set_force_encoded_color(from.force_encoded_color()); + } + if (from.has_prefetch()) { + set_prefetch(from.prefetch()); + } + } + if (from._internal_metadata_.have_unknown_fields()) { + ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata( + from.unknown_fields(), &_internal_metadata_); + } +} + +void DataParameter::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:caffe.DataParameter) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void DataParameter::CopyFrom(const DataParameter& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:caffe.DataParameter) + if (&from == this) return; + Clear(); + UnsafeMergeFrom(from); +} + +bool DataParameter::IsInitialized() const { + + return true; +} + +void DataParameter::Swap(DataParameter* other) { + if (other == this) return; + InternalSwap(other); +} +void DataParameter::InternalSwap(DataParameter* other) { + source_.Swap(&other->source_); + std::swap(batch_size_, other->batch_size_); + std::swap(rand_skip_, other->rand_skip_); + std::swap(backend_, other->backend_); + std::swap(scale_, other->scale_); + mean_file_.Swap(&other->mean_file_); + std::swap(crop_size_, other->crop_size_); + std::swap(mirror_, other->mirror_); + std::swap(force_encoded_color_, other->force_encoded_color_); + std::swap(prefetch_, other->prefetch_); + std::swap(_has_bits_[0], other->_has_bits_[0]); + _internal_metadata_.Swap(&other->_internal_metadata_); + std::swap(_cached_size_, other->_cached_size_); +} + +::google::protobuf::Metadata DataParameter::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = DataParameter_descriptor_; + metadata.reflection = DataParameter_reflection_; + return metadata; +} + +#if PROTOBUF_INLINE_NOT_IN_HEADERS +// DataParameter + +// optional string source = 1; +bool DataParameter::has_source() const { return (_has_bits_[0] & 0x00000001u) != 0; } -void ConvolutionParameter::set_has_num_output() { +void DataParameter::set_has_source() { _has_bits_[0] |= 0x00000001u; } -void ConvolutionParameter::clear_has_num_output() { +void DataParameter::clear_has_source() { _has_bits_[0] &= ~0x00000001u; } -void ConvolutionParameter::clear_num_output() { - num_output_ = 0u; - clear_has_num_output(); +void DataParameter::clear_source() { + source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_source(); } -::google::protobuf::uint32 ConvolutionParameter::num_output() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.num_output) - return num_output_; +const ::std::string& DataParameter::source() const { + // @@protoc_insertion_point(field_get:caffe.DataParameter.source) + return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } -void ConvolutionParameter::set_num_output(::google::protobuf::uint32 value) { - set_has_num_output(); - num_output_ = value; - // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.num_output) +void DataParameter::set_source(const ::std::string& value) { + set_has_source(); + source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:caffe.DataParameter.source) +} +void DataParameter::set_source(const char* value) { + set_has_source(); + source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:caffe.DataParameter.source) +} +void DataParameter::set_source(const char* value, size_t size) { + set_has_source(); + source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:caffe.DataParameter.source) +} +::std::string* DataParameter::mutable_source() { + set_has_source(); + // @@protoc_insertion_point(field_mutable:caffe.DataParameter.source) + return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +::std::string* DataParameter::release_source() { + // @@protoc_insertion_point(field_release:caffe.DataParameter.source) + clear_has_source(); + return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +void DataParameter::set_allocated_source(::std::string* source) { + if (source != NULL) { + set_has_source(); + } else { + clear_has_source(); + } + source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source); + // @@protoc_insertion_point(field_set_allocated:caffe.DataParameter.source) } -// optional bool bias_term = 2 [default = true]; -bool ConvolutionParameter::has_bias_term() const { +// optional uint32 batch_size = 4; +bool DataParameter::has_batch_size() const { return (_has_bits_[0] & 0x00000002u) != 0; } -void ConvolutionParameter::set_has_bias_term() { +void DataParameter::set_has_batch_size() { _has_bits_[0] |= 0x00000002u; } -void ConvolutionParameter::clear_has_bias_term() { +void DataParameter::clear_has_batch_size() { _has_bits_[0] &= ~0x00000002u; } -void ConvolutionParameter::clear_bias_term() { - bias_term_ = true; - clear_has_bias_term(); +void DataParameter::clear_batch_size() { + batch_size_ = 0u; + clear_has_batch_size(); } -bool ConvolutionParameter::bias_term() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.bias_term) - return bias_term_; +::google::protobuf::uint32 DataParameter::batch_size() const { + // @@protoc_insertion_point(field_get:caffe.DataParameter.batch_size) + return batch_size_; } -void ConvolutionParameter::set_bias_term(bool value) { - set_has_bias_term(); - bias_term_ = value; - // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.bias_term) +void DataParameter::set_batch_size(::google::protobuf::uint32 value) { + set_has_batch_size(); + batch_size_ = value; + // @@protoc_insertion_point(field_set:caffe.DataParameter.batch_size) } -// optional uint32 pad = 3 [default = 0]; -bool ConvolutionParameter::has_pad() const { +// optional uint32 rand_skip = 7 [default = 0]; +bool DataParameter::has_rand_skip() const { return (_has_bits_[0] & 0x00000004u) != 0; } -void ConvolutionParameter::set_has_pad() { +void DataParameter::set_has_rand_skip() { _has_bits_[0] |= 0x00000004u; } -void ConvolutionParameter::clear_has_pad() { +void DataParameter::clear_has_rand_skip() { _has_bits_[0] &= ~0x00000004u; } -void ConvolutionParameter::clear_pad() { - pad_ = 0u; - clear_has_pad(); +void DataParameter::clear_rand_skip() { + rand_skip_ = 0u; + clear_has_rand_skip(); } -::google::protobuf::uint32 ConvolutionParameter::pad() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.pad) - return pad_; +::google::protobuf::uint32 DataParameter::rand_skip() const { + // @@protoc_insertion_point(field_get:caffe.DataParameter.rand_skip) + return rand_skip_; } -void ConvolutionParameter::set_pad(::google::protobuf::uint32 value) { - set_has_pad(); - pad_ = value; - // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.pad) +void DataParameter::set_rand_skip(::google::protobuf::uint32 value) { + set_has_rand_skip(); + rand_skip_ = value; + // @@protoc_insertion_point(field_set:caffe.DataParameter.rand_skip) } -// optional uint32 pad_h = 9 [default = 0]; -bool ConvolutionParameter::has_pad_h() const { +// optional .caffe.DataParameter.DB backend = 8 [default = LEVELDB]; +bool DataParameter::has_backend() const { return (_has_bits_[0] & 0x00000008u) != 0; } -void ConvolutionParameter::set_has_pad_h() { +void DataParameter::set_has_backend() { _has_bits_[0] |= 0x00000008u; } -void ConvolutionParameter::clear_has_pad_h() { +void DataParameter::clear_has_backend() { _has_bits_[0] &= ~0x00000008u; } -void ConvolutionParameter::clear_pad_h() { - pad_h_ = 0u; - clear_has_pad_h(); +void DataParameter::clear_backend() { + backend_ = 0; + clear_has_backend(); } -::google::protobuf::uint32 ConvolutionParameter::pad_h() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.pad_h) - return pad_h_; +::caffe::DataParameter_DB DataParameter::backend() const { + // @@protoc_insertion_point(field_get:caffe.DataParameter.backend) + return static_cast< ::caffe::DataParameter_DB >(backend_); } -void ConvolutionParameter::set_pad_h(::google::protobuf::uint32 value) { - set_has_pad_h(); - pad_h_ = value; - // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.pad_h) +void DataParameter::set_backend(::caffe::DataParameter_DB value) { + assert(::caffe::DataParameter_DB_IsValid(value)); + set_has_backend(); + backend_ = value; + // @@protoc_insertion_point(field_set:caffe.DataParameter.backend) } -// optional uint32 pad_w = 10 [default = 0]; -bool ConvolutionParameter::has_pad_w() const { +// optional float scale = 2 [default = 1]; +bool DataParameter::has_scale() const { return (_has_bits_[0] & 0x00000010u) != 0; } -void ConvolutionParameter::set_has_pad_w() { +void DataParameter::set_has_scale() { _has_bits_[0] |= 0x00000010u; } -void ConvolutionParameter::clear_has_pad_w() { +void DataParameter::clear_has_scale() { _has_bits_[0] &= ~0x00000010u; } -void ConvolutionParameter::clear_pad_w() { - pad_w_ = 0u; - clear_has_pad_w(); +void DataParameter::clear_scale() { + scale_ = 1; + clear_has_scale(); } -::google::protobuf::uint32 ConvolutionParameter::pad_w() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.pad_w) - return pad_w_; +float DataParameter::scale() const { + // @@protoc_insertion_point(field_get:caffe.DataParameter.scale) + return scale_; } -void ConvolutionParameter::set_pad_w(::google::protobuf::uint32 value) { - set_has_pad_w(); - pad_w_ = value; - // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.pad_w) +void DataParameter::set_scale(float value) { + set_has_scale(); + scale_ = value; + // @@protoc_insertion_point(field_set:caffe.DataParameter.scale) } -// optional uint32 kernel_size = 4; -bool ConvolutionParameter::has_kernel_size() const { +// optional string mean_file = 3; +bool DataParameter::has_mean_file() const { return (_has_bits_[0] & 0x00000020u) != 0; } -void ConvolutionParameter::set_has_kernel_size() { +void DataParameter::set_has_mean_file() { _has_bits_[0] |= 0x00000020u; } -void ConvolutionParameter::clear_has_kernel_size() { +void DataParameter::clear_has_mean_file() { _has_bits_[0] &= ~0x00000020u; } -void ConvolutionParameter::clear_kernel_size() { - kernel_size_ = 0u; - clear_has_kernel_size(); +void DataParameter::clear_mean_file() { + mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_mean_file(); } -::google::protobuf::uint32 ConvolutionParameter::kernel_size() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.kernel_size) - return kernel_size_; +const ::std::string& DataParameter::mean_file() const { + // @@protoc_insertion_point(field_get:caffe.DataParameter.mean_file) + return mean_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +void DataParameter::set_mean_file(const ::std::string& value) { + set_has_mean_file(); + mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:caffe.DataParameter.mean_file) +} +void DataParameter::set_mean_file(const char* value) { + set_has_mean_file(); + mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:caffe.DataParameter.mean_file) +} +void DataParameter::set_mean_file(const char* value, size_t size) { + set_has_mean_file(); + mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:caffe.DataParameter.mean_file) +} +::std::string* DataParameter::mutable_mean_file() { + set_has_mean_file(); + // @@protoc_insertion_point(field_mutable:caffe.DataParameter.mean_file) + return mean_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } -void ConvolutionParameter::set_kernel_size(::google::protobuf::uint32 value) { - set_has_kernel_size(); - kernel_size_ = value; - // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.kernel_size) +::std::string* DataParameter::release_mean_file() { + // @@protoc_insertion_point(field_release:caffe.DataParameter.mean_file) + clear_has_mean_file(); + return mean_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +void DataParameter::set_allocated_mean_file(::std::string* mean_file) { + if (mean_file != NULL) { + set_has_mean_file(); + } else { + clear_has_mean_file(); + } + mean_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mean_file); + // @@protoc_insertion_point(field_set_allocated:caffe.DataParameter.mean_file) } -// optional uint32 kernel_h = 11; -bool ConvolutionParameter::has_kernel_h() const { +// optional uint32 crop_size = 5 [default = 0]; +bool DataParameter::has_crop_size() const { return (_has_bits_[0] & 0x00000040u) != 0; } -void ConvolutionParameter::set_has_kernel_h() { +void DataParameter::set_has_crop_size() { _has_bits_[0] |= 0x00000040u; } -void ConvolutionParameter::clear_has_kernel_h() { +void DataParameter::clear_has_crop_size() { _has_bits_[0] &= ~0x00000040u; } -void ConvolutionParameter::clear_kernel_h() { - kernel_h_ = 0u; - clear_has_kernel_h(); +void DataParameter::clear_crop_size() { + crop_size_ = 0u; + clear_has_crop_size(); } -::google::protobuf::uint32 ConvolutionParameter::kernel_h() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.kernel_h) - return kernel_h_; +::google::protobuf::uint32 DataParameter::crop_size() const { + // @@protoc_insertion_point(field_get:caffe.DataParameter.crop_size) + return crop_size_; } -void ConvolutionParameter::set_kernel_h(::google::protobuf::uint32 value) { - set_has_kernel_h(); - kernel_h_ = value; - // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.kernel_h) +void DataParameter::set_crop_size(::google::protobuf::uint32 value) { + set_has_crop_size(); + crop_size_ = value; + // @@protoc_insertion_point(field_set:caffe.DataParameter.crop_size) } -// optional uint32 kernel_w = 12; -bool ConvolutionParameter::has_kernel_w() const { +// optional bool mirror = 6 [default = false]; +bool DataParameter::has_mirror() const { return (_has_bits_[0] & 0x00000080u) != 0; } -void ConvolutionParameter::set_has_kernel_w() { +void DataParameter::set_has_mirror() { _has_bits_[0] |= 0x00000080u; } -void ConvolutionParameter::clear_has_kernel_w() { +void DataParameter::clear_has_mirror() { _has_bits_[0] &= ~0x00000080u; } -void ConvolutionParameter::clear_kernel_w() { - kernel_w_ = 0u; - clear_has_kernel_w(); +void DataParameter::clear_mirror() { + mirror_ = false; + clear_has_mirror(); } -::google::protobuf::uint32 ConvolutionParameter::kernel_w() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.kernel_w) - return kernel_w_; +bool DataParameter::mirror() const { + // @@protoc_insertion_point(field_get:caffe.DataParameter.mirror) + return mirror_; } -void ConvolutionParameter::set_kernel_w(::google::protobuf::uint32 value) { - set_has_kernel_w(); - kernel_w_ = value; - // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.kernel_w) +void DataParameter::set_mirror(bool value) { + set_has_mirror(); + mirror_ = value; + // @@protoc_insertion_point(field_set:caffe.DataParameter.mirror) } -// optional uint32 group = 5 [default = 1]; -bool ConvolutionParameter::has_group() const { +// optional bool force_encoded_color = 9 [default = false]; +bool DataParameter::has_force_encoded_color() const { return (_has_bits_[0] & 0x00000100u) != 0; } -void ConvolutionParameter::set_has_group() { +void DataParameter::set_has_force_encoded_color() { _has_bits_[0] |= 0x00000100u; } -void ConvolutionParameter::clear_has_group() { +void DataParameter::clear_has_force_encoded_color() { _has_bits_[0] &= ~0x00000100u; } -void ConvolutionParameter::clear_group() { - group_ = 1u; - clear_has_group(); +void DataParameter::clear_force_encoded_color() { + force_encoded_color_ = false; + clear_has_force_encoded_color(); } -::google::protobuf::uint32 ConvolutionParameter::group() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.group) - return group_; +bool DataParameter::force_encoded_color() const { + // @@protoc_insertion_point(field_get:caffe.DataParameter.force_encoded_color) + return force_encoded_color_; } -void ConvolutionParameter::set_group(::google::protobuf::uint32 value) { - set_has_group(); - group_ = value; - // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.group) +void DataParameter::set_force_encoded_color(bool value) { + set_has_force_encoded_color(); + force_encoded_color_ = value; + // @@protoc_insertion_point(field_set:caffe.DataParameter.force_encoded_color) } -// optional uint32 stride = 6 [default = 1]; -bool ConvolutionParameter::has_stride() const { +// optional uint32 prefetch = 10 [default = 4]; +bool DataParameter::has_prefetch() const { return (_has_bits_[0] & 0x00000200u) != 0; } -void ConvolutionParameter::set_has_stride() { +void DataParameter::set_has_prefetch() { _has_bits_[0] |= 0x00000200u; } -void ConvolutionParameter::clear_has_stride() { +void DataParameter::clear_has_prefetch() { _has_bits_[0] &= ~0x00000200u; } -void ConvolutionParameter::clear_stride() { - stride_ = 1u; - clear_has_stride(); +void DataParameter::clear_prefetch() { + prefetch_ = 4u; + clear_has_prefetch(); } -::google::protobuf::uint32 ConvolutionParameter::stride() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.stride) - return stride_; +::google::protobuf::uint32 DataParameter::prefetch() const { + // @@protoc_insertion_point(field_get:caffe.DataParameter.prefetch) + return prefetch_; } -void ConvolutionParameter::set_stride(::google::protobuf::uint32 value) { - set_has_stride(); - stride_ = value; - // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.stride) +void DataParameter::set_prefetch(::google::protobuf::uint32 value) { + set_has_prefetch(); + prefetch_ = value; + // @@protoc_insertion_point(field_set:caffe.DataParameter.prefetch) } -// optional uint32 stride_h = 13; -bool ConvolutionParameter::has_stride_h() const { - return (_has_bits_[0] & 0x00000400u) != 0; -} -void ConvolutionParameter::set_has_stride_h() { - _has_bits_[0] |= 0x00000400u; -} -void ConvolutionParameter::clear_has_stride_h() { - _has_bits_[0] &= ~0x00000400u; -} -void ConvolutionParameter::clear_stride_h() { - stride_h_ = 0u; - clear_has_stride_h(); -} -::google::protobuf::uint32 ConvolutionParameter::stride_h() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.stride_h) - return stride_h_; -} -void ConvolutionParameter::set_stride_h(::google::protobuf::uint32 value) { - set_has_stride_h(); - stride_h_ = value; - // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.stride_h) +inline const DataParameter* DataParameter::internal_default_instance() { + return &DataParameter_default_instance_.get(); } +#endif // PROTOBUF_INLINE_NOT_IN_HEADERS -// optional uint32 stride_w = 14; -bool ConvolutionParameter::has_stride_w() const { - return (_has_bits_[0] & 0x00000800u) != 0; -} -void ConvolutionParameter::set_has_stride_w() { - _has_bits_[0] |= 0x00000800u; -} -void ConvolutionParameter::clear_has_stride_w() { - _has_bits_[0] &= ~0x00000800u; +// =================================================================== + +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int DropoutParameter::kDropoutRatioFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +DropoutParameter::DropoutParameter() + : ::google::protobuf::Message(), _internal_metadata_(NULL) { + if (this != internal_default_instance()) protobuf_InitDefaults_caffe_2eproto(); + SharedCtor(); + // @@protoc_insertion_point(constructor:caffe.DropoutParameter) } -void ConvolutionParameter::clear_stride_w() { - stride_w_ = 0u; - clear_has_stride_w(); + +void DropoutParameter::InitAsDefaultInstance() { } -::google::protobuf::uint32 ConvolutionParameter::stride_w() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.stride_w) - return stride_w_; + +DropoutParameter::DropoutParameter(const DropoutParameter& from) + : ::google::protobuf::Message(), + _internal_metadata_(NULL) { + SharedCtor(); + UnsafeMergeFrom(from); + // @@protoc_insertion_point(copy_constructor:caffe.DropoutParameter) } -void ConvolutionParameter::set_stride_w(::google::protobuf::uint32 value) { - set_has_stride_w(); - stride_w_ = value; - // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.stride_w) + +void DropoutParameter::SharedCtor() { + _cached_size_ = 0; + dropout_ratio_ = 0.5f; } -// optional .caffe.FillerParameter weight_filler = 7; -bool ConvolutionParameter::has_weight_filler() const { - return (_has_bits_[0] & 0x00001000u) != 0; +DropoutParameter::~DropoutParameter() { + // @@protoc_insertion_point(destructor:caffe.DropoutParameter) + SharedDtor(); } -void ConvolutionParameter::set_has_weight_filler() { - _has_bits_[0] |= 0x00001000u; + +void DropoutParameter::SharedDtor() { } -void ConvolutionParameter::clear_has_weight_filler() { - _has_bits_[0] &= ~0x00001000u; + +void DropoutParameter::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); } -void ConvolutionParameter::clear_weight_filler() { - if (weight_filler_ != NULL) weight_filler_->::caffe::FillerParameter::Clear(); - clear_has_weight_filler(); +const ::google::protobuf::Descriptor* DropoutParameter::descriptor() { + protobuf_AssignDescriptorsOnce(); + return DropoutParameter_descriptor_; } -const ::caffe::FillerParameter& ConvolutionParameter::weight_filler() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.weight_filler) - return weight_filler_ != NULL ? *weight_filler_ - : *::caffe::FillerParameter::internal_default_instance(); + +const DropoutParameter& DropoutParameter::default_instance() { + protobuf_InitDefaults_caffe_2eproto(); + return *internal_default_instance(); } -::caffe::FillerParameter* ConvolutionParameter::mutable_weight_filler() { - set_has_weight_filler(); - if (weight_filler_ == NULL) { - weight_filler_ = new ::caffe::FillerParameter; + +::google::protobuf::internal::ExplicitlyConstructed DropoutParameter_default_instance_; + +DropoutParameter* DropoutParameter::New(::google::protobuf::Arena* arena) const { + DropoutParameter* n = new DropoutParameter; + if (arena != NULL) { + arena->Own(n); } - // @@protoc_insertion_point(field_mutable:caffe.ConvolutionParameter.weight_filler) - return weight_filler_; -} -::caffe::FillerParameter* ConvolutionParameter::release_weight_filler() { - // @@protoc_insertion_point(field_release:caffe.ConvolutionParameter.weight_filler) - clear_has_weight_filler(); - ::caffe::FillerParameter* temp = weight_filler_; - weight_filler_ = NULL; - return temp; + return n; } -void ConvolutionParameter::set_allocated_weight_filler(::caffe::FillerParameter* weight_filler) { - delete weight_filler_; - weight_filler_ = weight_filler; - if (weight_filler) { - set_has_weight_filler(); - } else { - clear_has_weight_filler(); + +void DropoutParameter::Clear() { +// @@protoc_insertion_point(message_clear_start:caffe.DropoutParameter) + dropout_ratio_ = 0.5f; + _has_bits_.Clear(); + if (_internal_metadata_.have_unknown_fields()) { + mutable_unknown_fields()->Clear(); } - // @@protoc_insertion_point(field_set_allocated:caffe.ConvolutionParameter.weight_filler) } -// optional .caffe.FillerParameter bias_filler = 8; -bool ConvolutionParameter::has_bias_filler() const { - return (_has_bits_[0] & 0x00002000u) != 0; -} -void ConvolutionParameter::set_has_bias_filler() { - _has_bits_[0] |= 0x00002000u; -} -void ConvolutionParameter::clear_has_bias_filler() { - _has_bits_[0] &= ~0x00002000u; -} -void ConvolutionParameter::clear_bias_filler() { - if (bias_filler_ != NULL) bias_filler_->::caffe::FillerParameter::Clear(); - clear_has_bias_filler(); +bool DropoutParameter::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:caffe.DropoutParameter) + for (;;) { + ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // optional float dropout_ratio = 1 [default = 0.5]; + case 1: { + if (tag == 13) { + set_has_dropout_ratio(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>( + input, &dropout_ratio_))); + } else { + goto handle_unusual; + } + if (input->ExpectAtEnd()) goto success; + break; + } + + default: { + handle_unusual: + if (tag == 0 || + ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:caffe.DropoutParameter) + return true; +failure: + // @@protoc_insertion_point(parse_failure:caffe.DropoutParameter) + return false; +#undef DO_ } -const ::caffe::FillerParameter& ConvolutionParameter::bias_filler() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.bias_filler) - return bias_filler_ != NULL ? *bias_filler_ - : *::caffe::FillerParameter::internal_default_instance(); + +void DropoutParameter::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:caffe.DropoutParameter) + // optional float dropout_ratio = 1 [default = 0.5]; + if (has_dropout_ratio()) { + ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->dropout_ratio(), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:caffe.DropoutParameter) } -::caffe::FillerParameter* ConvolutionParameter::mutable_bias_filler() { - set_has_bias_filler(); - if (bias_filler_ == NULL) { - bias_filler_ = new ::caffe::FillerParameter; + +::google::protobuf::uint8* DropoutParameter::InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* target) const { + (void)deterministic; // Unused + // @@protoc_insertion_point(serialize_to_array_start:caffe.DropoutParameter) + // optional float dropout_ratio = 1 [default = 0.5]; + if (has_dropout_ratio()) { + target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->dropout_ratio(), target); } - // @@protoc_insertion_point(field_mutable:caffe.ConvolutionParameter.bias_filler) - return bias_filler_; + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:caffe.DropoutParameter) + return target; } -::caffe::FillerParameter* ConvolutionParameter::release_bias_filler() { - // @@protoc_insertion_point(field_release:caffe.ConvolutionParameter.bias_filler) - clear_has_bias_filler(); - ::caffe::FillerParameter* temp = bias_filler_; - bias_filler_ = NULL; - return temp; + +size_t DropoutParameter::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:caffe.DropoutParameter) + size_t total_size = 0; + + // optional float dropout_ratio = 1 [default = 0.5]; + if (has_dropout_ratio()) { + total_size += 1 + 4; + } + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + unknown_fields()); + } + 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 ConvolutionParameter::set_allocated_bias_filler(::caffe::FillerParameter* bias_filler) { - delete bias_filler_; - bias_filler_ = bias_filler; - if (bias_filler) { - set_has_bias_filler(); + +void DropoutParameter::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:caffe.DropoutParameter) + if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__); + const DropoutParameter* source = + ::google::protobuf::internal::DynamicCastToGenerated( + &from); + if (source == NULL) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.DropoutParameter) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); } else { - clear_has_bias_filler(); + // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.DropoutParameter) + UnsafeMergeFrom(*source); } - // @@protoc_insertion_point(field_set_allocated:caffe.ConvolutionParameter.bias_filler) } -// optional .caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT]; -bool ConvolutionParameter::has_engine() const { - return (_has_bits_[0] & 0x00004000u) != 0; -} -void ConvolutionParameter::set_has_engine() { - _has_bits_[0] |= 0x00004000u; -} -void ConvolutionParameter::clear_has_engine() { - _has_bits_[0] &= ~0x00004000u; -} -void ConvolutionParameter::clear_engine() { - engine_ = 0; - clear_has_engine(); -} -::caffe::ConvolutionParameter_Engine ConvolutionParameter::engine() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.engine) - return static_cast< ::caffe::ConvolutionParameter_Engine >(engine_); -} -void ConvolutionParameter::set_engine(::caffe::ConvolutionParameter_Engine value) { - assert(::caffe::ConvolutionParameter_Engine_IsValid(value)); - set_has_engine(); - engine_ = value; - // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.engine) +void DropoutParameter::MergeFrom(const DropoutParameter& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:caffe.DropoutParameter) + if (GOOGLE_PREDICT_TRUE(&from != this)) { + UnsafeMergeFrom(from); + } else { + MergeFromFail(__LINE__); + } } -// optional uint32 dilation_h = 18; -bool ConvolutionParameter::has_dilation_h() const { - return (_has_bits_[0] & 0x00008000u) != 0; -} -void ConvolutionParameter::set_has_dilation_h() { - _has_bits_[0] |= 0x00008000u; -} -void ConvolutionParameter::clear_has_dilation_h() { - _has_bits_[0] &= ~0x00008000u; -} -void ConvolutionParameter::clear_dilation_h() { - dilation_h_ = 0u; - clear_has_dilation_h(); -} -::google::protobuf::uint32 ConvolutionParameter::dilation_h() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.dilation_h) - return dilation_h_; -} -void ConvolutionParameter::set_dilation_h(::google::protobuf::uint32 value) { - set_has_dilation_h(); - dilation_h_ = value; - // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.dilation_h) +void DropoutParameter::UnsafeMergeFrom(const DropoutParameter& from) { + GOOGLE_DCHECK(&from != this); + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (from.has_dropout_ratio()) { + set_dropout_ratio(from.dropout_ratio()); + } + } + if (from._internal_metadata_.have_unknown_fields()) { + ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata( + from.unknown_fields(), &_internal_metadata_); + } } -// optional uint32 dilation_w = 19; -bool ConvolutionParameter::has_dilation_w() const { - return (_has_bits_[0] & 0x00010000u) != 0; -} -void ConvolutionParameter::set_has_dilation_w() { - _has_bits_[0] |= 0x00010000u; -} -void ConvolutionParameter::clear_has_dilation_w() { - _has_bits_[0] &= ~0x00010000u; -} -void ConvolutionParameter::clear_dilation_w() { - dilation_w_ = 0u; - clear_has_dilation_w(); +void DropoutParameter::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:caffe.DropoutParameter) + if (&from == this) return; + Clear(); + MergeFrom(from); } -::google::protobuf::uint32 ConvolutionParameter::dilation_w() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.dilation_w) - return dilation_w_; + +void DropoutParameter::CopyFrom(const DropoutParameter& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:caffe.DropoutParameter) + if (&from == this) return; + Clear(); + UnsafeMergeFrom(from); } -void ConvolutionParameter::set_dilation_w(::google::protobuf::uint32 value) { - set_has_dilation_w(); - dilation_w_ = value; - // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.dilation_w) + +bool DropoutParameter::IsInitialized() const { + + return true; } -// optional uint32 dilation = 20; -bool ConvolutionParameter::has_dilation() const { - return (_has_bits_[0] & 0x00020000u) != 0; +void DropoutParameter::Swap(DropoutParameter* other) { + if (other == this) return; + InternalSwap(other); } -void ConvolutionParameter::set_has_dilation() { - _has_bits_[0] |= 0x00020000u; +void DropoutParameter::InternalSwap(DropoutParameter* other) { + std::swap(dropout_ratio_, other->dropout_ratio_); + std::swap(_has_bits_[0], other->_has_bits_[0]); + _internal_metadata_.Swap(&other->_internal_metadata_); + std::swap(_cached_size_, other->_cached_size_); } -void ConvolutionParameter::clear_has_dilation() { - _has_bits_[0] &= ~0x00020000u; + +::google::protobuf::Metadata DropoutParameter::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = DropoutParameter_descriptor_; + metadata.reflection = DropoutParameter_reflection_; + return metadata; } -void ConvolutionParameter::clear_dilation() { - dilation_ = 0u; - clear_has_dilation(); + +#if PROTOBUF_INLINE_NOT_IN_HEADERS +// DropoutParameter + +// optional float dropout_ratio = 1 [default = 0.5]; +bool DropoutParameter::has_dropout_ratio() const { + return (_has_bits_[0] & 0x00000001u) != 0; } -::google::protobuf::uint32 ConvolutionParameter::dilation() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.dilation) - return dilation_; +void DropoutParameter::set_has_dropout_ratio() { + _has_bits_[0] |= 0x00000001u; } -void ConvolutionParameter::set_dilation(::google::protobuf::uint32 value) { - set_has_dilation(); - dilation_ = value; - // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.dilation) +void DropoutParameter::clear_has_dropout_ratio() { + _has_bits_[0] &= ~0x00000001u; } - -inline const ConvolutionParameter* ConvolutionParameter::internal_default_instance() { - return &ConvolutionParameter_default_instance_.get(); +void DropoutParameter::clear_dropout_ratio() { + dropout_ratio_ = 0.5f; + clear_has_dropout_ratio(); } -#endif // PROTOBUF_INLINE_NOT_IN_HEADERS - -// =================================================================== - -const ::google::protobuf::EnumDescriptor* DataParameter_DB_descriptor() { - protobuf_AssignDescriptorsOnce(); - return DataParameter_DB_descriptor_; +float DropoutParameter::dropout_ratio() const { + // @@protoc_insertion_point(field_get:caffe.DropoutParameter.dropout_ratio) + return dropout_ratio_; } -bool DataParameter_DB_IsValid(int value) { - switch (value) { - case 0: - case 1: - return true; - default: - return false; - } +void DropoutParameter::set_dropout_ratio(float value) { + set_has_dropout_ratio(); + dropout_ratio_ = value; + // @@protoc_insertion_point(field_set:caffe.DropoutParameter.dropout_ratio) } +inline const DropoutParameter* DropoutParameter::internal_default_instance() { + return &DropoutParameter_default_instance_.get(); +} +#endif // PROTOBUF_INLINE_NOT_IN_HEADERS + +// =================================================================== + #if !defined(_MSC_VER) || _MSC_VER >= 1900 -const DataParameter_DB DataParameter::LEVELDB; -const DataParameter_DB DataParameter::LMDB; -const DataParameter_DB DataParameter::DB_MIN; -const DataParameter_DB DataParameter::DB_MAX; -const int DataParameter::DB_ARRAYSIZE; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int DataParameter::kSourceFieldNumber; -const int DataParameter::kBatchSizeFieldNumber; -const int DataParameter::kRandSkipFieldNumber; -const int DataParameter::kBackendFieldNumber; -const int DataParameter::kScaleFieldNumber; -const int DataParameter::kMeanFileFieldNumber; -const int DataParameter::kCropSizeFieldNumber; -const int DataParameter::kMirrorFieldNumber; -const int DataParameter::kForceEncodedColorFieldNumber; +const int DummyDataParameter::kDataFillerFieldNumber; +const int DummyDataParameter::kShapeFieldNumber; +const int DummyDataParameter::kNumFieldNumber; +const int DummyDataParameter::kChannelsFieldNumber; +const int DummyDataParameter::kHeightFieldNumber; +const int DummyDataParameter::kWidthFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 -DataParameter::DataParameter() +DummyDataParameter::DummyDataParameter() : ::google::protobuf::Message(), _internal_metadata_(NULL) { if (this != internal_default_instance()) protobuf_InitDefaults_caffe_2eproto(); SharedCtor(); - // @@protoc_insertion_point(constructor:caffe.DataParameter) + // @@protoc_insertion_point(constructor:caffe.DummyDataParameter) } -void DataParameter::InitAsDefaultInstance() { +void DummyDataParameter::InitAsDefaultInstance() { } -DataParameter::DataParameter(const DataParameter& from) +DummyDataParameter::DummyDataParameter(const DummyDataParameter& from) : ::google::protobuf::Message(), _internal_metadata_(NULL) { SharedCtor(); UnsafeMergeFrom(from); - // @@protoc_insertion_point(copy_constructor:caffe.DataParameter) + // @@protoc_insertion_point(copy_constructor:caffe.DummyDataParameter) } -void DataParameter::SharedCtor() { +void DummyDataParameter::SharedCtor() { _cached_size_ = 0; - source_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - mean_file_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - ::memset(&batch_size_, 0, reinterpret_cast(&force_encoded_color_) - - reinterpret_cast(&batch_size_) + sizeof(force_encoded_color_)); - scale_ = 1; } -DataParameter::~DataParameter() { - // @@protoc_insertion_point(destructor:caffe.DataParameter) +DummyDataParameter::~DummyDataParameter() { + // @@protoc_insertion_point(destructor:caffe.DummyDataParameter) SharedDtor(); } -void DataParameter::SharedDtor() { - source_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - mean_file_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +void DummyDataParameter::SharedDtor() { } -void DataParameter::SetCachedSize(int size) const { +void DummyDataParameter::SetCachedSize(int size) const { GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); _cached_size_ = size; GOOGLE_SAFE_CONCURRENT_WRITES_END(); } -const ::google::protobuf::Descriptor* DataParameter::descriptor() { +const ::google::protobuf::Descriptor* DummyDataParameter::descriptor() { protobuf_AssignDescriptorsOnce(); - return DataParameter_descriptor_; + return DummyDataParameter_descriptor_; } -const DataParameter& DataParameter::default_instance() { +const DummyDataParameter& DummyDataParameter::default_instance() { protobuf_InitDefaults_caffe_2eproto(); return *internal_default_instance(); } -::google::protobuf::internal::ExplicitlyConstructed DataParameter_default_instance_; +::google::protobuf::internal::ExplicitlyConstructed DummyDataParameter_default_instance_; -DataParameter* DataParameter::New(::google::protobuf::Arena* arena) const { - DataParameter* n = new DataParameter; +DummyDataParameter* DummyDataParameter::New(::google::protobuf::Arena* arena) const { + DummyDataParameter* n = new DummyDataParameter; if (arena != NULL) { arena->Own(n); } return n; } -void DataParameter::Clear() { -// @@protoc_insertion_point(message_clear_start:caffe.DataParameter) -#if defined(__clang__) -#define ZR_HELPER_(f) \ - _Pragma("clang diagnostic push") \ - _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \ - __builtin_offsetof(DataParameter, f) \ - _Pragma("clang diagnostic pop") -#else -#define ZR_HELPER_(f) reinterpret_cast(\ - &reinterpret_cast(16)->f) -#endif - -#define ZR_(first, last) do {\ - ::memset(&(first), 0,\ - ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\ -} while (0) - - if (_has_bits_[0 / 32] & 255u) { - ZR_(batch_size_, mirror_); - if (has_source()) { - source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - } - scale_ = 1; - if (has_mean_file()) { - mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - } - } - force_encoded_color_ = false; - -#undef ZR_HELPER_ -#undef ZR_ - +void DummyDataParameter::Clear() { +// @@protoc_insertion_point(message_clear_start:caffe.DummyDataParameter) + data_filler_.Clear(); + shape_.Clear(); + num_.Clear(); + channels_.Clear(); + height_.Clear(); + width_.Clear(); _has_bits_.Clear(); if (_internal_metadata_.have_unknown_fields()) { mutable_unknown_fields()->Clear(); } } -bool DataParameter::MergePartialFromCodedStream( +bool DummyDataParameter::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:caffe.DataParameter) + // @@protoc_insertion_point(parse_start:caffe.DummyDataParameter) for (;;) { ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127); tag = p.first; if (!p.second) goto handle_unusual; switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // optional string source = 1; + // repeated .caffe.FillerParameter data_filler = 1; case 1: { if (tag == 10) { - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_source())); - ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( - this->source().data(), this->source().length(), - ::google::protobuf::internal::WireFormat::PARSE, - "caffe.DataParameter.source"); + DO_(input->IncrementRecursionDepth()); + parse_loop_data_filler: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth( + input, add_data_filler())); } else { goto handle_unusual; } - if (input->ExpectTag(21)) goto parse_scale; + if (input->ExpectTag(10)) goto parse_loop_data_filler; + input->UnsafeDecrementRecursionDepth(); + if (input->ExpectTag(16)) goto parse_num; break; } - // optional float scale = 2 [default = 1]; + // repeated uint32 num = 2; case 2: { - if (tag == 21) { - parse_scale: - set_has_scale(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>( - input, &scale_))); + if (tag == 16) { + parse_num: + DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + 1, 16, input, this->mutable_num()))); + } else if (tag == 18) { + DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, this->mutable_num()))); } else { goto handle_unusual; } - if (input->ExpectTag(26)) goto parse_mean_file; + if (input->ExpectTag(16)) goto parse_num; + if (input->ExpectTag(24)) goto parse_channels; break; } - // optional string mean_file = 3; + // repeated uint32 channels = 3; case 3: { - if (tag == 26) { - parse_mean_file: - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_mean_file())); - ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( - this->mean_file().data(), this->mean_file().length(), - ::google::protobuf::internal::WireFormat::PARSE, - "caffe.DataParameter.mean_file"); + if (tag == 24) { + parse_channels: + DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + 1, 24, input, this->mutable_channels()))); + } else if (tag == 26) { + DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, this->mutable_channels()))); } else { goto handle_unusual; } - if (input->ExpectTag(32)) goto parse_batch_size; + if (input->ExpectTag(24)) goto parse_channels; + if (input->ExpectTag(32)) goto parse_height; break; } - // optional uint32 batch_size = 4; + // repeated uint32 height = 4; case 4: { if (tag == 32) { - parse_batch_size: - set_has_batch_size(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + parse_height: + DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive< ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &batch_size_))); + 1, 32, input, this->mutable_height()))); + } else if (tag == 34) { + DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, this->mutable_height()))); } else { goto handle_unusual; } - if (input->ExpectTag(40)) goto parse_crop_size; + if (input->ExpectTag(32)) goto parse_height; + if (input->ExpectTag(40)) goto parse_width; break; } - // optional uint32 crop_size = 5 [default = 0]; + // repeated uint32 width = 5; case 5: { if (tag == 40) { - parse_crop_size: - set_has_crop_size(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + parse_width: + DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive< ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &crop_size_))); - } else { - goto handle_unusual; - } - if (input->ExpectTag(48)) goto parse_mirror; - break; - } - - // optional bool mirror = 6 [default = false]; - case 6: { - if (tag == 48) { - parse_mirror: - set_has_mirror(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( - input, &mirror_))); - } else { - goto handle_unusual; - } - if (input->ExpectTag(56)) goto parse_rand_skip; - break; - } - - // optional uint32 rand_skip = 7 [default = 0]; - case 7: { - if (tag == 56) { - parse_rand_skip: - set_has_rand_skip(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + 1, 40, input, this->mutable_width()))); + } else if (tag == 42) { + DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline< ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &rand_skip_))); - } else { - goto handle_unusual; - } - if (input->ExpectTag(64)) goto parse_backend; - break; - } - - // optional .caffe.DataParameter.DB backend = 8 [default = LEVELDB]; - case 8: { - if (tag == 64) { - parse_backend: - int value; - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>( - input, &value))); - if (::caffe::DataParameter_DB_IsValid(value)) { - set_backend(static_cast< ::caffe::DataParameter_DB >(value)); - } else { - mutable_unknown_fields()->AddVarint(8, value); - } + input, this->mutable_width()))); } else { goto handle_unusual; } - if (input->ExpectTag(72)) goto parse_force_encoded_color; + if (input->ExpectTag(40)) goto parse_width; + if (input->ExpectTag(50)) goto parse_shape; break; } - // optional bool force_encoded_color = 9 [default = false]; - case 9: { - if (tag == 72) { - parse_force_encoded_color: - set_has_force_encoded_color(); - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( - input, &force_encoded_color_))); + // repeated .caffe.BlobShape shape = 6; + case 6: { + if (tag == 50) { + parse_shape: + DO_(input->IncrementRecursionDepth()); + parse_loop_shape: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth( + input, add_shape())); } else { goto handle_unusual; } + if (input->ExpectTag(50)) goto parse_loop_shape; + input->UnsafeDecrementRecursionDepth(); if (input->ExpectAtEnd()) goto success; break; } @@ -23065,210 +26978,186 @@ bool DataParameter::MergePartialFromCodedStream( } } success: - // @@protoc_insertion_point(parse_success:caffe.DataParameter) + // @@protoc_insertion_point(parse_success:caffe.DummyDataParameter) return true; failure: - // @@protoc_insertion_point(parse_failure:caffe.DataParameter) + // @@protoc_insertion_point(parse_failure:caffe.DummyDataParameter) return false; #undef DO_ } -void DataParameter::SerializeWithCachedSizes( +void DummyDataParameter::SerializeWithCachedSizes( ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:caffe.DataParameter) - // optional string source = 1; - if (has_source()) { - ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( - this->source().data(), this->source().length(), - ::google::protobuf::internal::WireFormat::SERIALIZE, - "caffe.DataParameter.source"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 1, this->source(), output); - } - - // optional float scale = 2 [default = 1]; - if (has_scale()) { - ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->scale(), output); - } - - // optional string mean_file = 3; - if (has_mean_file()) { - ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( - this->mean_file().data(), this->mean_file().length(), - ::google::protobuf::internal::WireFormat::SERIALIZE, - "caffe.DataParameter.mean_file"); - ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( - 3, this->mean_file(), output); - } - - // optional uint32 batch_size = 4; - if (has_batch_size()) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->batch_size(), output); + // @@protoc_insertion_point(serialize_start:caffe.DummyDataParameter) + // repeated .caffe.FillerParameter data_filler = 1; + for (unsigned int i = 0, n = this->data_filler_size(); i < n; i++) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 1, this->data_filler(i), output); } - // optional uint32 crop_size = 5 [default = 0]; - if (has_crop_size()) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(5, this->crop_size(), output); + // repeated uint32 num = 2; + for (int i = 0; i < this->num_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32( + 2, this->num(i), output); } - // optional bool mirror = 6 [default = false]; - if (has_mirror()) { - ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->mirror(), output); + // repeated uint32 channels = 3; + for (int i = 0; i < this->channels_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32( + 3, this->channels(i), output); } - // optional uint32 rand_skip = 7 [default = 0]; - if (has_rand_skip()) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(7, this->rand_skip(), output); + // repeated uint32 height = 4; + for (int i = 0; i < this->height_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32( + 4, this->height(i), output); } - // optional .caffe.DataParameter.DB backend = 8 [default = LEVELDB]; - if (has_backend()) { - ::google::protobuf::internal::WireFormatLite::WriteEnum( - 8, this->backend(), output); + // repeated uint32 width = 5; + for (int i = 0; i < this->width_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32( + 5, this->width(i), output); } - // optional bool force_encoded_color = 9 [default = false]; - if (has_force_encoded_color()) { - ::google::protobuf::internal::WireFormatLite::WriteBool(9, this->force_encoded_color(), output); + // repeated .caffe.BlobShape shape = 6; + for (unsigned int i = 0, n = this->shape_size(); i < n; i++) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 6, this->shape(i), output); } if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( unknown_fields(), output); } - // @@protoc_insertion_point(serialize_end:caffe.DataParameter) + // @@protoc_insertion_point(serialize_end:caffe.DummyDataParameter) } -::google::protobuf::uint8* DataParameter::InternalSerializeWithCachedSizesToArray( +::google::protobuf::uint8* DummyDataParameter::InternalSerializeWithCachedSizesToArray( bool deterministic, ::google::protobuf::uint8* target) const { (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:caffe.DataParameter) - // optional string source = 1; - if (has_source()) { - ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( - this->source().data(), this->source().length(), - ::google::protobuf::internal::WireFormat::SERIALIZE, - "caffe.DataParameter.source"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 1, this->source(), target); - } - - // optional float scale = 2 [default = 1]; - if (has_scale()) { - target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->scale(), target); - } - - // optional string mean_file = 3; - if (has_mean_file()) { - ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( - this->mean_file().data(), this->mean_file().length(), - ::google::protobuf::internal::WireFormat::SERIALIZE, - "caffe.DataParameter.mean_file"); - target = - ::google::protobuf::internal::WireFormatLite::WriteStringToArray( - 3, this->mean_file(), target); - } - - // optional uint32 batch_size = 4; - if (has_batch_size()) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(4, this->batch_size(), target); + // @@protoc_insertion_point(serialize_to_array_start:caffe.DummyDataParameter) + // repeated .caffe.FillerParameter data_filler = 1; + for (unsigned int i = 0, n = this->data_filler_size(); i < n; i++) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageNoVirtualToArray( + 1, this->data_filler(i), false, target); } - // optional uint32 crop_size = 5 [default = 0]; - if (has_crop_size()) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(5, this->crop_size(), target); + // repeated uint32 num = 2; + for (int i = 0; i < this->num_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteUInt32ToArray(2, this->num(i), target); } - // optional bool mirror = 6 [default = false]; - if (has_mirror()) { - target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(6, this->mirror(), target); + // repeated uint32 channels = 3; + for (int i = 0; i < this->channels_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteUInt32ToArray(3, this->channels(i), target); } - // optional uint32 rand_skip = 7 [default = 0]; - if (has_rand_skip()) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(7, this->rand_skip(), target); + // repeated uint32 height = 4; + for (int i = 0; i < this->height_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteUInt32ToArray(4, this->height(i), target); } - // optional .caffe.DataParameter.DB backend = 8 [default = LEVELDB]; - if (has_backend()) { - target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray( - 8, this->backend(), target); + // repeated uint32 width = 5; + for (int i = 0; i < this->width_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteUInt32ToArray(5, this->width(i), target); } - // optional bool force_encoded_color = 9 [default = false]; - if (has_force_encoded_color()) { - target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(9, this->force_encoded_color(), target); + // repeated .caffe.BlobShape shape = 6; + for (unsigned int i = 0, n = this->shape_size(); i < n; i++) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageNoVirtualToArray( + 6, this->shape(i), false, target); } if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( unknown_fields(), target); } - // @@protoc_insertion_point(serialize_to_array_end:caffe.DataParameter) + // @@protoc_insertion_point(serialize_to_array_end:caffe.DummyDataParameter) return target; } -size_t DataParameter::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:caffe.DataParameter) +size_t DummyDataParameter::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:caffe.DummyDataParameter) size_t total_size = 0; - if (_has_bits_[0 / 32] & 255u) { - // optional string source = 1; - if (has_source()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->source()); - } - - // optional uint32 batch_size = 4; - if (has_batch_size()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->batch_size()); - } - - // optional uint32 rand_skip = 7 [default = 0]; - if (has_rand_skip()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->rand_skip()); + // repeated .caffe.FillerParameter data_filler = 1; + { + unsigned int count = this->data_filler_size(); + total_size += 1UL * count; + for (unsigned int i = 0; i < count; i++) { + total_size += + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + this->data_filler(i)); } + } - // optional .caffe.DataParameter.DB backend = 8 [default = LEVELDB]; - if (has_backend()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::EnumSize(this->backend()); + // repeated .caffe.BlobShape shape = 6; + { + unsigned int count = this->shape_size(); + total_size += 1UL * count; + for (unsigned int i = 0; i < count; i++) { + total_size += + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + this->shape(i)); } + } - // optional float scale = 2 [default = 1]; - if (has_scale()) { - total_size += 1 + 4; + // repeated uint32 num = 2; + { + size_t data_size = 0; + unsigned int count = this->num_size(); + for (unsigned int i = 0; i < count; i++) { + data_size += ::google::protobuf::internal::WireFormatLite:: + UInt32Size(this->num(i)); } + total_size += 1 * + ::google::protobuf::internal::FromIntSize(this->num_size()); + total_size += data_size; + } - // optional string mean_file = 3; - if (has_mean_file()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::StringSize( - this->mean_file()); + // repeated uint32 channels = 3; + { + size_t data_size = 0; + unsigned int count = this->channels_size(); + for (unsigned int i = 0; i < count; i++) { + data_size += ::google::protobuf::internal::WireFormatLite:: + UInt32Size(this->channels(i)); } + total_size += 1 * + ::google::protobuf::internal::FromIntSize(this->channels_size()); + total_size += data_size; + } - // optional uint32 crop_size = 5 [default = 0]; - if (has_crop_size()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->crop_size()); + // repeated uint32 height = 4; + { + size_t data_size = 0; + unsigned int count = this->height_size(); + for (unsigned int i = 0; i < count; i++) { + data_size += ::google::protobuf::internal::WireFormatLite:: + UInt32Size(this->height(i)); } + total_size += 1 * + ::google::protobuf::internal::FromIntSize(this->height_size()); + total_size += data_size; + } - // optional bool mirror = 6 [default = false]; - if (has_mirror()) { - total_size += 1 + 1; + // repeated uint32 width = 5; + { + size_t data_size = 0; + unsigned int count = this->width_size(); + for (unsigned int i = 0; i < count; i++) { + data_size += ::google::protobuf::internal::WireFormatLite:: + UInt32Size(this->width(i)); } - - } - // optional bool force_encoded_color = 9 [default = false]; - if (has_force_encoded_color()) { - total_size += 1 + 1; + total_size += 1 * + ::google::protobuf::internal::FromIntSize(this->width_size()); + total_size += data_size; } if (_internal_metadata_.have_unknown_fields()) { @@ -23283,23 +27172,23 @@ size_t DataParameter::ByteSizeLong() const { return total_size; } -void DataParameter::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:caffe.DataParameter) +void DummyDataParameter::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:caffe.DummyDataParameter) if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__); - const DataParameter* source = - ::google::protobuf::internal::DynamicCastToGenerated( + const DummyDataParameter* source = + ::google::protobuf::internal::DynamicCastToGenerated( &from); if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.DataParameter) + // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.DummyDataParameter) ::google::protobuf::internal::ReflectionOps::Merge(from, this); } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.DataParameter) + // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.DummyDataParameter) UnsafeMergeFrom(*source); } } -void DataParameter::MergeFrom(const DataParameter& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:caffe.DataParameter) +void DummyDataParameter::MergeFrom(const DummyDataParameter& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:caffe.DummyDataParameter) if (GOOGLE_PREDICT_TRUE(&from != this)) { UnsafeMergeFrom(from); } else { @@ -23307,466 +27196,408 @@ void DataParameter::MergeFrom(const DataParameter& from) { } } -void DataParameter::UnsafeMergeFrom(const DataParameter& from) { +void DummyDataParameter::UnsafeMergeFrom(const DummyDataParameter& from) { GOOGLE_DCHECK(&from != this); - if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { - if (from.has_source()) { - set_has_source(); - source_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.source_); - } - if (from.has_batch_size()) { - set_batch_size(from.batch_size()); - } - if (from.has_rand_skip()) { - set_rand_skip(from.rand_skip()); - } - if (from.has_backend()) { - set_backend(from.backend()); - } - if (from.has_scale()) { - set_scale(from.scale()); - } - if (from.has_mean_file()) { - set_has_mean_file(); - mean_file_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.mean_file_); - } - if (from.has_crop_size()) { - set_crop_size(from.crop_size()); - } - if (from.has_mirror()) { - set_mirror(from.mirror()); - } - } - if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) { - if (from.has_force_encoded_color()) { - set_force_encoded_color(from.force_encoded_color()); - } - } + data_filler_.MergeFrom(from.data_filler_); + shape_.MergeFrom(from.shape_); + num_.UnsafeMergeFrom(from.num_); + channels_.UnsafeMergeFrom(from.channels_); + height_.UnsafeMergeFrom(from.height_); + width_.UnsafeMergeFrom(from.width_); if (from._internal_metadata_.have_unknown_fields()) { ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata( from.unknown_fields(), &_internal_metadata_); } } -void DataParameter::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:caffe.DataParameter) +void DummyDataParameter::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:caffe.DummyDataParameter) if (&from == this) return; Clear(); MergeFrom(from); } -void DataParameter::CopyFrom(const DataParameter& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:caffe.DataParameter) +void DummyDataParameter::CopyFrom(const DummyDataParameter& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:caffe.DummyDataParameter) if (&from == this) return; Clear(); UnsafeMergeFrom(from); } -bool DataParameter::IsInitialized() const { +bool DummyDataParameter::IsInitialized() const { return true; } -void DataParameter::Swap(DataParameter* other) { +void DummyDataParameter::Swap(DummyDataParameter* other) { if (other == this) return; InternalSwap(other); } -void DataParameter::InternalSwap(DataParameter* other) { - source_.Swap(&other->source_); - std::swap(batch_size_, other->batch_size_); - std::swap(rand_skip_, other->rand_skip_); - std::swap(backend_, other->backend_); - std::swap(scale_, other->scale_); - mean_file_.Swap(&other->mean_file_); - std::swap(crop_size_, other->crop_size_); - std::swap(mirror_, other->mirror_); - std::swap(force_encoded_color_, other->force_encoded_color_); +void DummyDataParameter::InternalSwap(DummyDataParameter* other) { + data_filler_.UnsafeArenaSwap(&other->data_filler_); + shape_.UnsafeArenaSwap(&other->shape_); + num_.UnsafeArenaSwap(&other->num_); + channels_.UnsafeArenaSwap(&other->channels_); + height_.UnsafeArenaSwap(&other->height_); + width_.UnsafeArenaSwap(&other->width_); std::swap(_has_bits_[0], other->_has_bits_[0]); _internal_metadata_.Swap(&other->_internal_metadata_); std::swap(_cached_size_, other->_cached_size_); } -::google::protobuf::Metadata DataParameter::GetMetadata() const { +::google::protobuf::Metadata DummyDataParameter::GetMetadata() const { protobuf_AssignDescriptorsOnce(); ::google::protobuf::Metadata metadata; - metadata.descriptor = DataParameter_descriptor_; - metadata.reflection = DataParameter_reflection_; + metadata.descriptor = DummyDataParameter_descriptor_; + metadata.reflection = DummyDataParameter_reflection_; return metadata; } #if PROTOBUF_INLINE_NOT_IN_HEADERS -// DataParameter +// DummyDataParameter -// optional string source = 1; -bool DataParameter::has_source() const { - return (_has_bits_[0] & 0x00000001u) != 0; -} -void DataParameter::set_has_source() { - _has_bits_[0] |= 0x00000001u; -} -void DataParameter::clear_has_source() { - _has_bits_[0] &= ~0x00000001u; -} -void DataParameter::clear_source() { - source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - clear_has_source(); -} -const ::std::string& DataParameter::source() const { - // @@protoc_insertion_point(field_get:caffe.DataParameter.source) - return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +// repeated .caffe.FillerParameter data_filler = 1; +int DummyDataParameter::data_filler_size() const { + return data_filler_.size(); } -void DataParameter::set_source(const ::std::string& value) { - set_has_source(); - source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); - // @@protoc_insertion_point(field_set:caffe.DataParameter.source) +void DummyDataParameter::clear_data_filler() { + data_filler_.Clear(); } -void DataParameter::set_source(const char* value) { - set_has_source(); - source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:caffe.DataParameter.source) +const ::caffe::FillerParameter& DummyDataParameter::data_filler(int index) const { + // @@protoc_insertion_point(field_get:caffe.DummyDataParameter.data_filler) + return data_filler_.Get(index); } -void DataParameter::set_source(const char* value, size_t size) { - set_has_source(); - source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:caffe.DataParameter.source) +::caffe::FillerParameter* DummyDataParameter::mutable_data_filler(int index) { + // @@protoc_insertion_point(field_mutable:caffe.DummyDataParameter.data_filler) + return data_filler_.Mutable(index); } -::std::string* DataParameter::mutable_source() { - set_has_source(); - // @@protoc_insertion_point(field_mutable:caffe.DataParameter.source) - return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +::caffe::FillerParameter* DummyDataParameter::add_data_filler() { + // @@protoc_insertion_point(field_add:caffe.DummyDataParameter.data_filler) + return data_filler_.Add(); } -::std::string* DataParameter::release_source() { - // @@protoc_insertion_point(field_release:caffe.DataParameter.source) - clear_has_source(); - return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +::google::protobuf::RepeatedPtrField< ::caffe::FillerParameter >* +DummyDataParameter::mutable_data_filler() { + // @@protoc_insertion_point(field_mutable_list:caffe.DummyDataParameter.data_filler) + return &data_filler_; } -void DataParameter::set_allocated_source(::std::string* source) { - if (source != NULL) { - set_has_source(); - } else { - clear_has_source(); - } - source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source); - // @@protoc_insertion_point(field_set_allocated:caffe.DataParameter.source) +const ::google::protobuf::RepeatedPtrField< ::caffe::FillerParameter >& +DummyDataParameter::data_filler() const { + // @@protoc_insertion_point(field_list:caffe.DummyDataParameter.data_filler) + return data_filler_; } -// optional uint32 batch_size = 4; -bool DataParameter::has_batch_size() const { - return (_has_bits_[0] & 0x00000002u) != 0; -} -void DataParameter::set_has_batch_size() { - _has_bits_[0] |= 0x00000002u; -} -void DataParameter::clear_has_batch_size() { - _has_bits_[0] &= ~0x00000002u; -} -void DataParameter::clear_batch_size() { - batch_size_ = 0u; - clear_has_batch_size(); -} -::google::protobuf::uint32 DataParameter::batch_size() const { - // @@protoc_insertion_point(field_get:caffe.DataParameter.batch_size) - return batch_size_; -} -void DataParameter::set_batch_size(::google::protobuf::uint32 value) { - set_has_batch_size(); - batch_size_ = value; - // @@protoc_insertion_point(field_set:caffe.DataParameter.batch_size) +// repeated .caffe.BlobShape shape = 6; +int DummyDataParameter::shape_size() const { + return shape_.size(); } - -// optional uint32 rand_skip = 7 [default = 0]; -bool DataParameter::has_rand_skip() const { - return (_has_bits_[0] & 0x00000004u) != 0; +void DummyDataParameter::clear_shape() { + shape_.Clear(); } -void DataParameter::set_has_rand_skip() { - _has_bits_[0] |= 0x00000004u; +const ::caffe::BlobShape& DummyDataParameter::shape(int index) const { + // @@protoc_insertion_point(field_get:caffe.DummyDataParameter.shape) + return shape_.Get(index); } -void DataParameter::clear_has_rand_skip() { - _has_bits_[0] &= ~0x00000004u; +::caffe::BlobShape* DummyDataParameter::mutable_shape(int index) { + // @@protoc_insertion_point(field_mutable:caffe.DummyDataParameter.shape) + return shape_.Mutable(index); } -void DataParameter::clear_rand_skip() { - rand_skip_ = 0u; - clear_has_rand_skip(); +::caffe::BlobShape* DummyDataParameter::add_shape() { + // @@protoc_insertion_point(field_add:caffe.DummyDataParameter.shape) + return shape_.Add(); } -::google::protobuf::uint32 DataParameter::rand_skip() const { - // @@protoc_insertion_point(field_get:caffe.DataParameter.rand_skip) - return rand_skip_; +::google::protobuf::RepeatedPtrField< ::caffe::BlobShape >* +DummyDataParameter::mutable_shape() { + // @@protoc_insertion_point(field_mutable_list:caffe.DummyDataParameter.shape) + return &shape_; } -void DataParameter::set_rand_skip(::google::protobuf::uint32 value) { - set_has_rand_skip(); - rand_skip_ = value; - // @@protoc_insertion_point(field_set:caffe.DataParameter.rand_skip) +const ::google::protobuf::RepeatedPtrField< ::caffe::BlobShape >& +DummyDataParameter::shape() const { + // @@protoc_insertion_point(field_list:caffe.DummyDataParameter.shape) + return shape_; } -// optional .caffe.DataParameter.DB backend = 8 [default = LEVELDB]; -bool DataParameter::has_backend() const { - return (_has_bits_[0] & 0x00000008u) != 0; -} -void DataParameter::set_has_backend() { - _has_bits_[0] |= 0x00000008u; -} -void DataParameter::clear_has_backend() { - _has_bits_[0] &= ~0x00000008u; -} -void DataParameter::clear_backend() { - backend_ = 0; - clear_has_backend(); -} -::caffe::DataParameter_DB DataParameter::backend() const { - // @@protoc_insertion_point(field_get:caffe.DataParameter.backend) - return static_cast< ::caffe::DataParameter_DB >(backend_); -} -void DataParameter::set_backend(::caffe::DataParameter_DB value) { - assert(::caffe::DataParameter_DB_IsValid(value)); - set_has_backend(); - backend_ = value; - // @@protoc_insertion_point(field_set:caffe.DataParameter.backend) +// repeated uint32 num = 2; +int DummyDataParameter::num_size() const { + return num_.size(); } - -// optional float scale = 2 [default = 1]; -bool DataParameter::has_scale() const { - return (_has_bits_[0] & 0x00000010u) != 0; +void DummyDataParameter::clear_num() { + num_.Clear(); } -void DataParameter::set_has_scale() { - _has_bits_[0] |= 0x00000010u; +::google::protobuf::uint32 DummyDataParameter::num(int index) const { + // @@protoc_insertion_point(field_get:caffe.DummyDataParameter.num) + return num_.Get(index); } -void DataParameter::clear_has_scale() { - _has_bits_[0] &= ~0x00000010u; +void DummyDataParameter::set_num(int index, ::google::protobuf::uint32 value) { + num_.Set(index, value); + // @@protoc_insertion_point(field_set:caffe.DummyDataParameter.num) } -void DataParameter::clear_scale() { - scale_ = 1; - clear_has_scale(); +void DummyDataParameter::add_num(::google::protobuf::uint32 value) { + num_.Add(value); + // @@protoc_insertion_point(field_add:caffe.DummyDataParameter.num) } -float DataParameter::scale() const { - // @@protoc_insertion_point(field_get:caffe.DataParameter.scale) - return scale_; +const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& +DummyDataParameter::num() const { + // @@protoc_insertion_point(field_list:caffe.DummyDataParameter.num) + return num_; } -void DataParameter::set_scale(float value) { - set_has_scale(); - scale_ = value; - // @@protoc_insertion_point(field_set:caffe.DataParameter.scale) +::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* +DummyDataParameter::mutable_num() { + // @@protoc_insertion_point(field_mutable_list:caffe.DummyDataParameter.num) + return &num_; } -// optional string mean_file = 3; -bool DataParameter::has_mean_file() const { - return (_has_bits_[0] & 0x00000020u) != 0; -} -void DataParameter::set_has_mean_file() { - _has_bits_[0] |= 0x00000020u; -} -void DataParameter::clear_has_mean_file() { - _has_bits_[0] &= ~0x00000020u; -} -void DataParameter::clear_mean_file() { - mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - clear_has_mean_file(); -} -const ::std::string& DataParameter::mean_file() const { - // @@protoc_insertion_point(field_get:caffe.DataParameter.mean_file) - return mean_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +// repeated uint32 channels = 3; +int DummyDataParameter::channels_size() const { + return channels_.size(); } -void DataParameter::set_mean_file(const ::std::string& value) { - set_has_mean_file(); - mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); - // @@protoc_insertion_point(field_set:caffe.DataParameter.mean_file) +void DummyDataParameter::clear_channels() { + channels_.Clear(); } -void DataParameter::set_mean_file(const char* value) { - set_has_mean_file(); - mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:caffe.DataParameter.mean_file) +::google::protobuf::uint32 DummyDataParameter::channels(int index) const { + // @@protoc_insertion_point(field_get:caffe.DummyDataParameter.channels) + return channels_.Get(index); } -void DataParameter::set_mean_file(const char* value, size_t size) { - set_has_mean_file(); - mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:caffe.DataParameter.mean_file) +void DummyDataParameter::set_channels(int index, ::google::protobuf::uint32 value) { + channels_.Set(index, value); + // @@protoc_insertion_point(field_set:caffe.DummyDataParameter.channels) } -::std::string* DataParameter::mutable_mean_file() { - set_has_mean_file(); - // @@protoc_insertion_point(field_mutable:caffe.DataParameter.mean_file) - return mean_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +void DummyDataParameter::add_channels(::google::protobuf::uint32 value) { + channels_.Add(value); + // @@protoc_insertion_point(field_add:caffe.DummyDataParameter.channels) } -::std::string* DataParameter::release_mean_file() { - // @@protoc_insertion_point(field_release:caffe.DataParameter.mean_file) - clear_has_mean_file(); - return mean_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& +DummyDataParameter::channels() const { + // @@protoc_insertion_point(field_list:caffe.DummyDataParameter.channels) + return channels_; } -void DataParameter::set_allocated_mean_file(::std::string* mean_file) { - if (mean_file != NULL) { - set_has_mean_file(); - } else { - clear_has_mean_file(); - } - mean_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mean_file); - // @@protoc_insertion_point(field_set_allocated:caffe.DataParameter.mean_file) +::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* +DummyDataParameter::mutable_channels() { + // @@protoc_insertion_point(field_mutable_list:caffe.DummyDataParameter.channels) + return &channels_; } -// optional uint32 crop_size = 5 [default = 0]; -bool DataParameter::has_crop_size() const { - return (_has_bits_[0] & 0x00000040u) != 0; -} -void DataParameter::set_has_crop_size() { - _has_bits_[0] |= 0x00000040u; -} -void DataParameter::clear_has_crop_size() { - _has_bits_[0] &= ~0x00000040u; -} -void DataParameter::clear_crop_size() { - crop_size_ = 0u; - clear_has_crop_size(); -} -::google::protobuf::uint32 DataParameter::crop_size() const { - // @@protoc_insertion_point(field_get:caffe.DataParameter.crop_size) - return crop_size_; -} -void DataParameter::set_crop_size(::google::protobuf::uint32 value) { - set_has_crop_size(); - crop_size_ = value; - // @@protoc_insertion_point(field_set:caffe.DataParameter.crop_size) +// repeated uint32 height = 4; +int DummyDataParameter::height_size() const { + return height_.size(); } - -// optional bool mirror = 6 [default = false]; -bool DataParameter::has_mirror() const { - return (_has_bits_[0] & 0x00000080u) != 0; +void DummyDataParameter::clear_height() { + height_.Clear(); } -void DataParameter::set_has_mirror() { - _has_bits_[0] |= 0x00000080u; +::google::protobuf::uint32 DummyDataParameter::height(int index) const { + // @@protoc_insertion_point(field_get:caffe.DummyDataParameter.height) + return height_.Get(index); } -void DataParameter::clear_has_mirror() { - _has_bits_[0] &= ~0x00000080u; +void DummyDataParameter::set_height(int index, ::google::protobuf::uint32 value) { + height_.Set(index, value); + // @@protoc_insertion_point(field_set:caffe.DummyDataParameter.height) } -void DataParameter::clear_mirror() { - mirror_ = false; - clear_has_mirror(); +void DummyDataParameter::add_height(::google::protobuf::uint32 value) { + height_.Add(value); + // @@protoc_insertion_point(field_add:caffe.DummyDataParameter.height) } -bool DataParameter::mirror() const { - // @@protoc_insertion_point(field_get:caffe.DataParameter.mirror) - return mirror_; +const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& +DummyDataParameter::height() const { + // @@protoc_insertion_point(field_list:caffe.DummyDataParameter.height) + return height_; } -void DataParameter::set_mirror(bool value) { - set_has_mirror(); - mirror_ = value; - // @@protoc_insertion_point(field_set:caffe.DataParameter.mirror) +::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* +DummyDataParameter::mutable_height() { + // @@protoc_insertion_point(field_mutable_list:caffe.DummyDataParameter.height) + return &height_; } -// optional bool force_encoded_color = 9 [default = false]; -bool DataParameter::has_force_encoded_color() const { - return (_has_bits_[0] & 0x00000100u) != 0; +// repeated uint32 width = 5; +int DummyDataParameter::width_size() const { + return width_.size(); } -void DataParameter::set_has_force_encoded_color() { - _has_bits_[0] |= 0x00000100u; +void DummyDataParameter::clear_width() { + width_.Clear(); } -void DataParameter::clear_has_force_encoded_color() { - _has_bits_[0] &= ~0x00000100u; +::google::protobuf::uint32 DummyDataParameter::width(int index) const { + // @@protoc_insertion_point(field_get:caffe.DummyDataParameter.width) + return width_.Get(index); } -void DataParameter::clear_force_encoded_color() { - force_encoded_color_ = false; - clear_has_force_encoded_color(); +void DummyDataParameter::set_width(int index, ::google::protobuf::uint32 value) { + width_.Set(index, value); + // @@protoc_insertion_point(field_set:caffe.DummyDataParameter.width) } -bool DataParameter::force_encoded_color() const { - // @@protoc_insertion_point(field_get:caffe.DataParameter.force_encoded_color) - return force_encoded_color_; +void DummyDataParameter::add_width(::google::protobuf::uint32 value) { + width_.Add(value); + // @@protoc_insertion_point(field_add:caffe.DummyDataParameter.width) } -void DataParameter::set_force_encoded_color(bool value) { - set_has_force_encoded_color(); - force_encoded_color_ = value; - // @@protoc_insertion_point(field_set:caffe.DataParameter.force_encoded_color) +const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& +DummyDataParameter::width() const { + // @@protoc_insertion_point(field_list:caffe.DummyDataParameter.width) + return width_; +} +::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* +DummyDataParameter::mutable_width() { + // @@protoc_insertion_point(field_mutable_list:caffe.DummyDataParameter.width) + return &width_; } -inline const DataParameter* DataParameter::internal_default_instance() { - return &DataParameter_default_instance_.get(); +inline const DummyDataParameter* DummyDataParameter::internal_default_instance() { + return &DummyDataParameter_default_instance_.get(); } #endif // PROTOBUF_INLINE_NOT_IN_HEADERS // =================================================================== +const ::google::protobuf::EnumDescriptor* EltwiseParameter_EltwiseOp_descriptor() { + protobuf_AssignDescriptorsOnce(); + return EltwiseParameter_EltwiseOp_descriptor_; +} +bool EltwiseParameter_EltwiseOp_IsValid(int value) { + switch (value) { + case 0: + case 1: + case 2: + return true; + default: + return false; + } +} + #if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int DropoutParameter::kDropoutRatioFieldNumber; +const EltwiseParameter_EltwiseOp EltwiseParameter::PROD; +const EltwiseParameter_EltwiseOp EltwiseParameter::SUM; +const EltwiseParameter_EltwiseOp EltwiseParameter::MAX; +const EltwiseParameter_EltwiseOp EltwiseParameter::EltwiseOp_MIN; +const EltwiseParameter_EltwiseOp EltwiseParameter::EltwiseOp_MAX; +const int EltwiseParameter::EltwiseOp_ARRAYSIZE; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int EltwiseParameter::kOperationFieldNumber; +const int EltwiseParameter::kCoeffFieldNumber; +const int EltwiseParameter::kStableProdGradFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 -DropoutParameter::DropoutParameter() +EltwiseParameter::EltwiseParameter() : ::google::protobuf::Message(), _internal_metadata_(NULL) { if (this != internal_default_instance()) protobuf_InitDefaults_caffe_2eproto(); SharedCtor(); - // @@protoc_insertion_point(constructor:caffe.DropoutParameter) + // @@protoc_insertion_point(constructor:caffe.EltwiseParameter) } -void DropoutParameter::InitAsDefaultInstance() { +void EltwiseParameter::InitAsDefaultInstance() { } -DropoutParameter::DropoutParameter(const DropoutParameter& from) +EltwiseParameter::EltwiseParameter(const EltwiseParameter& from) : ::google::protobuf::Message(), _internal_metadata_(NULL) { SharedCtor(); UnsafeMergeFrom(from); - // @@protoc_insertion_point(copy_constructor:caffe.DropoutParameter) + // @@protoc_insertion_point(copy_constructor:caffe.EltwiseParameter) } -void DropoutParameter::SharedCtor() { +void EltwiseParameter::SharedCtor() { _cached_size_ = 0; - dropout_ratio_ = 0.5f; + operation_ = 1; + stable_prod_grad_ = true; } -DropoutParameter::~DropoutParameter() { - // @@protoc_insertion_point(destructor:caffe.DropoutParameter) +EltwiseParameter::~EltwiseParameter() { + // @@protoc_insertion_point(destructor:caffe.EltwiseParameter) SharedDtor(); } -void DropoutParameter::SharedDtor() { +void EltwiseParameter::SharedDtor() { } -void DropoutParameter::SetCachedSize(int size) const { +void EltwiseParameter::SetCachedSize(int size) const { GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); _cached_size_ = size; GOOGLE_SAFE_CONCURRENT_WRITES_END(); } -const ::google::protobuf::Descriptor* DropoutParameter::descriptor() { +const ::google::protobuf::Descriptor* EltwiseParameter::descriptor() { protobuf_AssignDescriptorsOnce(); - return DropoutParameter_descriptor_; + return EltwiseParameter_descriptor_; } -const DropoutParameter& DropoutParameter::default_instance() { +const EltwiseParameter& EltwiseParameter::default_instance() { protobuf_InitDefaults_caffe_2eproto(); return *internal_default_instance(); } -::google::protobuf::internal::ExplicitlyConstructed DropoutParameter_default_instance_; +::google::protobuf::internal::ExplicitlyConstructed EltwiseParameter_default_instance_; -DropoutParameter* DropoutParameter::New(::google::protobuf::Arena* arena) const { - DropoutParameter* n = new DropoutParameter; +EltwiseParameter* EltwiseParameter::New(::google::protobuf::Arena* arena) const { + EltwiseParameter* n = new EltwiseParameter; if (arena != NULL) { arena->Own(n); } return n; } -void DropoutParameter::Clear() { -// @@protoc_insertion_point(message_clear_start:caffe.DropoutParameter) - dropout_ratio_ = 0.5f; +void EltwiseParameter::Clear() { +// @@protoc_insertion_point(message_clear_start:caffe.EltwiseParameter) + if (_has_bits_[0 / 32] & 5u) { + operation_ = 1; + stable_prod_grad_ = true; + } + coeff_.Clear(); _has_bits_.Clear(); if (_internal_metadata_.have_unknown_fields()) { mutable_unknown_fields()->Clear(); } } -bool DropoutParameter::MergePartialFromCodedStream( +bool EltwiseParameter::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:caffe.DropoutParameter) + // @@protoc_insertion_point(parse_start:caffe.EltwiseParameter) for (;;) { ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127); tag = p.first; if (!p.second) goto handle_unusual; switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // optional float dropout_ratio = 1 [default = 0.5]; + // optional .caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM]; case 1: { - if (tag == 13) { - set_has_dropout_ratio(); + if (tag == 8) { + int value; DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>( + input, &value))); + if (::caffe::EltwiseParameter_EltwiseOp_IsValid(value)) { + set_operation(static_cast< ::caffe::EltwiseParameter_EltwiseOp >(value)); + } else { + mutable_unknown_fields()->AddVarint(1, value); + } + } else { + goto handle_unusual; + } + if (input->ExpectTag(21)) goto parse_coeff; + break; + } + + // repeated float coeff = 2; + case 2: { + if (tag == 21) { + parse_coeff: + DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive< float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>( - input, &dropout_ratio_))); + 1, 21, input, this->mutable_coeff()))); + } else if (tag == 18) { + DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline< + float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>( + input, this->mutable_coeff()))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(21)) goto parse_coeff; + if (input->ExpectTag(24)) goto parse_stable_prod_grad; + break; + } + + // optional bool stable_prod_grad = 3 [default = true]; + case 3: { + if (tag == 24) { + parse_stable_prod_grad: + set_has_stable_prod_grad(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( + input, &stable_prod_grad_))); } else { goto handle_unusual; } @@ -23788,53 +27619,95 @@ bool DropoutParameter::MergePartialFromCodedStream( } } success: - // @@protoc_insertion_point(parse_success:caffe.DropoutParameter) + // @@protoc_insertion_point(parse_success:caffe.EltwiseParameter) return true; failure: - // @@protoc_insertion_point(parse_failure:caffe.DropoutParameter) + // @@protoc_insertion_point(parse_failure:caffe.EltwiseParameter) return false; #undef DO_ } -void DropoutParameter::SerializeWithCachedSizes( +void EltwiseParameter::SerializeWithCachedSizes( ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:caffe.DropoutParameter) - // optional float dropout_ratio = 1 [default = 0.5]; - if (has_dropout_ratio()) { - ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->dropout_ratio(), output); + // @@protoc_insertion_point(serialize_start:caffe.EltwiseParameter) + // optional .caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM]; + if (has_operation()) { + ::google::protobuf::internal::WireFormatLite::WriteEnum( + 1, this->operation(), output); + } + + // repeated float coeff = 2; + for (int i = 0; i < this->coeff_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteFloat( + 2, this->coeff(i), output); + } + + // optional bool stable_prod_grad = 3 [default = true]; + if (has_stable_prod_grad()) { + ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->stable_prod_grad(), output); } if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( unknown_fields(), output); } - // @@protoc_insertion_point(serialize_end:caffe.DropoutParameter) + // @@protoc_insertion_point(serialize_end:caffe.EltwiseParameter) } -::google::protobuf::uint8* DropoutParameter::InternalSerializeWithCachedSizesToArray( +::google::protobuf::uint8* EltwiseParameter::InternalSerializeWithCachedSizesToArray( bool deterministic, ::google::protobuf::uint8* target) const { (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:caffe.DropoutParameter) - // optional float dropout_ratio = 1 [default = 0.5]; - if (has_dropout_ratio()) { - target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->dropout_ratio(), target); + // @@protoc_insertion_point(serialize_to_array_start:caffe.EltwiseParameter) + // optional .caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM]; + if (has_operation()) { + target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray( + 1, this->operation(), target); + } + + // repeated float coeff = 2; + for (int i = 0; i < this->coeff_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteFloatToArray(2, this->coeff(i), target); + } + + // optional bool stable_prod_grad = 3 [default = true]; + if (has_stable_prod_grad()) { + target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->stable_prod_grad(), target); } if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( unknown_fields(), target); } - // @@protoc_insertion_point(serialize_to_array_end:caffe.DropoutParameter) + // @@protoc_insertion_point(serialize_to_array_end:caffe.EltwiseParameter) return target; } -size_t DropoutParameter::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:caffe.DropoutParameter) +size_t EltwiseParameter::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:caffe.EltwiseParameter) size_t total_size = 0; - // optional float dropout_ratio = 1 [default = 0.5]; - if (has_dropout_ratio()) { - total_size += 1 + 4; + if (_has_bits_[0 / 32] & 5u) { + // optional .caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM]; + if (has_operation()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::EnumSize(this->operation()); + } + + // optional bool stable_prod_grad = 3 [default = true]; + if (has_stable_prod_grad()) { + total_size += 1 + 1; + } + + } + // repeated float coeff = 2; + { + size_t data_size = 0; + unsigned int count = this->coeff_size(); + data_size = 4UL * count; + total_size += 1 * + ::google::protobuf::internal::FromIntSize(this->coeff_size()); + total_size += data_size; } if (_internal_metadata_.have_unknown_fields()) { @@ -23849,23 +27722,23 @@ size_t DropoutParameter::ByteSizeLong() const { return total_size; } -void DropoutParameter::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:caffe.DropoutParameter) +void EltwiseParameter::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:caffe.EltwiseParameter) if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__); - const DropoutParameter* source = - ::google::protobuf::internal::DynamicCastToGenerated( + const EltwiseParameter* source = + ::google::protobuf::internal::DynamicCastToGenerated( &from); if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.DropoutParameter) + // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.EltwiseParameter) ::google::protobuf::internal::ReflectionOps::Merge(from, this); } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.DropoutParameter) + // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.EltwiseParameter) UnsafeMergeFrom(*source); } } -void DropoutParameter::MergeFrom(const DropoutParameter& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:caffe.DropoutParameter) +void EltwiseParameter::MergeFrom(const EltwiseParameter& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:caffe.EltwiseParameter) if (GOOGLE_PREDICT_TRUE(&from != this)) { UnsafeMergeFrom(from); } else { @@ -23873,11 +27746,15 @@ void DropoutParameter::MergeFrom(const DropoutParameter& from) { } } -void DropoutParameter::UnsafeMergeFrom(const DropoutParameter& from) { +void EltwiseParameter::UnsafeMergeFrom(const EltwiseParameter& from) { GOOGLE_DCHECK(&from != this); + coeff_.UnsafeMergeFrom(from.coeff_); if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { - if (from.has_dropout_ratio()) { - set_dropout_ratio(from.dropout_ratio()); + if (from.has_operation()) { + set_operation(from.operation()); + } + if (from.has_stable_prod_grad()) { + set_stable_prod_grad(from.stable_prod_grad()); } } if (from._internal_metadata_.have_unknown_fields()) { @@ -23886,469 +27763,289 @@ void DropoutParameter::UnsafeMergeFrom(const DropoutParameter& from) { } } -void DropoutParameter::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:caffe.DropoutParameter) +void EltwiseParameter::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:caffe.EltwiseParameter) if (&from == this) return; Clear(); MergeFrom(from); } -void DropoutParameter::CopyFrom(const DropoutParameter& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:caffe.DropoutParameter) +void EltwiseParameter::CopyFrom(const EltwiseParameter& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:caffe.EltwiseParameter) if (&from == this) return; Clear(); UnsafeMergeFrom(from); } -bool DropoutParameter::IsInitialized() const { +bool EltwiseParameter::IsInitialized() const { return true; } -void DropoutParameter::Swap(DropoutParameter* other) { +void EltwiseParameter::Swap(EltwiseParameter* other) { if (other == this) return; InternalSwap(other); } -void DropoutParameter::InternalSwap(DropoutParameter* other) { - std::swap(dropout_ratio_, other->dropout_ratio_); +void EltwiseParameter::InternalSwap(EltwiseParameter* other) { + std::swap(operation_, other->operation_); + coeff_.UnsafeArenaSwap(&other->coeff_); + std::swap(stable_prod_grad_, other->stable_prod_grad_); std::swap(_has_bits_[0], other->_has_bits_[0]); _internal_metadata_.Swap(&other->_internal_metadata_); std::swap(_cached_size_, other->_cached_size_); } -::google::protobuf::Metadata DropoutParameter::GetMetadata() const { +::google::protobuf::Metadata EltwiseParameter::GetMetadata() const { protobuf_AssignDescriptorsOnce(); ::google::protobuf::Metadata metadata; - metadata.descriptor = DropoutParameter_descriptor_; - metadata.reflection = DropoutParameter_reflection_; + metadata.descriptor = EltwiseParameter_descriptor_; + metadata.reflection = EltwiseParameter_reflection_; return metadata; } #if PROTOBUF_INLINE_NOT_IN_HEADERS -// DropoutParameter +// EltwiseParameter -// optional float dropout_ratio = 1 [default = 0.5]; -bool DropoutParameter::has_dropout_ratio() const { +// optional .caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM]; +bool EltwiseParameter::has_operation() const { return (_has_bits_[0] & 0x00000001u) != 0; } -void DropoutParameter::set_has_dropout_ratio() { +void EltwiseParameter::set_has_operation() { _has_bits_[0] |= 0x00000001u; } -void DropoutParameter::clear_has_dropout_ratio() { +void EltwiseParameter::clear_has_operation() { _has_bits_[0] &= ~0x00000001u; } -void DropoutParameter::clear_dropout_ratio() { - dropout_ratio_ = 0.5f; - clear_has_dropout_ratio(); +void EltwiseParameter::clear_operation() { + operation_ = 1; + clear_has_operation(); } -float DropoutParameter::dropout_ratio() const { - // @@protoc_insertion_point(field_get:caffe.DropoutParameter.dropout_ratio) - return dropout_ratio_; +::caffe::EltwiseParameter_EltwiseOp EltwiseParameter::operation() const { + // @@protoc_insertion_point(field_get:caffe.EltwiseParameter.operation) + return static_cast< ::caffe::EltwiseParameter_EltwiseOp >(operation_); } -void DropoutParameter::set_dropout_ratio(float value) { - set_has_dropout_ratio(); - dropout_ratio_ = value; - // @@protoc_insertion_point(field_set:caffe.DropoutParameter.dropout_ratio) +void EltwiseParameter::set_operation(::caffe::EltwiseParameter_EltwiseOp value) { + assert(::caffe::EltwiseParameter_EltwiseOp_IsValid(value)); + set_has_operation(); + operation_ = value; + // @@protoc_insertion_point(field_set:caffe.EltwiseParameter.operation) } -inline const DropoutParameter* DropoutParameter::internal_default_instance() { - return &DropoutParameter_default_instance_.get(); +// repeated float coeff = 2; +int EltwiseParameter::coeff_size() const { + return coeff_.size(); +} +void EltwiseParameter::clear_coeff() { + coeff_.Clear(); +} +float EltwiseParameter::coeff(int index) const { + // @@protoc_insertion_point(field_get:caffe.EltwiseParameter.coeff) + return coeff_.Get(index); +} +void EltwiseParameter::set_coeff(int index, float value) { + coeff_.Set(index, value); + // @@protoc_insertion_point(field_set:caffe.EltwiseParameter.coeff) +} +void EltwiseParameter::add_coeff(float value) { + coeff_.Add(value); + // @@protoc_insertion_point(field_add:caffe.EltwiseParameter.coeff) +} +const ::google::protobuf::RepeatedField< float >& +EltwiseParameter::coeff() const { + // @@protoc_insertion_point(field_list:caffe.EltwiseParameter.coeff) + return coeff_; +} +::google::protobuf::RepeatedField< float >* +EltwiseParameter::mutable_coeff() { + // @@protoc_insertion_point(field_mutable_list:caffe.EltwiseParameter.coeff) + return &coeff_; +} + +// optional bool stable_prod_grad = 3 [default = true]; +bool EltwiseParameter::has_stable_prod_grad() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +void EltwiseParameter::set_has_stable_prod_grad() { + _has_bits_[0] |= 0x00000004u; +} +void EltwiseParameter::clear_has_stable_prod_grad() { + _has_bits_[0] &= ~0x00000004u; +} +void EltwiseParameter::clear_stable_prod_grad() { + stable_prod_grad_ = true; + clear_has_stable_prod_grad(); +} +bool EltwiseParameter::stable_prod_grad() const { + // @@protoc_insertion_point(field_get:caffe.EltwiseParameter.stable_prod_grad) + return stable_prod_grad_; +} +void EltwiseParameter::set_stable_prod_grad(bool value) { + set_has_stable_prod_grad(); + stable_prod_grad_ = value; + // @@protoc_insertion_point(field_set:caffe.EltwiseParameter.stable_prod_grad) +} + +inline const EltwiseParameter* EltwiseParameter::internal_default_instance() { + return &EltwiseParameter_default_instance_.get(); } #endif // PROTOBUF_INLINE_NOT_IN_HEADERS // =================================================================== #if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int DummyDataParameter::kDataFillerFieldNumber; -const int DummyDataParameter::kShapeFieldNumber; -const int DummyDataParameter::kNumFieldNumber; -const int DummyDataParameter::kChannelsFieldNumber; -const int DummyDataParameter::kHeightFieldNumber; -const int DummyDataParameter::kWidthFieldNumber; +const int ELUParameter::kAlphaFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 -DummyDataParameter::DummyDataParameter() +ELUParameter::ELUParameter() : ::google::protobuf::Message(), _internal_metadata_(NULL) { if (this != internal_default_instance()) protobuf_InitDefaults_caffe_2eproto(); SharedCtor(); - // @@protoc_insertion_point(constructor:caffe.DummyDataParameter) + // @@protoc_insertion_point(constructor:caffe.ELUParameter) } -void DummyDataParameter::InitAsDefaultInstance() { +void ELUParameter::InitAsDefaultInstance() { } -DummyDataParameter::DummyDataParameter(const DummyDataParameter& from) +ELUParameter::ELUParameter(const ELUParameter& from) : ::google::protobuf::Message(), _internal_metadata_(NULL) { SharedCtor(); UnsafeMergeFrom(from); - // @@protoc_insertion_point(copy_constructor:caffe.DummyDataParameter) + // @@protoc_insertion_point(copy_constructor:caffe.ELUParameter) } -void DummyDataParameter::SharedCtor() { +void ELUParameter::SharedCtor() { _cached_size_ = 0; + alpha_ = 1; } -DummyDataParameter::~DummyDataParameter() { - // @@protoc_insertion_point(destructor:caffe.DummyDataParameter) +ELUParameter::~ELUParameter() { + // @@protoc_insertion_point(destructor:caffe.ELUParameter) SharedDtor(); } -void DummyDataParameter::SharedDtor() { +void ELUParameter::SharedDtor() { } -void DummyDataParameter::SetCachedSize(int size) const { +void ELUParameter::SetCachedSize(int size) const { GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); _cached_size_ = size; GOOGLE_SAFE_CONCURRENT_WRITES_END(); } -const ::google::protobuf::Descriptor* DummyDataParameter::descriptor() { +const ::google::protobuf::Descriptor* ELUParameter::descriptor() { protobuf_AssignDescriptorsOnce(); - return DummyDataParameter_descriptor_; + return ELUParameter_descriptor_; } -const DummyDataParameter& DummyDataParameter::default_instance() { +const ELUParameter& ELUParameter::default_instance() { protobuf_InitDefaults_caffe_2eproto(); return *internal_default_instance(); } -::google::protobuf::internal::ExplicitlyConstructed DummyDataParameter_default_instance_; +::google::protobuf::internal::ExplicitlyConstructed ELUParameter_default_instance_; -DummyDataParameter* DummyDataParameter::New(::google::protobuf::Arena* arena) const { - DummyDataParameter* n = new DummyDataParameter; +ELUParameter* ELUParameter::New(::google::protobuf::Arena* arena) const { + ELUParameter* n = new ELUParameter; if (arena != NULL) { arena->Own(n); } return n; } -void DummyDataParameter::Clear() { -// @@protoc_insertion_point(message_clear_start:caffe.DummyDataParameter) - data_filler_.Clear(); - shape_.Clear(); - num_.Clear(); - channels_.Clear(); - height_.Clear(); - width_.Clear(); +void ELUParameter::Clear() { +// @@protoc_insertion_point(message_clear_start:caffe.ELUParameter) + alpha_ = 1; _has_bits_.Clear(); if (_internal_metadata_.have_unknown_fields()) { mutable_unknown_fields()->Clear(); } } -bool DummyDataParameter::MergePartialFromCodedStream( +bool ELUParameter::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:caffe.DummyDataParameter) + // @@protoc_insertion_point(parse_start:caffe.ELUParameter) for (;;) { ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127); tag = p.first; if (!p.second) goto handle_unusual; switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // repeated .caffe.FillerParameter data_filler = 1; + // optional float alpha = 1 [default = 1]; case 1: { - if (tag == 10) { - DO_(input->IncrementRecursionDepth()); - parse_loop_data_filler: - DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth( - input, add_data_filler())); - } else { - goto handle_unusual; - } - if (input->ExpectTag(10)) goto parse_loop_data_filler; - input->UnsafeDecrementRecursionDepth(); - if (input->ExpectTag(16)) goto parse_num; - break; - } - - // repeated uint32 num = 2; - case 2: { - if (tag == 16) { - parse_num: - DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - 1, 16, input, this->mutable_num()))); - } else if (tag == 18) { - DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, this->mutable_num()))); - } else { - goto handle_unusual; - } - if (input->ExpectTag(16)) goto parse_num; - if (input->ExpectTag(24)) goto parse_channels; - break; - } - - // repeated uint32 channels = 3; - case 3: { - if (tag == 24) { - parse_channels: - DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - 1, 24, input, this->mutable_channels()))); - } else if (tag == 26) { - DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, this->mutable_channels()))); - } else { - goto handle_unusual; - } - if (input->ExpectTag(24)) goto parse_channels; - if (input->ExpectTag(32)) goto parse_height; - break; - } - - // repeated uint32 height = 4; - case 4: { - if (tag == 32) { - parse_height: - DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - 1, 32, input, this->mutable_height()))); - } else if (tag == 34) { - DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, this->mutable_height()))); - } else { - goto handle_unusual; - } - if (input->ExpectTag(32)) goto parse_height; - if (input->ExpectTag(40)) goto parse_width; - break; - } - - // repeated uint32 width = 5; - case 5: { - if (tag == 40) { - parse_width: - DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - 1, 40, input, this->mutable_width()))); - } else if (tag == 42) { - DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline< - ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, this->mutable_width()))); - } else { - goto handle_unusual; - } - if (input->ExpectTag(40)) goto parse_width; - if (input->ExpectTag(50)) goto parse_shape; - break; - } - - // repeated .caffe.BlobShape shape = 6; - case 6: { - if (tag == 50) { - parse_shape: - DO_(input->IncrementRecursionDepth()); - parse_loop_shape: - DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth( - input, add_shape())); + if (tag == 13) { + set_has_alpha(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>( + input, &alpha_))); } else { goto handle_unusual; } - if (input->ExpectTag(50)) goto parse_loop_shape; - input->UnsafeDecrementRecursionDepth(); if (input->ExpectAtEnd()) goto success; - break; - } - - default: { - handle_unusual: - if (tag == 0 || - ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == - ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { - goto success; - } - DO_(::google::protobuf::internal::WireFormat::SkipField( - input, tag, mutable_unknown_fields())); - break; - } - } - } -success: - // @@protoc_insertion_point(parse_success:caffe.DummyDataParameter) - return true; -failure: - // @@protoc_insertion_point(parse_failure:caffe.DummyDataParameter) - return false; -#undef DO_ -} - -void DummyDataParameter::SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:caffe.DummyDataParameter) - // repeated .caffe.FillerParameter data_filler = 1; - for (unsigned int i = 0, n = this->data_filler_size(); i < n; i++) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 1, this->data_filler(i), output); - } - - // repeated uint32 num = 2; - for (int i = 0; i < this->num_size(); i++) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32( - 2, this->num(i), output); - } - - // repeated uint32 channels = 3; - for (int i = 0; i < this->channels_size(); i++) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32( - 3, this->channels(i), output); - } - - // repeated uint32 height = 4; - for (int i = 0; i < this->height_size(); i++) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32( - 4, this->height(i), output); - } - - // repeated uint32 width = 5; - for (int i = 0; i < this->width_size(); i++) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32( - 5, this->width(i), output); + break; + } + + default: { + handle_unusual: + if (tag == 0 || + ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, mutable_unknown_fields())); + break; + } + } } +success: + // @@protoc_insertion_point(parse_success:caffe.ELUParameter) + return true; +failure: + // @@protoc_insertion_point(parse_failure:caffe.ELUParameter) + return false; +#undef DO_ +} - // repeated .caffe.BlobShape shape = 6; - for (unsigned int i = 0, n = this->shape_size(); i < n; i++) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 6, this->shape(i), output); +void ELUParameter::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:caffe.ELUParameter) + // optional float alpha = 1 [default = 1]; + if (has_alpha()) { + ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->alpha(), output); } if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( unknown_fields(), output); } - // @@protoc_insertion_point(serialize_end:caffe.DummyDataParameter) + // @@protoc_insertion_point(serialize_end:caffe.ELUParameter) } -::google::protobuf::uint8* DummyDataParameter::InternalSerializeWithCachedSizesToArray( +::google::protobuf::uint8* ELUParameter::InternalSerializeWithCachedSizesToArray( bool deterministic, ::google::protobuf::uint8* target) const { (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:caffe.DummyDataParameter) - // repeated .caffe.FillerParameter data_filler = 1; - for (unsigned int i = 0, n = this->data_filler_size(); i < n; i++) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageNoVirtualToArray( - 1, this->data_filler(i), false, target); - } - - // repeated uint32 num = 2; - for (int i = 0; i < this->num_size(); i++) { - target = ::google::protobuf::internal::WireFormatLite:: - WriteUInt32ToArray(2, this->num(i), target); - } - - // repeated uint32 channels = 3; - for (int i = 0; i < this->channels_size(); i++) { - target = ::google::protobuf::internal::WireFormatLite:: - WriteUInt32ToArray(3, this->channels(i), target); - } - - // repeated uint32 height = 4; - for (int i = 0; i < this->height_size(); i++) { - target = ::google::protobuf::internal::WireFormatLite:: - WriteUInt32ToArray(4, this->height(i), target); - } - - // repeated uint32 width = 5; - for (int i = 0; i < this->width_size(); i++) { - target = ::google::protobuf::internal::WireFormatLite:: - WriteUInt32ToArray(5, this->width(i), target); - } - - // repeated .caffe.BlobShape shape = 6; - for (unsigned int i = 0, n = this->shape_size(); i < n; i++) { - target = ::google::protobuf::internal::WireFormatLite:: - InternalWriteMessageNoVirtualToArray( - 6, this->shape(i), false, target); + // @@protoc_insertion_point(serialize_to_array_start:caffe.ELUParameter) + // optional float alpha = 1 [default = 1]; + if (has_alpha()) { + target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->alpha(), target); } if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( unknown_fields(), target); } - // @@protoc_insertion_point(serialize_to_array_end:caffe.DummyDataParameter) + // @@protoc_insertion_point(serialize_to_array_end:caffe.ELUParameter) return target; } -size_t DummyDataParameter::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:caffe.DummyDataParameter) +size_t ELUParameter::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:caffe.ELUParameter) size_t total_size = 0; - // repeated .caffe.FillerParameter data_filler = 1; - { - unsigned int count = this->data_filler_size(); - total_size += 1UL * count; - for (unsigned int i = 0; i < count; i++) { - total_size += - ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( - this->data_filler(i)); - } - } - - // repeated .caffe.BlobShape shape = 6; - { - unsigned int count = this->shape_size(); - total_size += 1UL * count; - for (unsigned int i = 0; i < count; i++) { - total_size += - ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( - this->shape(i)); - } - } - - // repeated uint32 num = 2; - { - size_t data_size = 0; - unsigned int count = this->num_size(); - for (unsigned int i = 0; i < count; i++) { - data_size += ::google::protobuf::internal::WireFormatLite:: - UInt32Size(this->num(i)); - } - total_size += 1 * - ::google::protobuf::internal::FromIntSize(this->num_size()); - total_size += data_size; - } - - // repeated uint32 channels = 3; - { - size_t data_size = 0; - unsigned int count = this->channels_size(); - for (unsigned int i = 0; i < count; i++) { - data_size += ::google::protobuf::internal::WireFormatLite:: - UInt32Size(this->channels(i)); - } - total_size += 1 * - ::google::protobuf::internal::FromIntSize(this->channels_size()); - total_size += data_size; - } - - // repeated uint32 height = 4; - { - size_t data_size = 0; - unsigned int count = this->height_size(); - for (unsigned int i = 0; i < count; i++) { - data_size += ::google::protobuf::internal::WireFormatLite:: - UInt32Size(this->height(i)); - } - total_size += 1 * - ::google::protobuf::internal::FromIntSize(this->height_size()); - total_size += data_size; - } - - // repeated uint32 width = 5; - { - size_t data_size = 0; - unsigned int count = this->width_size(); - for (unsigned int i = 0; i < count; i++) { - data_size += ::google::protobuf::internal::WireFormatLite:: - UInt32Size(this->width(i)); - } - total_size += 1 * - ::google::protobuf::internal::FromIntSize(this->width_size()); - total_size += data_size; + // optional float alpha = 1 [default = 1]; + if (has_alpha()) { + total_size += 1 + 4; } if (_internal_metadata_.have_unknown_fields()) { @@ -24363,23 +28060,23 @@ size_t DummyDataParameter::ByteSizeLong() const { return total_size; } -void DummyDataParameter::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:caffe.DummyDataParameter) +void ELUParameter::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:caffe.ELUParameter) if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__); - const DummyDataParameter* source = - ::google::protobuf::internal::DynamicCastToGenerated( + const ELUParameter* source = + ::google::protobuf::internal::DynamicCastToGenerated( &from); if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.DummyDataParameter) + // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.ELUParameter) ::google::protobuf::internal::ReflectionOps::Merge(from, this); } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.DummyDataParameter) + // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.ELUParameter) UnsafeMergeFrom(*source); } } -void DummyDataParameter::MergeFrom(const DummyDataParameter& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:caffe.DummyDataParameter) +void ELUParameter::MergeFrom(const ELUParameter& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:caffe.ELUParameter) if (GOOGLE_PREDICT_TRUE(&from != this)) { UnsafeMergeFrom(from); } else { @@ -24387,408 +28084,278 @@ void DummyDataParameter::MergeFrom(const DummyDataParameter& from) { } } -void DummyDataParameter::UnsafeMergeFrom(const DummyDataParameter& from) { +void ELUParameter::UnsafeMergeFrom(const ELUParameter& from) { GOOGLE_DCHECK(&from != this); - data_filler_.MergeFrom(from.data_filler_); - shape_.MergeFrom(from.shape_); - num_.UnsafeMergeFrom(from.num_); - channels_.UnsafeMergeFrom(from.channels_); - height_.UnsafeMergeFrom(from.height_); - width_.UnsafeMergeFrom(from.width_); + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (from.has_alpha()) { + set_alpha(from.alpha()); + } + } if (from._internal_metadata_.have_unknown_fields()) { ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata( from.unknown_fields(), &_internal_metadata_); } } -void DummyDataParameter::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:caffe.DummyDataParameter) +void ELUParameter::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:caffe.ELUParameter) if (&from == this) return; Clear(); MergeFrom(from); } -void DummyDataParameter::CopyFrom(const DummyDataParameter& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:caffe.DummyDataParameter) +void ELUParameter::CopyFrom(const ELUParameter& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:caffe.ELUParameter) if (&from == this) return; Clear(); UnsafeMergeFrom(from); } -bool DummyDataParameter::IsInitialized() const { +bool ELUParameter::IsInitialized() const { return true; } -void DummyDataParameter::Swap(DummyDataParameter* other) { +void ELUParameter::Swap(ELUParameter* other) { if (other == this) return; InternalSwap(other); } -void DummyDataParameter::InternalSwap(DummyDataParameter* other) { - data_filler_.UnsafeArenaSwap(&other->data_filler_); - shape_.UnsafeArenaSwap(&other->shape_); - num_.UnsafeArenaSwap(&other->num_); - channels_.UnsafeArenaSwap(&other->channels_); - height_.UnsafeArenaSwap(&other->height_); - width_.UnsafeArenaSwap(&other->width_); +void ELUParameter::InternalSwap(ELUParameter* other) { + std::swap(alpha_, other->alpha_); std::swap(_has_bits_[0], other->_has_bits_[0]); _internal_metadata_.Swap(&other->_internal_metadata_); std::swap(_cached_size_, other->_cached_size_); } -::google::protobuf::Metadata DummyDataParameter::GetMetadata() const { +::google::protobuf::Metadata ELUParameter::GetMetadata() const { protobuf_AssignDescriptorsOnce(); ::google::protobuf::Metadata metadata; - metadata.descriptor = DummyDataParameter_descriptor_; - metadata.reflection = DummyDataParameter_reflection_; + metadata.descriptor = ELUParameter_descriptor_; + metadata.reflection = ELUParameter_reflection_; return metadata; } #if PROTOBUF_INLINE_NOT_IN_HEADERS -// DummyDataParameter - -// repeated .caffe.FillerParameter data_filler = 1; -int DummyDataParameter::data_filler_size() const { - return data_filler_.size(); -} -void DummyDataParameter::clear_data_filler() { - data_filler_.Clear(); -} -const ::caffe::FillerParameter& DummyDataParameter::data_filler(int index) const { - // @@protoc_insertion_point(field_get:caffe.DummyDataParameter.data_filler) - return data_filler_.Get(index); -} -::caffe::FillerParameter* DummyDataParameter::mutable_data_filler(int index) { - // @@protoc_insertion_point(field_mutable:caffe.DummyDataParameter.data_filler) - return data_filler_.Mutable(index); -} -::caffe::FillerParameter* DummyDataParameter::add_data_filler() { - // @@protoc_insertion_point(field_add:caffe.DummyDataParameter.data_filler) - return data_filler_.Add(); -} -::google::protobuf::RepeatedPtrField< ::caffe::FillerParameter >* -DummyDataParameter::mutable_data_filler() { - // @@protoc_insertion_point(field_mutable_list:caffe.DummyDataParameter.data_filler) - return &data_filler_; -} -const ::google::protobuf::RepeatedPtrField< ::caffe::FillerParameter >& -DummyDataParameter::data_filler() const { - // @@protoc_insertion_point(field_list:caffe.DummyDataParameter.data_filler) - return data_filler_; -} - -// repeated .caffe.BlobShape shape = 6; -int DummyDataParameter::shape_size() const { - return shape_.size(); -} -void DummyDataParameter::clear_shape() { - shape_.Clear(); -} -const ::caffe::BlobShape& DummyDataParameter::shape(int index) const { - // @@protoc_insertion_point(field_get:caffe.DummyDataParameter.shape) - return shape_.Get(index); -} -::caffe::BlobShape* DummyDataParameter::mutable_shape(int index) { - // @@protoc_insertion_point(field_mutable:caffe.DummyDataParameter.shape) - return shape_.Mutable(index); -} -::caffe::BlobShape* DummyDataParameter::add_shape() { - // @@protoc_insertion_point(field_add:caffe.DummyDataParameter.shape) - return shape_.Add(); -} -::google::protobuf::RepeatedPtrField< ::caffe::BlobShape >* -DummyDataParameter::mutable_shape() { - // @@protoc_insertion_point(field_mutable_list:caffe.DummyDataParameter.shape) - return &shape_; -} -const ::google::protobuf::RepeatedPtrField< ::caffe::BlobShape >& -DummyDataParameter::shape() const { - // @@protoc_insertion_point(field_list:caffe.DummyDataParameter.shape) - return shape_; -} - -// repeated uint32 num = 2; -int DummyDataParameter::num_size() const { - return num_.size(); -} -void DummyDataParameter::clear_num() { - num_.Clear(); -} -::google::protobuf::uint32 DummyDataParameter::num(int index) const { - // @@protoc_insertion_point(field_get:caffe.DummyDataParameter.num) - return num_.Get(index); -} -void DummyDataParameter::set_num(int index, ::google::protobuf::uint32 value) { - num_.Set(index, value); - // @@protoc_insertion_point(field_set:caffe.DummyDataParameter.num) -} -void DummyDataParameter::add_num(::google::protobuf::uint32 value) { - num_.Add(value); - // @@protoc_insertion_point(field_add:caffe.DummyDataParameter.num) -} -const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& -DummyDataParameter::num() const { - // @@protoc_insertion_point(field_list:caffe.DummyDataParameter.num) - return num_; -} -::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* -DummyDataParameter::mutable_num() { - // @@protoc_insertion_point(field_mutable_list:caffe.DummyDataParameter.num) - return &num_; -} - -// repeated uint32 channels = 3; -int DummyDataParameter::channels_size() const { - return channels_.size(); -} -void DummyDataParameter::clear_channels() { - channels_.Clear(); -} -::google::protobuf::uint32 DummyDataParameter::channels(int index) const { - // @@protoc_insertion_point(field_get:caffe.DummyDataParameter.channels) - return channels_.Get(index); -} -void DummyDataParameter::set_channels(int index, ::google::protobuf::uint32 value) { - channels_.Set(index, value); - // @@protoc_insertion_point(field_set:caffe.DummyDataParameter.channels) -} -void DummyDataParameter::add_channels(::google::protobuf::uint32 value) { - channels_.Add(value); - // @@protoc_insertion_point(field_add:caffe.DummyDataParameter.channels) -} -const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& -DummyDataParameter::channels() const { - // @@protoc_insertion_point(field_list:caffe.DummyDataParameter.channels) - return channels_; -} -::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* -DummyDataParameter::mutable_channels() { - // @@protoc_insertion_point(field_mutable_list:caffe.DummyDataParameter.channels) - return &channels_; -} - -// repeated uint32 height = 4; -int DummyDataParameter::height_size() const { - return height_.size(); -} -void DummyDataParameter::clear_height() { - height_.Clear(); -} -::google::protobuf::uint32 DummyDataParameter::height(int index) const { - // @@protoc_insertion_point(field_get:caffe.DummyDataParameter.height) - return height_.Get(index); -} -void DummyDataParameter::set_height(int index, ::google::protobuf::uint32 value) { - height_.Set(index, value); - // @@protoc_insertion_point(field_set:caffe.DummyDataParameter.height) -} -void DummyDataParameter::add_height(::google::protobuf::uint32 value) { - height_.Add(value); - // @@protoc_insertion_point(field_add:caffe.DummyDataParameter.height) -} -const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& -DummyDataParameter::height() const { - // @@protoc_insertion_point(field_list:caffe.DummyDataParameter.height) - return height_; -} -::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* -DummyDataParameter::mutable_height() { - // @@protoc_insertion_point(field_mutable_list:caffe.DummyDataParameter.height) - return &height_; -} +// ELUParameter -// repeated uint32 width = 5; -int DummyDataParameter::width_size() const { - return width_.size(); -} -void DummyDataParameter::clear_width() { - width_.Clear(); +// optional float alpha = 1 [default = 1]; +bool ELUParameter::has_alpha() const { + return (_has_bits_[0] & 0x00000001u) != 0; } -::google::protobuf::uint32 DummyDataParameter::width(int index) const { - // @@protoc_insertion_point(field_get:caffe.DummyDataParameter.width) - return width_.Get(index); +void ELUParameter::set_has_alpha() { + _has_bits_[0] |= 0x00000001u; } -void DummyDataParameter::set_width(int index, ::google::protobuf::uint32 value) { - width_.Set(index, value); - // @@protoc_insertion_point(field_set:caffe.DummyDataParameter.width) +void ELUParameter::clear_has_alpha() { + _has_bits_[0] &= ~0x00000001u; } -void DummyDataParameter::add_width(::google::protobuf::uint32 value) { - width_.Add(value); - // @@protoc_insertion_point(field_add:caffe.DummyDataParameter.width) +void ELUParameter::clear_alpha() { + alpha_ = 1; + clear_has_alpha(); } -const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& -DummyDataParameter::width() const { - // @@protoc_insertion_point(field_list:caffe.DummyDataParameter.width) - return width_; +float ELUParameter::alpha() const { + // @@protoc_insertion_point(field_get:caffe.ELUParameter.alpha) + return alpha_; } -::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* -DummyDataParameter::mutable_width() { - // @@protoc_insertion_point(field_mutable_list:caffe.DummyDataParameter.width) - return &width_; +void ELUParameter::set_alpha(float value) { + set_has_alpha(); + alpha_ = value; + // @@protoc_insertion_point(field_set:caffe.ELUParameter.alpha) } -inline const DummyDataParameter* DummyDataParameter::internal_default_instance() { - return &DummyDataParameter_default_instance_.get(); +inline const ELUParameter* ELUParameter::internal_default_instance() { + return &ELUParameter_default_instance_.get(); } #endif // PROTOBUF_INLINE_NOT_IN_HEADERS // =================================================================== -const ::google::protobuf::EnumDescriptor* EltwiseParameter_EltwiseOp_descriptor() { - protobuf_AssignDescriptorsOnce(); - return EltwiseParameter_EltwiseOp_descriptor_; -} -bool EltwiseParameter_EltwiseOp_IsValid(int value) { - switch (value) { - case 0: - case 1: - case 2: - return true; - default: - return false; - } -} - -#if !defined(_MSC_VER) || _MSC_VER >= 1900 -const EltwiseParameter_EltwiseOp EltwiseParameter::PROD; -const EltwiseParameter_EltwiseOp EltwiseParameter::SUM; -const EltwiseParameter_EltwiseOp EltwiseParameter::MAX; -const EltwiseParameter_EltwiseOp EltwiseParameter::EltwiseOp_MIN; -const EltwiseParameter_EltwiseOp EltwiseParameter::EltwiseOp_MAX; -const int EltwiseParameter::EltwiseOp_ARRAYSIZE; -#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 #if !defined(_MSC_VER) || _MSC_VER >= 1900 -const int EltwiseParameter::kOperationFieldNumber; -const int EltwiseParameter::kCoeffFieldNumber; -const int EltwiseParameter::kStableProdGradFieldNumber; +const int EmbedParameter::kNumOutputFieldNumber; +const int EmbedParameter::kInputDimFieldNumber; +const int EmbedParameter::kBiasTermFieldNumber; +const int EmbedParameter::kWeightFillerFieldNumber; +const int EmbedParameter::kBiasFillerFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 -EltwiseParameter::EltwiseParameter() +EmbedParameter::EmbedParameter() : ::google::protobuf::Message(), _internal_metadata_(NULL) { if (this != internal_default_instance()) protobuf_InitDefaults_caffe_2eproto(); SharedCtor(); - // @@protoc_insertion_point(constructor:caffe.EltwiseParameter) + // @@protoc_insertion_point(constructor:caffe.EmbedParameter) } -void EltwiseParameter::InitAsDefaultInstance() { +void EmbedParameter::InitAsDefaultInstance() { + weight_filler_ = const_cast< ::caffe::FillerParameter*>( + ::caffe::FillerParameter::internal_default_instance()); + bias_filler_ = const_cast< ::caffe::FillerParameter*>( + ::caffe::FillerParameter::internal_default_instance()); } -EltwiseParameter::EltwiseParameter(const EltwiseParameter& from) +EmbedParameter::EmbedParameter(const EmbedParameter& from) : ::google::protobuf::Message(), _internal_metadata_(NULL) { SharedCtor(); UnsafeMergeFrom(from); - // @@protoc_insertion_point(copy_constructor:caffe.EltwiseParameter) + // @@protoc_insertion_point(copy_constructor:caffe.EmbedParameter) } -void EltwiseParameter::SharedCtor() { +void EmbedParameter::SharedCtor() { _cached_size_ = 0; - operation_ = 1; - stable_prod_grad_ = true; + weight_filler_ = NULL; + bias_filler_ = NULL; + ::memset(&num_output_, 0, reinterpret_cast(&input_dim_) - + reinterpret_cast(&num_output_) + sizeof(input_dim_)); + bias_term_ = true; } -EltwiseParameter::~EltwiseParameter() { - // @@protoc_insertion_point(destructor:caffe.EltwiseParameter) +EmbedParameter::~EmbedParameter() { + // @@protoc_insertion_point(destructor:caffe.EmbedParameter) SharedDtor(); } -void EltwiseParameter::SharedDtor() { +void EmbedParameter::SharedDtor() { + if (this != &EmbedParameter_default_instance_.get()) { + delete weight_filler_; + delete bias_filler_; + } } -void EltwiseParameter::SetCachedSize(int size) const { +void EmbedParameter::SetCachedSize(int size) const { GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); _cached_size_ = size; GOOGLE_SAFE_CONCURRENT_WRITES_END(); } -const ::google::protobuf::Descriptor* EltwiseParameter::descriptor() { +const ::google::protobuf::Descriptor* EmbedParameter::descriptor() { protobuf_AssignDescriptorsOnce(); - return EltwiseParameter_descriptor_; + return EmbedParameter_descriptor_; } -const EltwiseParameter& EltwiseParameter::default_instance() { +const EmbedParameter& EmbedParameter::default_instance() { protobuf_InitDefaults_caffe_2eproto(); return *internal_default_instance(); } -::google::protobuf::internal::ExplicitlyConstructed EltwiseParameter_default_instance_; +::google::protobuf::internal::ExplicitlyConstructed EmbedParameter_default_instance_; -EltwiseParameter* EltwiseParameter::New(::google::protobuf::Arena* arena) const { - EltwiseParameter* n = new EltwiseParameter; +EmbedParameter* EmbedParameter::New(::google::protobuf::Arena* arena) const { + EmbedParameter* n = new EmbedParameter; if (arena != NULL) { arena->Own(n); } return n; } -void EltwiseParameter::Clear() { -// @@protoc_insertion_point(message_clear_start:caffe.EltwiseParameter) - if (_has_bits_[0 / 32] & 5u) { - operation_ = 1; - stable_prod_grad_ = true; +void EmbedParameter::Clear() { +// @@protoc_insertion_point(message_clear_start:caffe.EmbedParameter) +#if defined(__clang__) +#define ZR_HELPER_(f) \ + _Pragma("clang diagnostic push") \ + _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \ + __builtin_offsetof(EmbedParameter, f) \ + _Pragma("clang diagnostic pop") +#else +#define ZR_HELPER_(f) reinterpret_cast(\ + &reinterpret_cast(16)->f) +#endif + +#define ZR_(first, last) do {\ + ::memset(&(first), 0,\ + ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\ +} while (0) + + if (_has_bits_[0 / 32] & 31u) { + ZR_(num_output_, input_dim_); + bias_term_ = true; + if (has_weight_filler()) { + if (weight_filler_ != NULL) weight_filler_->::caffe::FillerParameter::Clear(); + } + if (has_bias_filler()) { + if (bias_filler_ != NULL) bias_filler_->::caffe::FillerParameter::Clear(); + } } - coeff_.Clear(); + +#undef ZR_HELPER_ +#undef ZR_ + _has_bits_.Clear(); if (_internal_metadata_.have_unknown_fields()) { mutable_unknown_fields()->Clear(); } } -bool EltwiseParameter::MergePartialFromCodedStream( +bool EmbedParameter::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:caffe.EltwiseParameter) + // @@protoc_insertion_point(parse_start:caffe.EmbedParameter) for (;;) { ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127); tag = p.first; if (!p.second) goto handle_unusual; switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // optional .caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM]; + // optional uint32 num_output = 1; case 1: { if (tag == 8) { - int value; + set_has_num_output(); DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>( - input, &value))); - if (::caffe::EltwiseParameter_EltwiseOp_IsValid(value)) { - set_operation(static_cast< ::caffe::EltwiseParameter_EltwiseOp >(value)); - } else { - mutable_unknown_fields()->AddVarint(1, value); - } + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, &num_output_))); } else { goto handle_unusual; } - if (input->ExpectTag(21)) goto parse_coeff; + if (input->ExpectTag(16)) goto parse_input_dim; break; } - // repeated float coeff = 2; + // optional uint32 input_dim = 2; case 2: { - if (tag == 21) { - parse_coeff: - DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive< - float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>( - 1, 21, input, this->mutable_coeff()))); - } else if (tag == 18) { - DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline< - float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>( - input, this->mutable_coeff()))); + if (tag == 16) { + parse_input_dim: + set_has_input_dim(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, &input_dim_))); } else { goto handle_unusual; } - if (input->ExpectTag(21)) goto parse_coeff; - if (input->ExpectTag(24)) goto parse_stable_prod_grad; + if (input->ExpectTag(24)) goto parse_bias_term; break; } - // optional bool stable_prod_grad = 3 [default = true]; + // optional bool bias_term = 3 [default = true]; case 3: { if (tag == 24) { - parse_stable_prod_grad: - set_has_stable_prod_grad(); + parse_bias_term: + set_has_bias_term(); DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( - input, &stable_prod_grad_))); + input, &bias_term_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(34)) goto parse_weight_filler; + break; + } + + // optional .caffe.FillerParameter weight_filler = 4; + case 4: { + if (tag == 34) { + parse_weight_filler: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, mutable_weight_filler())); + } else { + goto handle_unusual; + } + if (input->ExpectTag(42)) goto parse_bias_filler; + break; + } + + // optional .caffe.FillerParameter bias_filler = 5; + case 5: { + if (tag == 42) { + parse_bias_filler: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, mutable_bias_filler())); } else { goto handle_unusual; } @@ -24810,97 +28377,131 @@ bool EltwiseParameter::MergePartialFromCodedStream( } } success: - // @@protoc_insertion_point(parse_success:caffe.EltwiseParameter) + // @@protoc_insertion_point(parse_success:caffe.EmbedParameter) return true; failure: - // @@protoc_insertion_point(parse_failure:caffe.EltwiseParameter) + // @@protoc_insertion_point(parse_failure:caffe.EmbedParameter) return false; #undef DO_ } -void EltwiseParameter::SerializeWithCachedSizes( +void EmbedParameter::SerializeWithCachedSizes( ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:caffe.EltwiseParameter) - // optional .caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM]; - if (has_operation()) { - ::google::protobuf::internal::WireFormatLite::WriteEnum( - 1, this->operation(), output); + // @@protoc_insertion_point(serialize_start:caffe.EmbedParameter) + // optional uint32 num_output = 1; + if (has_num_output()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->num_output(), output); } - // repeated float coeff = 2; - for (int i = 0; i < this->coeff_size(); i++) { - ::google::protobuf::internal::WireFormatLite::WriteFloat( - 2, this->coeff(i), output); + // optional uint32 input_dim = 2; + if (has_input_dim()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->input_dim(), output); } - // optional bool stable_prod_grad = 3 [default = true]; - if (has_stable_prod_grad()) { - ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->stable_prod_grad(), output); + // optional bool bias_term = 3 [default = true]; + if (has_bias_term()) { + ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->bias_term(), output); + } + + // optional .caffe.FillerParameter weight_filler = 4; + if (has_weight_filler()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 4, *this->weight_filler_, output); + } + + // optional .caffe.FillerParameter bias_filler = 5; + if (has_bias_filler()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 5, *this->bias_filler_, output); } if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( unknown_fields(), output); } - // @@protoc_insertion_point(serialize_end:caffe.EltwiseParameter) + // @@protoc_insertion_point(serialize_end:caffe.EmbedParameter) } -::google::protobuf::uint8* EltwiseParameter::InternalSerializeWithCachedSizesToArray( +::google::protobuf::uint8* EmbedParameter::InternalSerializeWithCachedSizesToArray( bool deterministic, ::google::protobuf::uint8* target) const { (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:caffe.EltwiseParameter) - // optional .caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM]; - if (has_operation()) { - target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray( - 1, this->operation(), target); + // @@protoc_insertion_point(serialize_to_array_start:caffe.EmbedParameter) + // optional uint32 num_output = 1; + if (has_num_output()) { + target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->num_output(), target); } - // repeated float coeff = 2; - for (int i = 0; i < this->coeff_size(); i++) { + // optional uint32 input_dim = 2; + if (has_input_dim()) { + target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->input_dim(), target); + } + + // optional bool bias_term = 3 [default = true]; + if (has_bias_term()) { + target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->bias_term(), target); + } + + // optional .caffe.FillerParameter weight_filler = 4; + if (has_weight_filler()) { target = ::google::protobuf::internal::WireFormatLite:: - WriteFloatToArray(2, this->coeff(i), target); + InternalWriteMessageNoVirtualToArray( + 4, *this->weight_filler_, false, target); } - // optional bool stable_prod_grad = 3 [default = true]; - if (has_stable_prod_grad()) { - target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->stable_prod_grad(), target); + // optional .caffe.FillerParameter bias_filler = 5; + if (has_bias_filler()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageNoVirtualToArray( + 5, *this->bias_filler_, false, target); } if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( unknown_fields(), target); } - // @@protoc_insertion_point(serialize_to_array_end:caffe.EltwiseParameter) + // @@protoc_insertion_point(serialize_to_array_end:caffe.EmbedParameter) return target; } -size_t EltwiseParameter::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:caffe.EltwiseParameter) +size_t EmbedParameter::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:caffe.EmbedParameter) size_t total_size = 0; - if (_has_bits_[0 / 32] & 5u) { - // optional .caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM]; - if (has_operation()) { + if (_has_bits_[0 / 32] & 31u) { + // optional uint32 num_output = 1; + if (has_num_output()) { total_size += 1 + - ::google::protobuf::internal::WireFormatLite::EnumSize(this->operation()); + ::google::protobuf::internal::WireFormatLite::UInt32Size( + this->num_output()); } - // optional bool stable_prod_grad = 3 [default = true]; - if (has_stable_prod_grad()) { + // optional uint32 input_dim = 2; + if (has_input_dim()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt32Size( + this->input_dim()); + } + + // optional bool bias_term = 3 [default = true]; + if (has_bias_term()) { total_size += 1 + 1; } - } - // repeated float coeff = 2; - { - size_t data_size = 0; - unsigned int count = this->coeff_size(); - data_size = 4UL * count; - total_size += 1 * - ::google::protobuf::internal::FromIntSize(this->coeff_size()); - total_size += data_size; - } + // optional .caffe.FillerParameter weight_filler = 4; + if (has_weight_filler()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + *this->weight_filler_); + } + + // optional .caffe.FillerParameter bias_filler = 5; + if (has_bias_filler()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + *this->bias_filler_); + } + } if (_internal_metadata_.have_unknown_fields()) { total_size += ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( @@ -24913,23 +28514,23 @@ size_t EltwiseParameter::ByteSizeLong() const { return total_size; } -void EltwiseParameter::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:caffe.EltwiseParameter) +void EmbedParameter::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:caffe.EmbedParameter) if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__); - const EltwiseParameter* source = - ::google::protobuf::internal::DynamicCastToGenerated( + const EmbedParameter* source = + ::google::protobuf::internal::DynamicCastToGenerated( &from); if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.EltwiseParameter) + // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.EmbedParameter) ::google::protobuf::internal::ReflectionOps::Merge(from, this); } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.EltwiseParameter) + // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.EmbedParameter) UnsafeMergeFrom(*source); } } -void EltwiseParameter::MergeFrom(const EltwiseParameter& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:caffe.EltwiseParameter) +void EmbedParameter::MergeFrom(const EmbedParameter& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:caffe.EmbedParameter) if (GOOGLE_PREDICT_TRUE(&from != this)) { UnsafeMergeFrom(from); } else { @@ -24937,15 +28538,23 @@ void EltwiseParameter::MergeFrom(const EltwiseParameter& from) { } } -void EltwiseParameter::UnsafeMergeFrom(const EltwiseParameter& from) { +void EmbedParameter::UnsafeMergeFrom(const EmbedParameter& from) { GOOGLE_DCHECK(&from != this); - coeff_.UnsafeMergeFrom(from.coeff_); if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { - if (from.has_operation()) { - set_operation(from.operation()); + if (from.has_num_output()) { + set_num_output(from.num_output()); } - if (from.has_stable_prod_grad()) { - set_stable_prod_grad(from.stable_prod_grad()); + if (from.has_input_dim()) { + set_input_dim(from.input_dim()); + } + if (from.has_bias_term()) { + set_bias_term(from.bias_term()); + } + if (from.has_weight_filler()) { + mutable_weight_filler()->::caffe::FillerParameter::MergeFrom(from.weight_filler()); + } + if (from.has_bias_filler()) { + mutable_bias_filler()->::caffe::FillerParameter::MergeFrom(from.bias_filler()); } } if (from._internal_metadata_.have_unknown_fields()) { @@ -24954,130 +28563,215 @@ void EltwiseParameter::UnsafeMergeFrom(const EltwiseParameter& from) { } } -void EltwiseParameter::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:caffe.EltwiseParameter) +void EmbedParameter::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:caffe.EmbedParameter) if (&from == this) return; Clear(); MergeFrom(from); } -void EltwiseParameter::CopyFrom(const EltwiseParameter& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:caffe.EltwiseParameter) +void EmbedParameter::CopyFrom(const EmbedParameter& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:caffe.EmbedParameter) if (&from == this) return; Clear(); UnsafeMergeFrom(from); } -bool EltwiseParameter::IsInitialized() const { +bool EmbedParameter::IsInitialized() const { return true; } -void EltwiseParameter::Swap(EltwiseParameter* other) { +void EmbedParameter::Swap(EmbedParameter* other) { if (other == this) return; InternalSwap(other); } -void EltwiseParameter::InternalSwap(EltwiseParameter* other) { - std::swap(operation_, other->operation_); - coeff_.UnsafeArenaSwap(&other->coeff_); - std::swap(stable_prod_grad_, other->stable_prod_grad_); +void EmbedParameter::InternalSwap(EmbedParameter* other) { + std::swap(num_output_, other->num_output_); + std::swap(input_dim_, other->input_dim_); + std::swap(bias_term_, other->bias_term_); + std::swap(weight_filler_, other->weight_filler_); + std::swap(bias_filler_, other->bias_filler_); std::swap(_has_bits_[0], other->_has_bits_[0]); _internal_metadata_.Swap(&other->_internal_metadata_); std::swap(_cached_size_, other->_cached_size_); } -::google::protobuf::Metadata EltwiseParameter::GetMetadata() const { +::google::protobuf::Metadata EmbedParameter::GetMetadata() const { protobuf_AssignDescriptorsOnce(); ::google::protobuf::Metadata metadata; - metadata.descriptor = EltwiseParameter_descriptor_; - metadata.reflection = EltwiseParameter_reflection_; + metadata.descriptor = EmbedParameter_descriptor_; + metadata.reflection = EmbedParameter_reflection_; return metadata; } #if PROTOBUF_INLINE_NOT_IN_HEADERS -// EltwiseParameter +// EmbedParameter -// optional .caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM]; -bool EltwiseParameter::has_operation() const { +// optional uint32 num_output = 1; +bool EmbedParameter::has_num_output() const { return (_has_bits_[0] & 0x00000001u) != 0; } -void EltwiseParameter::set_has_operation() { +void EmbedParameter::set_has_num_output() { _has_bits_[0] |= 0x00000001u; } -void EltwiseParameter::clear_has_operation() { +void EmbedParameter::clear_has_num_output() { _has_bits_[0] &= ~0x00000001u; } -void EltwiseParameter::clear_operation() { - operation_ = 1; - clear_has_operation(); +void EmbedParameter::clear_num_output() { + num_output_ = 0u; + clear_has_num_output(); } -::caffe::EltwiseParameter_EltwiseOp EltwiseParameter::operation() const { - // @@protoc_insertion_point(field_get:caffe.EltwiseParameter.operation) - return static_cast< ::caffe::EltwiseParameter_EltwiseOp >(operation_); +::google::protobuf::uint32 EmbedParameter::num_output() const { + // @@protoc_insertion_point(field_get:caffe.EmbedParameter.num_output) + return num_output_; } -void EltwiseParameter::set_operation(::caffe::EltwiseParameter_EltwiseOp value) { - assert(::caffe::EltwiseParameter_EltwiseOp_IsValid(value)); - set_has_operation(); - operation_ = value; - // @@protoc_insertion_point(field_set:caffe.EltwiseParameter.operation) +void EmbedParameter::set_num_output(::google::protobuf::uint32 value) { + set_has_num_output(); + num_output_ = value; + // @@protoc_insertion_point(field_set:caffe.EmbedParameter.num_output) } -// repeated float coeff = 2; -int EltwiseParameter::coeff_size() const { - return coeff_.size(); -} -void EltwiseParameter::clear_coeff() { - coeff_.Clear(); +// optional uint32 input_dim = 2; +bool EmbedParameter::has_input_dim() const { + return (_has_bits_[0] & 0x00000002u) != 0; } -float EltwiseParameter::coeff(int index) const { - // @@protoc_insertion_point(field_get:caffe.EltwiseParameter.coeff) - return coeff_.Get(index); +void EmbedParameter::set_has_input_dim() { + _has_bits_[0] |= 0x00000002u; } -void EltwiseParameter::set_coeff(int index, float value) { - coeff_.Set(index, value); - // @@protoc_insertion_point(field_set:caffe.EltwiseParameter.coeff) +void EmbedParameter::clear_has_input_dim() { + _has_bits_[0] &= ~0x00000002u; } -void EltwiseParameter::add_coeff(float value) { - coeff_.Add(value); - // @@protoc_insertion_point(field_add:caffe.EltwiseParameter.coeff) +void EmbedParameter::clear_input_dim() { + input_dim_ = 0u; + clear_has_input_dim(); } -const ::google::protobuf::RepeatedField< float >& -EltwiseParameter::coeff() const { - // @@protoc_insertion_point(field_list:caffe.EltwiseParameter.coeff) - return coeff_; +::google::protobuf::uint32 EmbedParameter::input_dim() const { + // @@protoc_insertion_point(field_get:caffe.EmbedParameter.input_dim) + return input_dim_; } -::google::protobuf::RepeatedField< float >* -EltwiseParameter::mutable_coeff() { - // @@protoc_insertion_point(field_mutable_list:caffe.EltwiseParameter.coeff) - return &coeff_; +void EmbedParameter::set_input_dim(::google::protobuf::uint32 value) { + set_has_input_dim(); + input_dim_ = value; + // @@protoc_insertion_point(field_set:caffe.EmbedParameter.input_dim) } -// optional bool stable_prod_grad = 3 [default = true]; -bool EltwiseParameter::has_stable_prod_grad() const { +// optional bool bias_term = 3 [default = true]; +bool EmbedParameter::has_bias_term() const { return (_has_bits_[0] & 0x00000004u) != 0; } -void EltwiseParameter::set_has_stable_prod_grad() { +void EmbedParameter::set_has_bias_term() { _has_bits_[0] |= 0x00000004u; } -void EltwiseParameter::clear_has_stable_prod_grad() { +void EmbedParameter::clear_has_bias_term() { _has_bits_[0] &= ~0x00000004u; } -void EltwiseParameter::clear_stable_prod_grad() { - stable_prod_grad_ = true; - clear_has_stable_prod_grad(); +void EmbedParameter::clear_bias_term() { + bias_term_ = true; + clear_has_bias_term(); } -bool EltwiseParameter::stable_prod_grad() const { - // @@protoc_insertion_point(field_get:caffe.EltwiseParameter.stable_prod_grad) - return stable_prod_grad_; +bool EmbedParameter::bias_term() const { + // @@protoc_insertion_point(field_get:caffe.EmbedParameter.bias_term) + return bias_term_; } -void EltwiseParameter::set_stable_prod_grad(bool value) { - set_has_stable_prod_grad(); - stable_prod_grad_ = value; - // @@protoc_insertion_point(field_set:caffe.EltwiseParameter.stable_prod_grad) +void EmbedParameter::set_bias_term(bool value) { + set_has_bias_term(); + bias_term_ = value; + // @@protoc_insertion_point(field_set:caffe.EmbedParameter.bias_term) } -inline const EltwiseParameter* EltwiseParameter::internal_default_instance() { - return &EltwiseParameter_default_instance_.get(); +// optional .caffe.FillerParameter weight_filler = 4; +bool EmbedParameter::has_weight_filler() const { + return (_has_bits_[0] & 0x00000008u) != 0; +} +void EmbedParameter::set_has_weight_filler() { + _has_bits_[0] |= 0x00000008u; +} +void EmbedParameter::clear_has_weight_filler() { + _has_bits_[0] &= ~0x00000008u; +} +void EmbedParameter::clear_weight_filler() { + if (weight_filler_ != NULL) weight_filler_->::caffe::FillerParameter::Clear(); + clear_has_weight_filler(); +} +const ::caffe::FillerParameter& EmbedParameter::weight_filler() const { + // @@protoc_insertion_point(field_get:caffe.EmbedParameter.weight_filler) + return weight_filler_ != NULL ? *weight_filler_ + : *::caffe::FillerParameter::internal_default_instance(); +} +::caffe::FillerParameter* EmbedParameter::mutable_weight_filler() { + set_has_weight_filler(); + if (weight_filler_ == NULL) { + weight_filler_ = new ::caffe::FillerParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.EmbedParameter.weight_filler) + return weight_filler_; +} +::caffe::FillerParameter* EmbedParameter::release_weight_filler() { + // @@protoc_insertion_point(field_release:caffe.EmbedParameter.weight_filler) + clear_has_weight_filler(); + ::caffe::FillerParameter* temp = weight_filler_; + weight_filler_ = NULL; + return temp; +} +void EmbedParameter::set_allocated_weight_filler(::caffe::FillerParameter* weight_filler) { + delete weight_filler_; + weight_filler_ = weight_filler; + if (weight_filler) { + set_has_weight_filler(); + } else { + clear_has_weight_filler(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.EmbedParameter.weight_filler) +} + +// optional .caffe.FillerParameter bias_filler = 5; +bool EmbedParameter::has_bias_filler() const { + return (_has_bits_[0] & 0x00000010u) != 0; +} +void EmbedParameter::set_has_bias_filler() { + _has_bits_[0] |= 0x00000010u; +} +void EmbedParameter::clear_has_bias_filler() { + _has_bits_[0] &= ~0x00000010u; +} +void EmbedParameter::clear_bias_filler() { + if (bias_filler_ != NULL) bias_filler_->::caffe::FillerParameter::Clear(); + clear_has_bias_filler(); +} +const ::caffe::FillerParameter& EmbedParameter::bias_filler() const { + // @@protoc_insertion_point(field_get:caffe.EmbedParameter.bias_filler) + return bias_filler_ != NULL ? *bias_filler_ + : *::caffe::FillerParameter::internal_default_instance(); +} +::caffe::FillerParameter* EmbedParameter::mutable_bias_filler() { + set_has_bias_filler(); + if (bias_filler_ == NULL) { + bias_filler_ = new ::caffe::FillerParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.EmbedParameter.bias_filler) + return bias_filler_; +} +::caffe::FillerParameter* EmbedParameter::release_bias_filler() { + // @@protoc_insertion_point(field_release:caffe.EmbedParameter.bias_filler) + clear_has_bias_filler(); + ::caffe::FillerParameter* temp = bias_filler_; + bias_filler_ = NULL; + return temp; +} +void EmbedParameter::set_allocated_bias_filler(::caffe::FillerParameter* bias_filler) { + delete bias_filler_; + bias_filler_ = bias_filler; + if (bias_filler) { + set_has_bias_filler(); + } else { + clear_has_bias_filler(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.EmbedParameter.bias_filler) +} + +inline const EmbedParameter* EmbedParameter::internal_default_instance() { + return &EmbedParameter_default_instance_.get(); } #endif // PROTOBUF_INLINE_NOT_IN_HEADERS @@ -26976,10 +30670,11 @@ void ImageDataParameter::SharedCtor() { source_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); mean_file_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); root_folder_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - ::memset(&batch_size_, 0, reinterpret_cast(&crop_size_) - - reinterpret_cast(&batch_size_) + sizeof(crop_size_)); - is_color_ = true; + ::memset(&rand_skip_, 0, reinterpret_cast(&crop_size_) - + reinterpret_cast(&rand_skip_) + sizeof(crop_size_)); scale_ = 1; + batch_size_ = 1u; + is_color_ = true; } ImageDataParameter::~ImageDataParameter() { @@ -27037,10 +30732,11 @@ void ImageDataParameter::Clear() { } while (0) if (_has_bits_[0 / 32] & 255u) { - ZR_(batch_size_, shuffle_); + ZR_(rand_skip_, shuffle_); if (has_source()) { source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } + batch_size_ = 1u; is_color_ = true; scale_ = 1; } @@ -27121,7 +30817,7 @@ bool ImageDataParameter::MergePartialFromCodedStream( break; } - // optional uint32 batch_size = 4; + // optional uint32 batch_size = 4 [default = 1]; case 4: { if (tag == 32) { parse_batch_size: @@ -27308,7 +31004,7 @@ void ImageDataParameter::SerializeWithCachedSizes( 3, this->mean_file(), output); } - // optional uint32 batch_size = 4; + // optional uint32 batch_size = 4 [default = 1]; if (has_batch_size()) { ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->batch_size(), output); } @@ -27396,7 +31092,7 @@ void ImageDataParameter::SerializeWithCachedSizes( 3, this->mean_file(), target); } - // optional uint32 batch_size = 4; + // optional uint32 batch_size = 4 [default = 1]; if (has_batch_size()) { target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(4, this->batch_size(), target); } @@ -27467,7 +31163,7 @@ size_t ImageDataParameter::ByteSizeLong() const { this->source()); } - // optional uint32 batch_size = 4; + // optional uint32 batch_size = 4 [default = 1]; if (has_batch_size()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::UInt32Size( @@ -27732,7 +31428,7 @@ void ImageDataParameter::set_allocated_source(::std::string* source) { // @@protoc_insertion_point(field_set_allocated:caffe.ImageDataParameter.source) } -// optional uint32 batch_size = 4; +// optional uint32 batch_size = 4 [default = 1]; bool ImageDataParameter::has_batch_size() const { return (_has_bits_[0] & 0x00000002u) != 0; } @@ -27743,7 +31439,7 @@ void ImageDataParameter::clear_has_batch_size() { _has_bits_[0] &= ~0x00000002u; } void ImageDataParameter::clear_batch_size() { - batch_size_ = 0u; + batch_size_ = 1u; clear_has_batch_size(); } ::google::protobuf::uint32 ImageDataParameter::batch_size() const { @@ -28395,6 +32091,7 @@ const int InnerProductParameter::kBiasTermFieldNumber; const int InnerProductParameter::kWeightFillerFieldNumber; const int InnerProductParameter::kBiasFillerFieldNumber; const int InnerProductParameter::kAxisFieldNumber; +const int InnerProductParameter::kTransposeFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 InnerProductParameter::InnerProductParameter() @@ -28423,7 +32120,8 @@ void InnerProductParameter::SharedCtor() { _cached_size_ = 0; weight_filler_ = NULL; bias_filler_ = NULL; - num_output_ = 0u; + ::memset(&num_output_, 0, reinterpret_cast(&transpose_) - + reinterpret_cast(&num_output_) + sizeof(transpose_)); bias_term_ = true; axis_ = 1; } @@ -28467,8 +32165,24 @@ InnerProductParameter* InnerProductParameter::New(::google::protobuf::Arena* are void InnerProductParameter::Clear() { // @@protoc_insertion_point(message_clear_start:caffe.InnerProductParameter) - if (_has_bits_[0 / 32] & 31u) { - num_output_ = 0u; +#if defined(__clang__) +#define ZR_HELPER_(f) \ + _Pragma("clang diagnostic push") \ + _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \ + __builtin_offsetof(InnerProductParameter, f) \ + _Pragma("clang diagnostic pop") +#else +#define ZR_HELPER_(f) reinterpret_cast(\ + &reinterpret_cast(16)->f) +#endif + +#define ZR_(first, last) do {\ + ::memset(&(first), 0,\ + ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\ +} while (0) + + if (_has_bits_[0 / 32] & 63u) { + ZR_(num_output_, transpose_); bias_term_ = true; if (has_weight_filler()) { if (weight_filler_ != NULL) weight_filler_->::caffe::FillerParameter::Clear(); @@ -28478,6 +32192,10 @@ void InnerProductParameter::Clear() { } axis_ = 1; } + +#undef ZR_HELPER_ +#undef ZR_ + _has_bits_.Clear(); if (_internal_metadata_.have_unknown_fields()) { mutable_unknown_fields()->Clear(); @@ -28560,6 +32278,21 @@ bool InnerProductParameter::MergePartialFromCodedStream( } else { goto handle_unusual; } + if (input->ExpectTag(48)) goto parse_transpose; + break; + } + + // optional bool transpose = 6 [default = false]; + case 6: { + if (tag == 48) { + parse_transpose: + set_has_transpose(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( + input, &transpose_))); + } else { + goto handle_unusual; + } if (input->ExpectAtEnd()) goto success; break; } @@ -28616,6 +32349,11 @@ void InnerProductParameter::SerializeWithCachedSizes( ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->axis(), output); } + // optional bool transpose = 6 [default = false]; + if (has_transpose()) { + ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->transpose(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( unknown_fields(), output); @@ -28656,6 +32394,11 @@ void InnerProductParameter::SerializeWithCachedSizes( target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(5, this->axis(), target); } + // optional bool transpose = 6 [default = false]; + if (has_transpose()) { + target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(6, this->transpose(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( unknown_fields(), target); @@ -28668,7 +32411,7 @@ size_t InnerProductParameter::ByteSizeLong() const { // @@protoc_insertion_point(message_byte_size_start:caffe.InnerProductParameter) size_t total_size = 0; - if (_has_bits_[0 / 32] & 31u) { + if (_has_bits_[0 / 32] & 63u) { // optional uint32 num_output = 1; if (has_num_output()) { total_size += 1 + @@ -28702,6 +32445,11 @@ size_t InnerProductParameter::ByteSizeLong() const { this->axis()); } + // optional bool transpose = 6 [default = false]; + if (has_transpose()) { + total_size += 1 + 1; + } + } if (_internal_metadata_.have_unknown_fields()) { total_size += @@ -28757,6 +32505,9 @@ void InnerProductParameter::UnsafeMergeFrom(const InnerProductParameter& from) { if (from.has_axis()) { set_axis(from.axis()); } + if (from.has_transpose()) { + set_transpose(from.transpose()); + } } if (from._internal_metadata_.have_unknown_fields()) { ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata( @@ -28793,6 +32544,7 @@ void InnerProductParameter::InternalSwap(InnerProductParameter* other) { std::swap(weight_filler_, other->weight_filler_); std::swap(bias_filler_, other->bias_filler_); std::swap(axis_, other->axis_); + std::swap(transpose_, other->transpose_); std::swap(_has_bits_[0], other->_has_bits_[0]); _internal_metadata_.Swap(&other->_internal_metadata_); std::swap(_cached_size_, other->_cached_size_); @@ -28971,6 +32723,30 @@ void InnerProductParameter::set_axis(::google::protobuf::int32 value) { // @@protoc_insertion_point(field_set:caffe.InnerProductParameter.axis) } +// optional bool transpose = 6 [default = false]; +bool InnerProductParameter::has_transpose() const { + return (_has_bits_[0] & 0x00000020u) != 0; +} +void InnerProductParameter::set_has_transpose() { + _has_bits_[0] |= 0x00000020u; +} +void InnerProductParameter::clear_has_transpose() { + _has_bits_[0] &= ~0x00000020u; +} +void InnerProductParameter::clear_transpose() { + transpose_ = false; + clear_has_transpose(); +} +bool InnerProductParameter::transpose() const { + // @@protoc_insertion_point(field_get:caffe.InnerProductParameter.transpose) + return transpose_; +} +void InnerProductParameter::set_transpose(bool value) { + set_has_transpose(); + transpose_ = value; + // @@protoc_insertion_point(field_set:caffe.InnerProductParameter.transpose) +} + inline const InnerProductParameter* InnerProductParameter::internal_default_instance() { return &InnerProductParameter_default_instance_.get(); } @@ -28978,6 +32754,295 @@ inline const InnerProductParameter* InnerProductParameter::internal_default_inst // =================================================================== +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int InputParameter::kShapeFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +InputParameter::InputParameter() + : ::google::protobuf::Message(), _internal_metadata_(NULL) { + if (this != internal_default_instance()) protobuf_InitDefaults_caffe_2eproto(); + SharedCtor(); + // @@protoc_insertion_point(constructor:caffe.InputParameter) +} + +void InputParameter::InitAsDefaultInstance() { +} + +InputParameter::InputParameter(const InputParameter& from) + : ::google::protobuf::Message(), + _internal_metadata_(NULL) { + SharedCtor(); + UnsafeMergeFrom(from); + // @@protoc_insertion_point(copy_constructor:caffe.InputParameter) +} + +void InputParameter::SharedCtor() { + _cached_size_ = 0; +} + +InputParameter::~InputParameter() { + // @@protoc_insertion_point(destructor:caffe.InputParameter) + SharedDtor(); +} + +void InputParameter::SharedDtor() { +} + +void InputParameter::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* InputParameter::descriptor() { + protobuf_AssignDescriptorsOnce(); + return InputParameter_descriptor_; +} + +const InputParameter& InputParameter::default_instance() { + protobuf_InitDefaults_caffe_2eproto(); + return *internal_default_instance(); +} + +::google::protobuf::internal::ExplicitlyConstructed InputParameter_default_instance_; + +InputParameter* InputParameter::New(::google::protobuf::Arena* arena) const { + InputParameter* n = new InputParameter; + if (arena != NULL) { + arena->Own(n); + } + return n; +} + +void InputParameter::Clear() { +// @@protoc_insertion_point(message_clear_start:caffe.InputParameter) + shape_.Clear(); + _has_bits_.Clear(); + if (_internal_metadata_.have_unknown_fields()) { + mutable_unknown_fields()->Clear(); + } +} + +bool InputParameter::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:caffe.InputParameter) + for (;;) { + ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // repeated .caffe.BlobShape shape = 1; + case 1: { + if (tag == 10) { + DO_(input->IncrementRecursionDepth()); + parse_loop_shape: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth( + input, add_shape())); + } else { + goto handle_unusual; + } + if (input->ExpectTag(10)) goto parse_loop_shape; + input->UnsafeDecrementRecursionDepth(); + if (input->ExpectAtEnd()) goto success; + break; + } + + default: { + handle_unusual: + if (tag == 0 || + ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:caffe.InputParameter) + return true; +failure: + // @@protoc_insertion_point(parse_failure:caffe.InputParameter) + return false; +#undef DO_ +} + +void InputParameter::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:caffe.InputParameter) + // repeated .caffe.BlobShape shape = 1; + for (unsigned int i = 0, n = this->shape_size(); i < n; i++) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 1, this->shape(i), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:caffe.InputParameter) +} + +::google::protobuf::uint8* InputParameter::InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* target) const { + (void)deterministic; // Unused + // @@protoc_insertion_point(serialize_to_array_start:caffe.InputParameter) + // repeated .caffe.BlobShape shape = 1; + for (unsigned int i = 0, n = this->shape_size(); i < n; i++) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageNoVirtualToArray( + 1, this->shape(i), false, target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:caffe.InputParameter) + return target; +} + +size_t InputParameter::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:caffe.InputParameter) + size_t total_size = 0; + + // repeated .caffe.BlobShape shape = 1; + { + unsigned int count = this->shape_size(); + total_size += 1UL * count; + for (unsigned int i = 0; i < count; i++) { + total_size += + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + this->shape(i)); + } + } + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + unknown_fields()); + } + 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 InputParameter::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:caffe.InputParameter) + if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__); + const InputParameter* source = + ::google::protobuf::internal::DynamicCastToGenerated( + &from); + if (source == NULL) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.InputParameter) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.InputParameter) + UnsafeMergeFrom(*source); + } +} + +void InputParameter::MergeFrom(const InputParameter& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:caffe.InputParameter) + if (GOOGLE_PREDICT_TRUE(&from != this)) { + UnsafeMergeFrom(from); + } else { + MergeFromFail(__LINE__); + } +} + +void InputParameter::UnsafeMergeFrom(const InputParameter& from) { + GOOGLE_DCHECK(&from != this); + shape_.MergeFrom(from.shape_); + if (from._internal_metadata_.have_unknown_fields()) { + ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata( + from.unknown_fields(), &_internal_metadata_); + } +} + +void InputParameter::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:caffe.InputParameter) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void InputParameter::CopyFrom(const InputParameter& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:caffe.InputParameter) + if (&from == this) return; + Clear(); + UnsafeMergeFrom(from); +} + +bool InputParameter::IsInitialized() const { + + return true; +} + +void InputParameter::Swap(InputParameter* other) { + if (other == this) return; + InternalSwap(other); +} +void InputParameter::InternalSwap(InputParameter* other) { + shape_.UnsafeArenaSwap(&other->shape_); + std::swap(_has_bits_[0], other->_has_bits_[0]); + _internal_metadata_.Swap(&other->_internal_metadata_); + std::swap(_cached_size_, other->_cached_size_); +} + +::google::protobuf::Metadata InputParameter::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = InputParameter_descriptor_; + metadata.reflection = InputParameter_reflection_; + return metadata; +} + +#if PROTOBUF_INLINE_NOT_IN_HEADERS +// InputParameter + +// repeated .caffe.BlobShape shape = 1; +int InputParameter::shape_size() const { + return shape_.size(); +} +void InputParameter::clear_shape() { + shape_.Clear(); +} +const ::caffe::BlobShape& InputParameter::shape(int index) const { + // @@protoc_insertion_point(field_get:caffe.InputParameter.shape) + return shape_.Get(index); +} +::caffe::BlobShape* InputParameter::mutable_shape(int index) { + // @@protoc_insertion_point(field_mutable:caffe.InputParameter.shape) + return shape_.Mutable(index); +} +::caffe::BlobShape* InputParameter::add_shape() { + // @@protoc_insertion_point(field_add:caffe.InputParameter.shape) + return shape_.Add(); +} +::google::protobuf::RepeatedPtrField< ::caffe::BlobShape >* +InputParameter::mutable_shape() { + // @@protoc_insertion_point(field_mutable_list:caffe.InputParameter.shape) + return &shape_; +} +const ::google::protobuf::RepeatedPtrField< ::caffe::BlobShape >& +InputParameter::shape() const { + // @@protoc_insertion_point(field_list:caffe.InputParameter.shape) + return shape_; +} + +inline const InputParameter* InputParameter::internal_default_instance() { + return &InputParameter_default_instance_.get(); +} +#endif // PROTOBUF_INLINE_NOT_IN_HEADERS + +// =================================================================== + #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int LogParameter::kBaseFieldNumber; const int LogParameter::kScaleFieldNumber; @@ -29402,12 +33467,36 @@ const LRNParameter_NormRegion LRNParameter::NormRegion_MIN; const LRNParameter_NormRegion LRNParameter::NormRegion_MAX; const int LRNParameter::NormRegion_ARRAYSIZE; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 +const ::google::protobuf::EnumDescriptor* LRNParameter_Engine_descriptor() { + protobuf_AssignDescriptorsOnce(); + return LRNParameter_Engine_descriptor_; +} +bool LRNParameter_Engine_IsValid(int value) { + switch (value) { + case 0: + case 1: + case 2: + return true; + default: + return false; + } +} + +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const LRNParameter_Engine LRNParameter::DEFAULT; +const LRNParameter_Engine LRNParameter::CAFFE; +const LRNParameter_Engine LRNParameter::CUDNN; +const LRNParameter_Engine LRNParameter::Engine_MIN; +const LRNParameter_Engine LRNParameter::Engine_MAX; +const int LRNParameter::Engine_ARRAYSIZE; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int LRNParameter::kLocalSizeFieldNumber; const int LRNParameter::kAlphaFieldNumber; const int LRNParameter::kBetaFieldNumber; const int LRNParameter::kNormRegionFieldNumber; const int LRNParameter::kKFieldNumber; +const int LRNParameter::kEngineFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 LRNParameter::LRNParameter() @@ -29430,7 +33519,8 @@ LRNParameter::LRNParameter(const LRNParameter& from) void LRNParameter::SharedCtor() { _cached_size_ = 0; - norm_region_ = 0; + ::memset(&norm_region_, 0, reinterpret_cast(&engine_) - + reinterpret_cast(&norm_region_) + sizeof(engine_)); local_size_ = 5u; alpha_ = 1; beta_ = 0.75f; @@ -29472,13 +33562,33 @@ LRNParameter* LRNParameter::New(::google::protobuf::Arena* arena) const { void LRNParameter::Clear() { // @@protoc_insertion_point(message_clear_start:caffe.LRNParameter) - if (_has_bits_[0 / 32] & 31u) { +#if defined(__clang__) +#define ZR_HELPER_(f) \ + _Pragma("clang diagnostic push") \ + _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \ + __builtin_offsetof(LRNParameter, f) \ + _Pragma("clang diagnostic pop") +#else +#define ZR_HELPER_(f) reinterpret_cast(\ + &reinterpret_cast(16)->f) +#endif + +#define ZR_(first, last) do {\ + ::memset(&(first), 0,\ + ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\ +} while (0) + + if (_has_bits_[0 / 32] & 63u) { + ZR_(norm_region_, engine_); local_size_ = 5u; alpha_ = 1; beta_ = 0.75f; - norm_region_ = 0; k_ = 1; } + +#undef ZR_HELPER_ +#undef ZR_ + _has_bits_.Clear(); if (_internal_metadata_.have_unknown_fields()) { mutable_unknown_fields()->Clear(); @@ -29570,6 +33680,26 @@ bool LRNParameter::MergePartialFromCodedStream( } else { goto handle_unusual; } + if (input->ExpectTag(48)) goto parse_engine; + break; + } + + // optional .caffe.LRNParameter.Engine engine = 6 [default = DEFAULT]; + case 6: { + if (tag == 48) { + parse_engine: + int value; + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>( + input, &value))); + if (::caffe::LRNParameter_Engine_IsValid(value)) { + set_engine(static_cast< ::caffe::LRNParameter_Engine >(value)); + } else { + mutable_unknown_fields()->AddVarint(6, value); + } + } else { + goto handle_unusual; + } if (input->ExpectAtEnd()) goto success; break; } @@ -29625,6 +33755,12 @@ void LRNParameter::SerializeWithCachedSizes( ::google::protobuf::internal::WireFormatLite::WriteFloat(5, this->k(), output); } + // optional .caffe.LRNParameter.Engine engine = 6 [default = DEFAULT]; + if (has_engine()) { + ::google::protobuf::internal::WireFormatLite::WriteEnum( + 6, this->engine(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( unknown_fields(), output); @@ -29662,6 +33798,12 @@ void LRNParameter::SerializeWithCachedSizes( target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(5, this->k(), target); } + // optional .caffe.LRNParameter.Engine engine = 6 [default = DEFAULT]; + if (has_engine()) { + target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray( + 6, this->engine(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( unknown_fields(), target); @@ -29674,7 +33816,7 @@ size_t LRNParameter::ByteSizeLong() const { // @@protoc_insertion_point(message_byte_size_start:caffe.LRNParameter) size_t total_size = 0; - if (_has_bits_[0 / 32] & 31u) { + if (_has_bits_[0 / 32] & 63u) { // optional uint32 local_size = 1 [default = 5]; if (has_local_size()) { total_size += 1 + @@ -29703,6 +33845,12 @@ size_t LRNParameter::ByteSizeLong() const { total_size += 1 + 4; } + // optional .caffe.LRNParameter.Engine engine = 6 [default = DEFAULT]; + if (has_engine()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::EnumSize(this->engine()); + } + } if (_internal_metadata_.have_unknown_fields()) { total_size += @@ -29758,6 +33906,9 @@ void LRNParameter::UnsafeMergeFrom(const LRNParameter& from) { if (from.has_k()) { set_k(from.k()); } + if (from.has_engine()) { + set_engine(from.engine()); + } } if (from._internal_metadata_.have_unknown_fields()) { ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata( @@ -29794,6 +33945,7 @@ void LRNParameter::InternalSwap(LRNParameter* other) { std::swap(beta_, other->beta_); std::swap(norm_region_, other->norm_region_); std::swap(k_, other->k_); + std::swap(engine_, other->engine_); std::swap(_has_bits_[0], other->_has_bits_[0]); _internal_metadata_.Swap(&other->_internal_metadata_); std::swap(_cached_size_, other->_cached_size_); @@ -29931,6 +34083,31 @@ void LRNParameter::set_k(float value) { // @@protoc_insertion_point(field_set:caffe.LRNParameter.k) } +// optional .caffe.LRNParameter.Engine engine = 6 [default = DEFAULT]; +bool LRNParameter::has_engine() const { + return (_has_bits_[0] & 0x00000020u) != 0; +} +void LRNParameter::set_has_engine() { + _has_bits_[0] |= 0x00000020u; +} +void LRNParameter::clear_has_engine() { + _has_bits_[0] &= ~0x00000020u; +} +void LRNParameter::clear_engine() { + engine_ = 0; + clear_has_engine(); +} +::caffe::LRNParameter_Engine LRNParameter::engine() const { + // @@protoc_insertion_point(field_get:caffe.LRNParameter.engine) + return static_cast< ::caffe::LRNParameter_Engine >(engine_); +} +void LRNParameter::set_engine(::caffe::LRNParameter_Engine value) { + assert(::caffe::LRNParameter_Engine_IsValid(value)); + set_has_engine(); + engine_ = value; + // @@protoc_insertion_point(field_set:caffe.LRNParameter.engine) +} + inline const LRNParameter* LRNParameter::internal_default_instance() { return &LRNParameter_default_instance_.get(); } @@ -30826,6 +35003,314 @@ inline const MVNParameter* MVNParameter::internal_default_instance() { // =================================================================== +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int ParameterParameter::kShapeFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +ParameterParameter::ParameterParameter() + : ::google::protobuf::Message(), _internal_metadata_(NULL) { + if (this != internal_default_instance()) protobuf_InitDefaults_caffe_2eproto(); + SharedCtor(); + // @@protoc_insertion_point(constructor:caffe.ParameterParameter) +} + +void ParameterParameter::InitAsDefaultInstance() { + shape_ = const_cast< ::caffe::BlobShape*>( + ::caffe::BlobShape::internal_default_instance()); +} + +ParameterParameter::ParameterParameter(const ParameterParameter& from) + : ::google::protobuf::Message(), + _internal_metadata_(NULL) { + SharedCtor(); + UnsafeMergeFrom(from); + // @@protoc_insertion_point(copy_constructor:caffe.ParameterParameter) +} + +void ParameterParameter::SharedCtor() { + _cached_size_ = 0; + shape_ = NULL; +} + +ParameterParameter::~ParameterParameter() { + // @@protoc_insertion_point(destructor:caffe.ParameterParameter) + SharedDtor(); +} + +void ParameterParameter::SharedDtor() { + if (this != &ParameterParameter_default_instance_.get()) { + delete shape_; + } +} + +void ParameterParameter::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* ParameterParameter::descriptor() { + protobuf_AssignDescriptorsOnce(); + return ParameterParameter_descriptor_; +} + +const ParameterParameter& ParameterParameter::default_instance() { + protobuf_InitDefaults_caffe_2eproto(); + return *internal_default_instance(); +} + +::google::protobuf::internal::ExplicitlyConstructed ParameterParameter_default_instance_; + +ParameterParameter* ParameterParameter::New(::google::protobuf::Arena* arena) const { + ParameterParameter* n = new ParameterParameter; + if (arena != NULL) { + arena->Own(n); + } + return n; +} + +void ParameterParameter::Clear() { +// @@protoc_insertion_point(message_clear_start:caffe.ParameterParameter) + if (has_shape()) { + if (shape_ != NULL) shape_->::caffe::BlobShape::Clear(); + } + _has_bits_.Clear(); + if (_internal_metadata_.have_unknown_fields()) { + mutable_unknown_fields()->Clear(); + } +} + +bool ParameterParameter::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:caffe.ParameterParameter) + for (;;) { + ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // optional .caffe.BlobShape shape = 1; + case 1: { + if (tag == 10) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, mutable_shape())); + } else { + goto handle_unusual; + } + if (input->ExpectAtEnd()) goto success; + break; + } + + default: { + handle_unusual: + if (tag == 0 || + ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:caffe.ParameterParameter) + return true; +failure: + // @@protoc_insertion_point(parse_failure:caffe.ParameterParameter) + return false; +#undef DO_ +} + +void ParameterParameter::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:caffe.ParameterParameter) + // optional .caffe.BlobShape shape = 1; + if (has_shape()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 1, *this->shape_, output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:caffe.ParameterParameter) +} + +::google::protobuf::uint8* ParameterParameter::InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* target) const { + (void)deterministic; // Unused + // @@protoc_insertion_point(serialize_to_array_start:caffe.ParameterParameter) + // optional .caffe.BlobShape shape = 1; + if (has_shape()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageNoVirtualToArray( + 1, *this->shape_, false, target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:caffe.ParameterParameter) + return target; +} + +size_t ParameterParameter::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:caffe.ParameterParameter) + size_t total_size = 0; + + // optional .caffe.BlobShape shape = 1; + if (has_shape()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + *this->shape_); + } + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + unknown_fields()); + } + 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 ParameterParameter::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:caffe.ParameterParameter) + if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__); + const ParameterParameter* source = + ::google::protobuf::internal::DynamicCastToGenerated( + &from); + if (source == NULL) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.ParameterParameter) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.ParameterParameter) + UnsafeMergeFrom(*source); + } +} + +void ParameterParameter::MergeFrom(const ParameterParameter& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:caffe.ParameterParameter) + if (GOOGLE_PREDICT_TRUE(&from != this)) { + UnsafeMergeFrom(from); + } else { + MergeFromFail(__LINE__); + } +} + +void ParameterParameter::UnsafeMergeFrom(const ParameterParameter& from) { + GOOGLE_DCHECK(&from != this); + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (from.has_shape()) { + mutable_shape()->::caffe::BlobShape::MergeFrom(from.shape()); + } + } + if (from._internal_metadata_.have_unknown_fields()) { + ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata( + from.unknown_fields(), &_internal_metadata_); + } +} + +void ParameterParameter::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:caffe.ParameterParameter) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void ParameterParameter::CopyFrom(const ParameterParameter& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:caffe.ParameterParameter) + if (&from == this) return; + Clear(); + UnsafeMergeFrom(from); +} + +bool ParameterParameter::IsInitialized() const { + + return true; +} + +void ParameterParameter::Swap(ParameterParameter* other) { + if (other == this) return; + InternalSwap(other); +} +void ParameterParameter::InternalSwap(ParameterParameter* other) { + std::swap(shape_, other->shape_); + std::swap(_has_bits_[0], other->_has_bits_[0]); + _internal_metadata_.Swap(&other->_internal_metadata_); + std::swap(_cached_size_, other->_cached_size_); +} + +::google::protobuf::Metadata ParameterParameter::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = ParameterParameter_descriptor_; + metadata.reflection = ParameterParameter_reflection_; + return metadata; +} + +#if PROTOBUF_INLINE_NOT_IN_HEADERS +// ParameterParameter + +// optional .caffe.BlobShape shape = 1; +bool ParameterParameter::has_shape() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +void ParameterParameter::set_has_shape() { + _has_bits_[0] |= 0x00000001u; +} +void ParameterParameter::clear_has_shape() { + _has_bits_[0] &= ~0x00000001u; +} +void ParameterParameter::clear_shape() { + if (shape_ != NULL) shape_->::caffe::BlobShape::Clear(); + clear_has_shape(); +} +const ::caffe::BlobShape& ParameterParameter::shape() const { + // @@protoc_insertion_point(field_get:caffe.ParameterParameter.shape) + return shape_ != NULL ? *shape_ + : *::caffe::BlobShape::internal_default_instance(); +} +::caffe::BlobShape* ParameterParameter::mutable_shape() { + set_has_shape(); + if (shape_ == NULL) { + shape_ = new ::caffe::BlobShape; + } + // @@protoc_insertion_point(field_mutable:caffe.ParameterParameter.shape) + return shape_; +} +::caffe::BlobShape* ParameterParameter::release_shape() { + // @@protoc_insertion_point(field_release:caffe.ParameterParameter.shape) + clear_has_shape(); + ::caffe::BlobShape* temp = shape_; + shape_ = NULL; + return temp; +} +void ParameterParameter::set_allocated_shape(::caffe::BlobShape* shape) { + delete shape_; + shape_ = shape; + if (shape) { + set_has_shape(); + } else { + clear_has_shape(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.ParameterParameter.shape) +} + +inline const ParameterParameter* ParameterParameter::internal_default_instance() { + return &ParameterParameter_default_instance_.get(); +} +#endif // PROTOBUF_INLINE_NOT_IN_HEADERS + +// =================================================================== + const ::google::protobuf::EnumDescriptor* PoolingParameter_PoolMethod_descriptor() { protobuf_AssignDescriptorsOnce(); return PoolingParameter_PoolMethod_descriptor_; @@ -32272,6 +36757,8 @@ inline const PowerParameter* PowerParameter::internal_default_instance() { #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int PythonParameter::kModuleFieldNumber; const int PythonParameter::kLayerFieldNumber; +const int PythonParameter::kParamStrFieldNumber; +const int PythonParameter::kShareInParallelFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 PythonParameter::PythonParameter() @@ -32296,6 +36783,8 @@ void PythonParameter::SharedCtor() { _cached_size_ = 0; module_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); layer_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + param_str_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + share_in_parallel_ = false; } PythonParameter::~PythonParameter() { @@ -32306,6 +36795,7 @@ PythonParameter::~PythonParameter() { void PythonParameter::SharedDtor() { module_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); layer_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + param_str_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } void PythonParameter::SetCachedSize(int size) const { @@ -32335,13 +36825,17 @@ PythonParameter* PythonParameter::New(::google::protobuf::Arena* arena) const { void PythonParameter::Clear() { // @@protoc_insertion_point(message_clear_start:caffe.PythonParameter) - if (_has_bits_[0 / 32] & 3u) { + if (_has_bits_[0 / 32] & 15u) { if (has_module()) { module_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } if (has_layer()) { layer_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); } + if (has_param_str()) { + param_str_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + share_in_parallel_ = false; } _has_bits_.Clear(); if (_internal_metadata_.have_unknown_fields()) { @@ -32367,24 +36861,56 @@ bool PythonParameter::MergePartialFromCodedStream( ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( this->module().data(), this->module().length(), ::google::protobuf::internal::WireFormat::PARSE, - "caffe.PythonParameter.module"); + "caffe.PythonParameter.module"); + } else { + goto handle_unusual; + } + if (input->ExpectTag(18)) goto parse_layer; + break; + } + + // optional string layer = 2; + case 2: { + if (tag == 18) { + parse_layer: + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_layer())); + ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( + this->layer().data(), this->layer().length(), + ::google::protobuf::internal::WireFormat::PARSE, + "caffe.PythonParameter.layer"); + } else { + goto handle_unusual; + } + if (input->ExpectTag(26)) goto parse_param_str; + break; + } + + // optional string param_str = 3 [default = ""]; + case 3: { + if (tag == 26) { + parse_param_str: + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_param_str())); + ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( + this->param_str().data(), this->param_str().length(), + ::google::protobuf::internal::WireFormat::PARSE, + "caffe.PythonParameter.param_str"); } else { goto handle_unusual; } - if (input->ExpectTag(18)) goto parse_layer; + if (input->ExpectTag(32)) goto parse_share_in_parallel; break; } - // optional string layer = 2; - case 2: { - if (tag == 18) { - parse_layer: - DO_(::google::protobuf::internal::WireFormatLite::ReadString( - input, this->mutable_layer())); - ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( - this->layer().data(), this->layer().length(), - ::google::protobuf::internal::WireFormat::PARSE, - "caffe.PythonParameter.layer"); + // optional bool share_in_parallel = 4 [default = false]; + case 4: { + if (tag == 32) { + parse_share_in_parallel: + set_has_share_in_parallel(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( + input, &share_in_parallel_))); } else { goto handle_unusual; } @@ -32437,6 +36963,21 @@ void PythonParameter::SerializeWithCachedSizes( 2, this->layer(), output); } + // optional string param_str = 3 [default = ""]; + if (has_param_str()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( + this->param_str().data(), this->param_str().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE, + "caffe.PythonParameter.param_str"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 3, this->param_str(), output); + } + + // optional bool share_in_parallel = 4 [default = false]; + if (has_share_in_parallel()) { + ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->share_in_parallel(), output); + } + if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( unknown_fields(), output); @@ -32470,6 +37011,22 @@ void PythonParameter::SerializeWithCachedSizes( 2, this->layer(), target); } + // optional string param_str = 3 [default = ""]; + if (has_param_str()) { + ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField( + this->param_str().data(), this->param_str().length(), + ::google::protobuf::internal::WireFormat::SERIALIZE, + "caffe.PythonParameter.param_str"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 3, this->param_str(), target); + } + + // optional bool share_in_parallel = 4 [default = false]; + if (has_share_in_parallel()) { + target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(4, this->share_in_parallel(), target); + } + if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( unknown_fields(), target); @@ -32482,7 +37039,7 @@ size_t PythonParameter::ByteSizeLong() const { // @@protoc_insertion_point(message_byte_size_start:caffe.PythonParameter) size_t total_size = 0; - if (_has_bits_[0 / 32] & 3u) { + if (_has_bits_[0 / 32] & 15u) { // optional string module = 1; if (has_module()) { total_size += 1 + @@ -32497,6 +37054,18 @@ size_t PythonParameter::ByteSizeLong() const { this->layer()); } + // optional string param_str = 3 [default = ""]; + if (has_param_str()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->param_str()); + } + + // optional bool share_in_parallel = 4 [default = false]; + if (has_share_in_parallel()) { + total_size += 1 + 1; + } + } if (_internal_metadata_.have_unknown_fields()) { total_size += @@ -32545,6 +37114,13 @@ void PythonParameter::UnsafeMergeFrom(const PythonParameter& from) { set_has_layer(); layer_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.layer_); } + if (from.has_param_str()) { + set_has_param_str(); + param_str_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.param_str_); + } + if (from.has_share_in_parallel()) { + set_share_in_parallel(from.share_in_parallel()); + } } if (from._internal_metadata_.have_unknown_fields()) { ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata( @@ -32578,6 +37154,8 @@ void PythonParameter::Swap(PythonParameter* other) { void PythonParameter::InternalSwap(PythonParameter* other) { module_.Swap(&other->module_); layer_.Swap(&other->layer_); + param_str_.Swap(&other->param_str_); + std::swap(share_in_parallel_, other->share_in_parallel_); std::swap(_has_bits_[0], other->_has_bits_[0]); _internal_metadata_.Swap(&other->_internal_metadata_); std::swap(_cached_size_, other->_cached_size_); @@ -32702,6 +37280,84 @@ void PythonParameter::set_allocated_layer(::std::string* layer) { // @@protoc_insertion_point(field_set_allocated:caffe.PythonParameter.layer) } +// optional string param_str = 3 [default = ""]; +bool PythonParameter::has_param_str() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +void PythonParameter::set_has_param_str() { + _has_bits_[0] |= 0x00000004u; +} +void PythonParameter::clear_has_param_str() { + _has_bits_[0] &= ~0x00000004u; +} +void PythonParameter::clear_param_str() { + param_str_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_param_str(); +} +const ::std::string& PythonParameter::param_str() const { + // @@protoc_insertion_point(field_get:caffe.PythonParameter.param_str) + return param_str_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +void PythonParameter::set_param_str(const ::std::string& value) { + set_has_param_str(); + param_str_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:caffe.PythonParameter.param_str) +} +void PythonParameter::set_param_str(const char* value) { + set_has_param_str(); + param_str_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:caffe.PythonParameter.param_str) +} +void PythonParameter::set_param_str(const char* value, size_t size) { + set_has_param_str(); + param_str_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:caffe.PythonParameter.param_str) +} +::std::string* PythonParameter::mutable_param_str() { + set_has_param_str(); + // @@protoc_insertion_point(field_mutable:caffe.PythonParameter.param_str) + return param_str_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +::std::string* PythonParameter::release_param_str() { + // @@protoc_insertion_point(field_release:caffe.PythonParameter.param_str) + clear_has_param_str(); + return param_str_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +void PythonParameter::set_allocated_param_str(::std::string* param_str) { + if (param_str != NULL) { + set_has_param_str(); + } else { + clear_has_param_str(); + } + param_str_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), param_str); + // @@protoc_insertion_point(field_set_allocated:caffe.PythonParameter.param_str) +} + +// optional bool share_in_parallel = 4 [default = false]; +bool PythonParameter::has_share_in_parallel() const { + return (_has_bits_[0] & 0x00000008u) != 0; +} +void PythonParameter::set_has_share_in_parallel() { + _has_bits_[0] |= 0x00000008u; +} +void PythonParameter::clear_has_share_in_parallel() { + _has_bits_[0] &= ~0x00000008u; +} +void PythonParameter::clear_share_in_parallel() { + share_in_parallel_ = false; + clear_has_share_in_parallel(); +} +bool PythonParameter::share_in_parallel() const { + // @@protoc_insertion_point(field_get:caffe.PythonParameter.share_in_parallel) + return share_in_parallel_; +} +void PythonParameter::set_share_in_parallel(bool value) { + set_has_share_in_parallel(); + share_in_parallel_ = value; + // @@protoc_insertion_point(field_set:caffe.PythonParameter.share_in_parallel) +} + inline const PythonParameter* PythonParameter::internal_default_instance() { return &PythonParameter_default_instance_.get(); } @@ -32709,6 +37365,610 @@ inline const PythonParameter* PythonParameter::internal_default_instance() { // =================================================================== +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int RecurrentParameter::kNumOutputFieldNumber; +const int RecurrentParameter::kWeightFillerFieldNumber; +const int RecurrentParameter::kBiasFillerFieldNumber; +const int RecurrentParameter::kDebugInfoFieldNumber; +const int RecurrentParameter::kExposeHiddenFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +RecurrentParameter::RecurrentParameter() + : ::google::protobuf::Message(), _internal_metadata_(NULL) { + if (this != internal_default_instance()) protobuf_InitDefaults_caffe_2eproto(); + SharedCtor(); + // @@protoc_insertion_point(constructor:caffe.RecurrentParameter) +} + +void RecurrentParameter::InitAsDefaultInstance() { + weight_filler_ = const_cast< ::caffe::FillerParameter*>( + ::caffe::FillerParameter::internal_default_instance()); + bias_filler_ = const_cast< ::caffe::FillerParameter*>( + ::caffe::FillerParameter::internal_default_instance()); +} + +RecurrentParameter::RecurrentParameter(const RecurrentParameter& from) + : ::google::protobuf::Message(), + _internal_metadata_(NULL) { + SharedCtor(); + UnsafeMergeFrom(from); + // @@protoc_insertion_point(copy_constructor:caffe.RecurrentParameter) +} + +void RecurrentParameter::SharedCtor() { + _cached_size_ = 0; + weight_filler_ = NULL; + bias_filler_ = NULL; + ::memset(&num_output_, 0, reinterpret_cast(&expose_hidden_) - + reinterpret_cast(&num_output_) + sizeof(expose_hidden_)); +} + +RecurrentParameter::~RecurrentParameter() { + // @@protoc_insertion_point(destructor:caffe.RecurrentParameter) + SharedDtor(); +} + +void RecurrentParameter::SharedDtor() { + if (this != &RecurrentParameter_default_instance_.get()) { + delete weight_filler_; + delete bias_filler_; + } +} + +void RecurrentParameter::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* RecurrentParameter::descriptor() { + protobuf_AssignDescriptorsOnce(); + return RecurrentParameter_descriptor_; +} + +const RecurrentParameter& RecurrentParameter::default_instance() { + protobuf_InitDefaults_caffe_2eproto(); + return *internal_default_instance(); +} + +::google::protobuf::internal::ExplicitlyConstructed RecurrentParameter_default_instance_; + +RecurrentParameter* RecurrentParameter::New(::google::protobuf::Arena* arena) const { + RecurrentParameter* n = new RecurrentParameter; + if (arena != NULL) { + arena->Own(n); + } + return n; +} + +void RecurrentParameter::Clear() { +// @@protoc_insertion_point(message_clear_start:caffe.RecurrentParameter) +#if defined(__clang__) +#define ZR_HELPER_(f) \ + _Pragma("clang diagnostic push") \ + _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \ + __builtin_offsetof(RecurrentParameter, f) \ + _Pragma("clang diagnostic pop") +#else +#define ZR_HELPER_(f) reinterpret_cast(\ + &reinterpret_cast(16)->f) +#endif + +#define ZR_(first, last) do {\ + ::memset(&(first), 0,\ + ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\ +} while (0) + + if (_has_bits_[0 / 32] & 31u) { + ZR_(num_output_, expose_hidden_); + if (has_weight_filler()) { + if (weight_filler_ != NULL) weight_filler_->::caffe::FillerParameter::Clear(); + } + if (has_bias_filler()) { + if (bias_filler_ != NULL) bias_filler_->::caffe::FillerParameter::Clear(); + } + } + +#undef ZR_HELPER_ +#undef ZR_ + + _has_bits_.Clear(); + if (_internal_metadata_.have_unknown_fields()) { + mutable_unknown_fields()->Clear(); + } +} + +bool RecurrentParameter::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:caffe.RecurrentParameter) + for (;;) { + ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // optional uint32 num_output = 1 [default = 0]; + case 1: { + if (tag == 8) { + set_has_num_output(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + input, &num_output_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(18)) goto parse_weight_filler; + break; + } + + // optional .caffe.FillerParameter weight_filler = 2; + case 2: { + if (tag == 18) { + parse_weight_filler: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, mutable_weight_filler())); + } else { + goto handle_unusual; + } + if (input->ExpectTag(26)) goto parse_bias_filler; + break; + } + + // optional .caffe.FillerParameter bias_filler = 3; + case 3: { + if (tag == 26) { + parse_bias_filler: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, mutable_bias_filler())); + } else { + goto handle_unusual; + } + if (input->ExpectTag(32)) goto parse_debug_info; + break; + } + + // optional bool debug_info = 4 [default = false]; + case 4: { + if (tag == 32) { + parse_debug_info: + set_has_debug_info(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( + input, &debug_info_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(40)) goto parse_expose_hidden; + break; + } + + // optional bool expose_hidden = 5 [default = false]; + case 5: { + if (tag == 40) { + parse_expose_hidden: + set_has_expose_hidden(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( + input, &expose_hidden_))); + } else { + goto handle_unusual; + } + if (input->ExpectAtEnd()) goto success; + break; + } + + default: { + handle_unusual: + if (tag == 0 || + ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:caffe.RecurrentParameter) + return true; +failure: + // @@protoc_insertion_point(parse_failure:caffe.RecurrentParameter) + return false; +#undef DO_ +} + +void RecurrentParameter::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:caffe.RecurrentParameter) + // optional uint32 num_output = 1 [default = 0]; + if (has_num_output()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->num_output(), output); + } + + // optional .caffe.FillerParameter weight_filler = 2; + if (has_weight_filler()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 2, *this->weight_filler_, output); + } + + // optional .caffe.FillerParameter bias_filler = 3; + if (has_bias_filler()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 3, *this->bias_filler_, output); + } + + // optional bool debug_info = 4 [default = false]; + if (has_debug_info()) { + ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->debug_info(), output); + } + + // optional bool expose_hidden = 5 [default = false]; + if (has_expose_hidden()) { + ::google::protobuf::internal::WireFormatLite::WriteBool(5, this->expose_hidden(), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:caffe.RecurrentParameter) +} + +::google::protobuf::uint8* RecurrentParameter::InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* target) const { + (void)deterministic; // Unused + // @@protoc_insertion_point(serialize_to_array_start:caffe.RecurrentParameter) + // optional uint32 num_output = 1 [default = 0]; + if (has_num_output()) { + target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->num_output(), target); + } + + // optional .caffe.FillerParameter weight_filler = 2; + if (has_weight_filler()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageNoVirtualToArray( + 2, *this->weight_filler_, false, target); + } + + // optional .caffe.FillerParameter bias_filler = 3; + if (has_bias_filler()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageNoVirtualToArray( + 3, *this->bias_filler_, false, target); + } + + // optional bool debug_info = 4 [default = false]; + if (has_debug_info()) { + target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(4, this->debug_info(), target); + } + + // optional bool expose_hidden = 5 [default = false]; + if (has_expose_hidden()) { + target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(5, this->expose_hidden(), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:caffe.RecurrentParameter) + return target; +} + +size_t RecurrentParameter::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:caffe.RecurrentParameter) + size_t total_size = 0; + + if (_has_bits_[0 / 32] & 31u) { + // optional uint32 num_output = 1 [default = 0]; + if (has_num_output()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt32Size( + this->num_output()); + } + + // optional .caffe.FillerParameter weight_filler = 2; + if (has_weight_filler()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + *this->weight_filler_); + } + + // optional .caffe.FillerParameter bias_filler = 3; + if (has_bias_filler()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + *this->bias_filler_); + } + + // optional bool debug_info = 4 [default = false]; + if (has_debug_info()) { + total_size += 1 + 1; + } + + // optional bool expose_hidden = 5 [default = false]; + if (has_expose_hidden()) { + total_size += 1 + 1; + } + + } + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + unknown_fields()); + } + 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 RecurrentParameter::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:caffe.RecurrentParameter) + if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__); + const RecurrentParameter* source = + ::google::protobuf::internal::DynamicCastToGenerated( + &from); + if (source == NULL) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.RecurrentParameter) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.RecurrentParameter) + UnsafeMergeFrom(*source); + } +} + +void RecurrentParameter::MergeFrom(const RecurrentParameter& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:caffe.RecurrentParameter) + if (GOOGLE_PREDICT_TRUE(&from != this)) { + UnsafeMergeFrom(from); + } else { + MergeFromFail(__LINE__); + } +} + +void RecurrentParameter::UnsafeMergeFrom(const RecurrentParameter& from) { + GOOGLE_DCHECK(&from != this); + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (from.has_num_output()) { + set_num_output(from.num_output()); + } + if (from.has_weight_filler()) { + mutable_weight_filler()->::caffe::FillerParameter::MergeFrom(from.weight_filler()); + } + if (from.has_bias_filler()) { + mutable_bias_filler()->::caffe::FillerParameter::MergeFrom(from.bias_filler()); + } + if (from.has_debug_info()) { + set_debug_info(from.debug_info()); + } + if (from.has_expose_hidden()) { + set_expose_hidden(from.expose_hidden()); + } + } + if (from._internal_metadata_.have_unknown_fields()) { + ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata( + from.unknown_fields(), &_internal_metadata_); + } +} + +void RecurrentParameter::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:caffe.RecurrentParameter) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void RecurrentParameter::CopyFrom(const RecurrentParameter& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:caffe.RecurrentParameter) + if (&from == this) return; + Clear(); + UnsafeMergeFrom(from); +} + +bool RecurrentParameter::IsInitialized() const { + + return true; +} + +void RecurrentParameter::Swap(RecurrentParameter* other) { + if (other == this) return; + InternalSwap(other); +} +void RecurrentParameter::InternalSwap(RecurrentParameter* other) { + std::swap(num_output_, other->num_output_); + std::swap(weight_filler_, other->weight_filler_); + std::swap(bias_filler_, other->bias_filler_); + std::swap(debug_info_, other->debug_info_); + std::swap(expose_hidden_, other->expose_hidden_); + std::swap(_has_bits_[0], other->_has_bits_[0]); + _internal_metadata_.Swap(&other->_internal_metadata_); + std::swap(_cached_size_, other->_cached_size_); +} + +::google::protobuf::Metadata RecurrentParameter::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = RecurrentParameter_descriptor_; + metadata.reflection = RecurrentParameter_reflection_; + return metadata; +} + +#if PROTOBUF_INLINE_NOT_IN_HEADERS +// RecurrentParameter + +// optional uint32 num_output = 1 [default = 0]; +bool RecurrentParameter::has_num_output() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +void RecurrentParameter::set_has_num_output() { + _has_bits_[0] |= 0x00000001u; +} +void RecurrentParameter::clear_has_num_output() { + _has_bits_[0] &= ~0x00000001u; +} +void RecurrentParameter::clear_num_output() { + num_output_ = 0u; + clear_has_num_output(); +} +::google::protobuf::uint32 RecurrentParameter::num_output() const { + // @@protoc_insertion_point(field_get:caffe.RecurrentParameter.num_output) + return num_output_; +} +void RecurrentParameter::set_num_output(::google::protobuf::uint32 value) { + set_has_num_output(); + num_output_ = value; + // @@protoc_insertion_point(field_set:caffe.RecurrentParameter.num_output) +} + +// optional .caffe.FillerParameter weight_filler = 2; +bool RecurrentParameter::has_weight_filler() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +void RecurrentParameter::set_has_weight_filler() { + _has_bits_[0] |= 0x00000002u; +} +void RecurrentParameter::clear_has_weight_filler() { + _has_bits_[0] &= ~0x00000002u; +} +void RecurrentParameter::clear_weight_filler() { + if (weight_filler_ != NULL) weight_filler_->::caffe::FillerParameter::Clear(); + clear_has_weight_filler(); +} +const ::caffe::FillerParameter& RecurrentParameter::weight_filler() const { + // @@protoc_insertion_point(field_get:caffe.RecurrentParameter.weight_filler) + return weight_filler_ != NULL ? *weight_filler_ + : *::caffe::FillerParameter::internal_default_instance(); +} +::caffe::FillerParameter* RecurrentParameter::mutable_weight_filler() { + set_has_weight_filler(); + if (weight_filler_ == NULL) { + weight_filler_ = new ::caffe::FillerParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.RecurrentParameter.weight_filler) + return weight_filler_; +} +::caffe::FillerParameter* RecurrentParameter::release_weight_filler() { + // @@protoc_insertion_point(field_release:caffe.RecurrentParameter.weight_filler) + clear_has_weight_filler(); + ::caffe::FillerParameter* temp = weight_filler_; + weight_filler_ = NULL; + return temp; +} +void RecurrentParameter::set_allocated_weight_filler(::caffe::FillerParameter* weight_filler) { + delete weight_filler_; + weight_filler_ = weight_filler; + if (weight_filler) { + set_has_weight_filler(); + } else { + clear_has_weight_filler(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.RecurrentParameter.weight_filler) +} + +// optional .caffe.FillerParameter bias_filler = 3; +bool RecurrentParameter::has_bias_filler() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +void RecurrentParameter::set_has_bias_filler() { + _has_bits_[0] |= 0x00000004u; +} +void RecurrentParameter::clear_has_bias_filler() { + _has_bits_[0] &= ~0x00000004u; +} +void RecurrentParameter::clear_bias_filler() { + if (bias_filler_ != NULL) bias_filler_->::caffe::FillerParameter::Clear(); + clear_has_bias_filler(); +} +const ::caffe::FillerParameter& RecurrentParameter::bias_filler() const { + // @@protoc_insertion_point(field_get:caffe.RecurrentParameter.bias_filler) + return bias_filler_ != NULL ? *bias_filler_ + : *::caffe::FillerParameter::internal_default_instance(); +} +::caffe::FillerParameter* RecurrentParameter::mutable_bias_filler() { + set_has_bias_filler(); + if (bias_filler_ == NULL) { + bias_filler_ = new ::caffe::FillerParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.RecurrentParameter.bias_filler) + return bias_filler_; +} +::caffe::FillerParameter* RecurrentParameter::release_bias_filler() { + // @@protoc_insertion_point(field_release:caffe.RecurrentParameter.bias_filler) + clear_has_bias_filler(); + ::caffe::FillerParameter* temp = bias_filler_; + bias_filler_ = NULL; + return temp; +} +void RecurrentParameter::set_allocated_bias_filler(::caffe::FillerParameter* bias_filler) { + delete bias_filler_; + bias_filler_ = bias_filler; + if (bias_filler) { + set_has_bias_filler(); + } else { + clear_has_bias_filler(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.RecurrentParameter.bias_filler) +} + +// optional bool debug_info = 4 [default = false]; +bool RecurrentParameter::has_debug_info() const { + return (_has_bits_[0] & 0x00000008u) != 0; +} +void RecurrentParameter::set_has_debug_info() { + _has_bits_[0] |= 0x00000008u; +} +void RecurrentParameter::clear_has_debug_info() { + _has_bits_[0] &= ~0x00000008u; +} +void RecurrentParameter::clear_debug_info() { + debug_info_ = false; + clear_has_debug_info(); +} +bool RecurrentParameter::debug_info() const { + // @@protoc_insertion_point(field_get:caffe.RecurrentParameter.debug_info) + return debug_info_; +} +void RecurrentParameter::set_debug_info(bool value) { + set_has_debug_info(); + debug_info_ = value; + // @@protoc_insertion_point(field_set:caffe.RecurrentParameter.debug_info) +} + +// optional bool expose_hidden = 5 [default = false]; +bool RecurrentParameter::has_expose_hidden() const { + return (_has_bits_[0] & 0x00000010u) != 0; +} +void RecurrentParameter::set_has_expose_hidden() { + _has_bits_[0] |= 0x00000010u; +} +void RecurrentParameter::clear_has_expose_hidden() { + _has_bits_[0] &= ~0x00000010u; +} +void RecurrentParameter::clear_expose_hidden() { + expose_hidden_ = false; + clear_has_expose_hidden(); +} +bool RecurrentParameter::expose_hidden() const { + // @@protoc_insertion_point(field_get:caffe.RecurrentParameter.expose_hidden) + return expose_hidden_; +} +void RecurrentParameter::set_expose_hidden(bool value) { + set_has_expose_hidden(); + expose_hidden_ = value; + // @@protoc_insertion_point(field_set:caffe.RecurrentParameter.expose_hidden) +} + +inline const RecurrentParameter* RecurrentParameter::internal_default_instance() { + return &RecurrentParameter_default_instance_.get(); +} +#endif // PROTOBUF_INLINE_NOT_IN_HEADERS + +// =================================================================== + const ::google::protobuf::EnumDescriptor* ReductionParameter_ReductionOp_descriptor() { protobuf_AssignDescriptorsOnce(); return ReductionParameter_ReductionOp_descriptor_; @@ -33689,95 +38949,607 @@ bool ReshapeParameter::MergePartialFromCodedStream( } } success: - // @@protoc_insertion_point(parse_success:caffe.ReshapeParameter) + // @@protoc_insertion_point(parse_success:caffe.ReshapeParameter) + return true; +failure: + // @@protoc_insertion_point(parse_failure:caffe.ReshapeParameter) + return false; +#undef DO_ +} + +void ReshapeParameter::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:caffe.ReshapeParameter) + // optional .caffe.BlobShape shape = 1; + if (has_shape()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 1, *this->shape_, output); + } + + // optional int32 axis = 2 [default = 0]; + if (has_axis()) { + ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->axis(), output); + } + + // optional int32 num_axes = 3 [default = -1]; + if (has_num_axes()) { + ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->num_axes(), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:caffe.ReshapeParameter) +} + +::google::protobuf::uint8* ReshapeParameter::InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* target) const { + (void)deterministic; // Unused + // @@protoc_insertion_point(serialize_to_array_start:caffe.ReshapeParameter) + // optional .caffe.BlobShape shape = 1; + if (has_shape()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageNoVirtualToArray( + 1, *this->shape_, false, target); + } + + // optional int32 axis = 2 [default = 0]; + if (has_axis()) { + target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->axis(), target); + } + + // optional int32 num_axes = 3 [default = -1]; + if (has_num_axes()) { + target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->num_axes(), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:caffe.ReshapeParameter) + return target; +} + +size_t ReshapeParameter::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:caffe.ReshapeParameter) + size_t total_size = 0; + + if (_has_bits_[0 / 32] & 7u) { + // optional .caffe.BlobShape shape = 1; + if (has_shape()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + *this->shape_); + } + + // optional int32 axis = 2 [default = 0]; + if (has_axis()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::Int32Size( + this->axis()); + } + + // optional int32 num_axes = 3 [default = -1]; + if (has_num_axes()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::Int32Size( + this->num_axes()); + } + + } + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + unknown_fields()); + } + 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 ReshapeParameter::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:caffe.ReshapeParameter) + if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__); + const ReshapeParameter* source = + ::google::protobuf::internal::DynamicCastToGenerated( + &from); + if (source == NULL) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.ReshapeParameter) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.ReshapeParameter) + UnsafeMergeFrom(*source); + } +} + +void ReshapeParameter::MergeFrom(const ReshapeParameter& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:caffe.ReshapeParameter) + if (GOOGLE_PREDICT_TRUE(&from != this)) { + UnsafeMergeFrom(from); + } else { + MergeFromFail(__LINE__); + } +} + +void ReshapeParameter::UnsafeMergeFrom(const ReshapeParameter& from) { + GOOGLE_DCHECK(&from != this); + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (from.has_shape()) { + mutable_shape()->::caffe::BlobShape::MergeFrom(from.shape()); + } + if (from.has_axis()) { + set_axis(from.axis()); + } + if (from.has_num_axes()) { + set_num_axes(from.num_axes()); + } + } + if (from._internal_metadata_.have_unknown_fields()) { + ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata( + from.unknown_fields(), &_internal_metadata_); + } +} + +void ReshapeParameter::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:caffe.ReshapeParameter) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void ReshapeParameter::CopyFrom(const ReshapeParameter& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:caffe.ReshapeParameter) + if (&from == this) return; + Clear(); + UnsafeMergeFrom(from); +} + +bool ReshapeParameter::IsInitialized() const { + + return true; +} + +void ReshapeParameter::Swap(ReshapeParameter* other) { + if (other == this) return; + InternalSwap(other); +} +void ReshapeParameter::InternalSwap(ReshapeParameter* other) { + std::swap(shape_, other->shape_); + std::swap(axis_, other->axis_); + std::swap(num_axes_, other->num_axes_); + std::swap(_has_bits_[0], other->_has_bits_[0]); + _internal_metadata_.Swap(&other->_internal_metadata_); + std::swap(_cached_size_, other->_cached_size_); +} + +::google::protobuf::Metadata ReshapeParameter::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = ReshapeParameter_descriptor_; + metadata.reflection = ReshapeParameter_reflection_; + return metadata; +} + +#if PROTOBUF_INLINE_NOT_IN_HEADERS +// ReshapeParameter + +// optional .caffe.BlobShape shape = 1; +bool ReshapeParameter::has_shape() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +void ReshapeParameter::set_has_shape() { + _has_bits_[0] |= 0x00000001u; +} +void ReshapeParameter::clear_has_shape() { + _has_bits_[0] &= ~0x00000001u; +} +void ReshapeParameter::clear_shape() { + if (shape_ != NULL) shape_->::caffe::BlobShape::Clear(); + clear_has_shape(); +} +const ::caffe::BlobShape& ReshapeParameter::shape() const { + // @@protoc_insertion_point(field_get:caffe.ReshapeParameter.shape) + return shape_ != NULL ? *shape_ + : *::caffe::BlobShape::internal_default_instance(); +} +::caffe::BlobShape* ReshapeParameter::mutable_shape() { + set_has_shape(); + if (shape_ == NULL) { + shape_ = new ::caffe::BlobShape; + } + // @@protoc_insertion_point(field_mutable:caffe.ReshapeParameter.shape) + return shape_; +} +::caffe::BlobShape* ReshapeParameter::release_shape() { + // @@protoc_insertion_point(field_release:caffe.ReshapeParameter.shape) + clear_has_shape(); + ::caffe::BlobShape* temp = shape_; + shape_ = NULL; + return temp; +} +void ReshapeParameter::set_allocated_shape(::caffe::BlobShape* shape) { + delete shape_; + shape_ = shape; + if (shape) { + set_has_shape(); + } else { + clear_has_shape(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.ReshapeParameter.shape) +} + +// optional int32 axis = 2 [default = 0]; +bool ReshapeParameter::has_axis() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +void ReshapeParameter::set_has_axis() { + _has_bits_[0] |= 0x00000002u; +} +void ReshapeParameter::clear_has_axis() { + _has_bits_[0] &= ~0x00000002u; +} +void ReshapeParameter::clear_axis() { + axis_ = 0; + clear_has_axis(); +} +::google::protobuf::int32 ReshapeParameter::axis() const { + // @@protoc_insertion_point(field_get:caffe.ReshapeParameter.axis) + return axis_; +} +void ReshapeParameter::set_axis(::google::protobuf::int32 value) { + set_has_axis(); + axis_ = value; + // @@protoc_insertion_point(field_set:caffe.ReshapeParameter.axis) +} + +// optional int32 num_axes = 3 [default = -1]; +bool ReshapeParameter::has_num_axes() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +void ReshapeParameter::set_has_num_axes() { + _has_bits_[0] |= 0x00000004u; +} +void ReshapeParameter::clear_has_num_axes() { + _has_bits_[0] &= ~0x00000004u; +} +void ReshapeParameter::clear_num_axes() { + num_axes_ = -1; + clear_has_num_axes(); +} +::google::protobuf::int32 ReshapeParameter::num_axes() const { + // @@protoc_insertion_point(field_get:caffe.ReshapeParameter.num_axes) + return num_axes_; +} +void ReshapeParameter::set_num_axes(::google::protobuf::int32 value) { + set_has_num_axes(); + num_axes_ = value; + // @@protoc_insertion_point(field_set:caffe.ReshapeParameter.num_axes) +} + +inline const ReshapeParameter* ReshapeParameter::internal_default_instance() { + return &ReshapeParameter_default_instance_.get(); +} +#endif // PROTOBUF_INLINE_NOT_IN_HEADERS + +// =================================================================== + +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int ScaleParameter::kAxisFieldNumber; +const int ScaleParameter::kNumAxesFieldNumber; +const int ScaleParameter::kFillerFieldNumber; +const int ScaleParameter::kBiasTermFieldNumber; +const int ScaleParameter::kBiasFillerFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +ScaleParameter::ScaleParameter() + : ::google::protobuf::Message(), _internal_metadata_(NULL) { + if (this != internal_default_instance()) protobuf_InitDefaults_caffe_2eproto(); + SharedCtor(); + // @@protoc_insertion_point(constructor:caffe.ScaleParameter) +} + +void ScaleParameter::InitAsDefaultInstance() { + filler_ = const_cast< ::caffe::FillerParameter*>( + ::caffe::FillerParameter::internal_default_instance()); + bias_filler_ = const_cast< ::caffe::FillerParameter*>( + ::caffe::FillerParameter::internal_default_instance()); +} + +ScaleParameter::ScaleParameter(const ScaleParameter& from) + : ::google::protobuf::Message(), + _internal_metadata_(NULL) { + SharedCtor(); + UnsafeMergeFrom(from); + // @@protoc_insertion_point(copy_constructor:caffe.ScaleParameter) +} + +void ScaleParameter::SharedCtor() { + _cached_size_ = 0; + filler_ = NULL; + bias_filler_ = NULL; + bias_term_ = false; + axis_ = 1; + num_axes_ = 1; +} + +ScaleParameter::~ScaleParameter() { + // @@protoc_insertion_point(destructor:caffe.ScaleParameter) + SharedDtor(); +} + +void ScaleParameter::SharedDtor() { + if (this != &ScaleParameter_default_instance_.get()) { + delete filler_; + delete bias_filler_; + } +} + +void ScaleParameter::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* ScaleParameter::descriptor() { + protobuf_AssignDescriptorsOnce(); + return ScaleParameter_descriptor_; +} + +const ScaleParameter& ScaleParameter::default_instance() { + protobuf_InitDefaults_caffe_2eproto(); + return *internal_default_instance(); +} + +::google::protobuf::internal::ExplicitlyConstructed ScaleParameter_default_instance_; + +ScaleParameter* ScaleParameter::New(::google::protobuf::Arena* arena) const { + ScaleParameter* n = new ScaleParameter; + if (arena != NULL) { + arena->Own(n); + } + return n; +} + +void ScaleParameter::Clear() { +// @@protoc_insertion_point(message_clear_start:caffe.ScaleParameter) + if (_has_bits_[0 / 32] & 31u) { + axis_ = 1; + num_axes_ = 1; + if (has_filler()) { + if (filler_ != NULL) filler_->::caffe::FillerParameter::Clear(); + } + bias_term_ = false; + if (has_bias_filler()) { + if (bias_filler_ != NULL) bias_filler_->::caffe::FillerParameter::Clear(); + } + } + _has_bits_.Clear(); + if (_internal_metadata_.have_unknown_fields()) { + mutable_unknown_fields()->Clear(); + } +} + +bool ScaleParameter::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:caffe.ScaleParameter) + for (;;) { + ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // optional int32 axis = 1 [default = 1]; + case 1: { + if (tag == 8) { + set_has_axis(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( + input, &axis_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(16)) goto parse_num_axes; + break; + } + + // optional int32 num_axes = 2 [default = 1]; + case 2: { + if (tag == 16) { + parse_num_axes: + set_has_num_axes(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( + input, &num_axes_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(26)) goto parse_filler; + break; + } + + // optional .caffe.FillerParameter filler = 3; + case 3: { + if (tag == 26) { + parse_filler: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, mutable_filler())); + } else { + goto handle_unusual; + } + if (input->ExpectTag(32)) goto parse_bias_term; + break; + } + + // optional bool bias_term = 4 [default = false]; + case 4: { + if (tag == 32) { + parse_bias_term: + set_has_bias_term(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( + input, &bias_term_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(42)) goto parse_bias_filler; + break; + } + + // optional .caffe.FillerParameter bias_filler = 5; + case 5: { + if (tag == 42) { + parse_bias_filler: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, mutable_bias_filler())); + } else { + goto handle_unusual; + } + if (input->ExpectAtEnd()) goto success; + break; + } + + default: { + handle_unusual: + if (tag == 0 || + ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:caffe.ScaleParameter) return true; failure: - // @@protoc_insertion_point(parse_failure:caffe.ReshapeParameter) + // @@protoc_insertion_point(parse_failure:caffe.ScaleParameter) return false; #undef DO_ } -void ReshapeParameter::SerializeWithCachedSizes( +void ScaleParameter::SerializeWithCachedSizes( ::google::protobuf::io::CodedOutputStream* output) const { - // @@protoc_insertion_point(serialize_start:caffe.ReshapeParameter) - // optional .caffe.BlobShape shape = 1; - if (has_shape()) { + // @@protoc_insertion_point(serialize_start:caffe.ScaleParameter) + // optional int32 axis = 1 [default = 1]; + if (has_axis()) { + ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->axis(), output); + } + + // optional int32 num_axes = 2 [default = 1]; + if (has_num_axes()) { + ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->num_axes(), output); + } + + // optional .caffe.FillerParameter filler = 3; + if (has_filler()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 1, *this->shape_, output); + 3, *this->filler_, output); } - // optional int32 axis = 2 [default = 0]; - if (has_axis()) { - ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->axis(), output); + // optional bool bias_term = 4 [default = false]; + if (has_bias_term()) { + ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->bias_term(), output); } - // optional int32 num_axes = 3 [default = -1]; - if (has_num_axes()) { - ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->num_axes(), output); + // optional .caffe.FillerParameter bias_filler = 5; + if (has_bias_filler()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 5, *this->bias_filler_, output); } if (_internal_metadata_.have_unknown_fields()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( unknown_fields(), output); } - // @@protoc_insertion_point(serialize_end:caffe.ReshapeParameter) + // @@protoc_insertion_point(serialize_end:caffe.ScaleParameter) } -::google::protobuf::uint8* ReshapeParameter::InternalSerializeWithCachedSizesToArray( +::google::protobuf::uint8* ScaleParameter::InternalSerializeWithCachedSizesToArray( bool deterministic, ::google::protobuf::uint8* target) const { (void)deterministic; // Unused - // @@protoc_insertion_point(serialize_to_array_start:caffe.ReshapeParameter) - // optional .caffe.BlobShape shape = 1; - if (has_shape()) { + // @@protoc_insertion_point(serialize_to_array_start:caffe.ScaleParameter) + // optional int32 axis = 1 [default = 1]; + if (has_axis()) { + target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->axis(), target); + } + + // optional int32 num_axes = 2 [default = 1]; + if (has_num_axes()) { + target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->num_axes(), target); + } + + // optional .caffe.FillerParameter filler = 3; + if (has_filler()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageNoVirtualToArray( - 1, *this->shape_, false, target); + 3, *this->filler_, false, target); } - // optional int32 axis = 2 [default = 0]; - if (has_axis()) { - target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->axis(), target); + // optional bool bias_term = 4 [default = false]; + if (has_bias_term()) { + target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(4, this->bias_term(), target); } - // optional int32 num_axes = 3 [default = -1]; - if (has_num_axes()) { - target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->num_axes(), target); + // optional .caffe.FillerParameter bias_filler = 5; + if (has_bias_filler()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageNoVirtualToArray( + 5, *this->bias_filler_, false, target); } if (_internal_metadata_.have_unknown_fields()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( unknown_fields(), target); } - // @@protoc_insertion_point(serialize_to_array_end:caffe.ReshapeParameter) + // @@protoc_insertion_point(serialize_to_array_end:caffe.ScaleParameter) return target; } -size_t ReshapeParameter::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:caffe.ReshapeParameter) +size_t ScaleParameter::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:caffe.ScaleParameter) size_t total_size = 0; - if (_has_bits_[0 / 32] & 7u) { - // optional .caffe.BlobShape shape = 1; - if (has_shape()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( - *this->shape_); - } - - // optional int32 axis = 2 [default = 0]; + if (_has_bits_[0 / 32] & 31u) { + // optional int32 axis = 1 [default = 1]; if (has_axis()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::Int32Size( this->axis()); } - // optional int32 num_axes = 3 [default = -1]; + // optional int32 num_axes = 2 [default = 1]; if (has_num_axes()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::Int32Size( this->num_axes()); } + // optional .caffe.FillerParameter filler = 3; + if (has_filler()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + *this->filler_); + } + + // optional bool bias_term = 4 [default = false]; + if (has_bias_term()) { + total_size += 1 + 1; + } + + // optional .caffe.FillerParameter bias_filler = 5; + if (has_bias_filler()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + *this->bias_filler_); + } + } if (_internal_metadata_.have_unknown_fields()) { total_size += @@ -33791,23 +39563,23 @@ size_t ReshapeParameter::ByteSizeLong() const { return total_size; } -void ReshapeParameter::MergeFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_merge_from_start:caffe.ReshapeParameter) +void ScaleParameter::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:caffe.ScaleParameter) if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__); - const ReshapeParameter* source = - ::google::protobuf::internal::DynamicCastToGenerated( + const ScaleParameter* source = + ::google::protobuf::internal::DynamicCastToGenerated( &from); if (source == NULL) { - // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.ReshapeParameter) + // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.ScaleParameter) ::google::protobuf::internal::ReflectionOps::Merge(from, this); } else { - // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.ReshapeParameter) + // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.ScaleParameter) UnsafeMergeFrom(*source); } } -void ReshapeParameter::MergeFrom(const ReshapeParameter& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:caffe.ReshapeParameter) +void ScaleParameter::MergeFrom(const ScaleParameter& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:caffe.ScaleParameter) if (GOOGLE_PREDICT_TRUE(&from != this)) { UnsafeMergeFrom(from); } else { @@ -33815,18 +39587,24 @@ void ReshapeParameter::MergeFrom(const ReshapeParameter& from) { } } -void ReshapeParameter::UnsafeMergeFrom(const ReshapeParameter& from) { +void ScaleParameter::UnsafeMergeFrom(const ScaleParameter& from) { GOOGLE_DCHECK(&from != this); if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { - if (from.has_shape()) { - mutable_shape()->::caffe::BlobShape::MergeFrom(from.shape()); - } if (from.has_axis()) { set_axis(from.axis()); } if (from.has_num_axes()) { set_num_axes(from.num_axes()); } + if (from.has_filler()) { + mutable_filler()->::caffe::FillerParameter::MergeFrom(from.filler()); + } + if (from.has_bias_term()) { + set_bias_term(from.bias_term()); + } + if (from.has_bias_filler()) { + mutable_bias_filler()->::caffe::FillerParameter::MergeFrom(from.bias_filler()); + } } if (from._internal_metadata_.have_unknown_fields()) { ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata( @@ -33834,144 +39612,215 @@ void ReshapeParameter::UnsafeMergeFrom(const ReshapeParameter& from) { } } -void ReshapeParameter::CopyFrom(const ::google::protobuf::Message& from) { -// @@protoc_insertion_point(generalized_copy_from_start:caffe.ReshapeParameter) +void ScaleParameter::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:caffe.ScaleParameter) if (&from == this) return; Clear(); MergeFrom(from); } -void ReshapeParameter::CopyFrom(const ReshapeParameter& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:caffe.ReshapeParameter) +void ScaleParameter::CopyFrom(const ScaleParameter& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:caffe.ScaleParameter) if (&from == this) return; Clear(); UnsafeMergeFrom(from); } -bool ReshapeParameter::IsInitialized() const { +bool ScaleParameter::IsInitialized() const { return true; } -void ReshapeParameter::Swap(ReshapeParameter* other) { +void ScaleParameter::Swap(ScaleParameter* other) { if (other == this) return; InternalSwap(other); } -void ReshapeParameter::InternalSwap(ReshapeParameter* other) { - std::swap(shape_, other->shape_); +void ScaleParameter::InternalSwap(ScaleParameter* other) { std::swap(axis_, other->axis_); std::swap(num_axes_, other->num_axes_); + std::swap(filler_, other->filler_); + std::swap(bias_term_, other->bias_term_); + std::swap(bias_filler_, other->bias_filler_); std::swap(_has_bits_[0], other->_has_bits_[0]); _internal_metadata_.Swap(&other->_internal_metadata_); std::swap(_cached_size_, other->_cached_size_); } -::google::protobuf::Metadata ReshapeParameter::GetMetadata() const { +::google::protobuf::Metadata ScaleParameter::GetMetadata() const { protobuf_AssignDescriptorsOnce(); ::google::protobuf::Metadata metadata; - metadata.descriptor = ReshapeParameter_descriptor_; - metadata.reflection = ReshapeParameter_reflection_; + metadata.descriptor = ScaleParameter_descriptor_; + metadata.reflection = ScaleParameter_reflection_; return metadata; } #if PROTOBUF_INLINE_NOT_IN_HEADERS -// ReshapeParameter +// ScaleParameter -// optional .caffe.BlobShape shape = 1; -bool ReshapeParameter::has_shape() const { +// optional int32 axis = 1 [default = 1]; +bool ScaleParameter::has_axis() const { return (_has_bits_[0] & 0x00000001u) != 0; } -void ReshapeParameter::set_has_shape() { +void ScaleParameter::set_has_axis() { _has_bits_[0] |= 0x00000001u; } -void ReshapeParameter::clear_has_shape() { +void ScaleParameter::clear_has_axis() { _has_bits_[0] &= ~0x00000001u; } -void ReshapeParameter::clear_shape() { - if (shape_ != NULL) shape_->::caffe::BlobShape::Clear(); - clear_has_shape(); -} -const ::caffe::BlobShape& ReshapeParameter::shape() const { - // @@protoc_insertion_point(field_get:caffe.ReshapeParameter.shape) - return shape_ != NULL ? *shape_ - : *::caffe::BlobShape::internal_default_instance(); -} -::caffe::BlobShape* ReshapeParameter::mutable_shape() { - set_has_shape(); - if (shape_ == NULL) { - shape_ = new ::caffe::BlobShape; - } - // @@protoc_insertion_point(field_mutable:caffe.ReshapeParameter.shape) - return shape_; +void ScaleParameter::clear_axis() { + axis_ = 1; + clear_has_axis(); } -::caffe::BlobShape* ReshapeParameter::release_shape() { - // @@protoc_insertion_point(field_release:caffe.ReshapeParameter.shape) - clear_has_shape(); - ::caffe::BlobShape* temp = shape_; - shape_ = NULL; - return temp; +::google::protobuf::int32 ScaleParameter::axis() const { + // @@protoc_insertion_point(field_get:caffe.ScaleParameter.axis) + return axis_; } -void ReshapeParameter::set_allocated_shape(::caffe::BlobShape* shape) { - delete shape_; - shape_ = shape; - if (shape) { - set_has_shape(); - } else { - clear_has_shape(); - } - // @@protoc_insertion_point(field_set_allocated:caffe.ReshapeParameter.shape) +void ScaleParameter::set_axis(::google::protobuf::int32 value) { + set_has_axis(); + axis_ = value; + // @@protoc_insertion_point(field_set:caffe.ScaleParameter.axis) } -// optional int32 axis = 2 [default = 0]; -bool ReshapeParameter::has_axis() const { +// optional int32 num_axes = 2 [default = 1]; +bool ScaleParameter::has_num_axes() const { return (_has_bits_[0] & 0x00000002u) != 0; } -void ReshapeParameter::set_has_axis() { +void ScaleParameter::set_has_num_axes() { _has_bits_[0] |= 0x00000002u; } -void ReshapeParameter::clear_has_axis() { +void ScaleParameter::clear_has_num_axes() { _has_bits_[0] &= ~0x00000002u; } -void ReshapeParameter::clear_axis() { - axis_ = 0; - clear_has_axis(); +void ScaleParameter::clear_num_axes() { + num_axes_ = 1; + clear_has_num_axes(); } -::google::protobuf::int32 ReshapeParameter::axis() const { - // @@protoc_insertion_point(field_get:caffe.ReshapeParameter.axis) - return axis_; +::google::protobuf::int32 ScaleParameter::num_axes() const { + // @@protoc_insertion_point(field_get:caffe.ScaleParameter.num_axes) + return num_axes_; } -void ReshapeParameter::set_axis(::google::protobuf::int32 value) { - set_has_axis(); - axis_ = value; - // @@protoc_insertion_point(field_set:caffe.ReshapeParameter.axis) +void ScaleParameter::set_num_axes(::google::protobuf::int32 value) { + set_has_num_axes(); + num_axes_ = value; + // @@protoc_insertion_point(field_set:caffe.ScaleParameter.num_axes) } -// optional int32 num_axes = 3 [default = -1]; -bool ReshapeParameter::has_num_axes() const { +// optional .caffe.FillerParameter filler = 3; +bool ScaleParameter::has_filler() const { return (_has_bits_[0] & 0x00000004u) != 0; } -void ReshapeParameter::set_has_num_axes() { +void ScaleParameter::set_has_filler() { _has_bits_[0] |= 0x00000004u; } -void ReshapeParameter::clear_has_num_axes() { +void ScaleParameter::clear_has_filler() { _has_bits_[0] &= ~0x00000004u; } -void ReshapeParameter::clear_num_axes() { - num_axes_ = -1; - clear_has_num_axes(); +void ScaleParameter::clear_filler() { + if (filler_ != NULL) filler_->::caffe::FillerParameter::Clear(); + clear_has_filler(); } -::google::protobuf::int32 ReshapeParameter::num_axes() const { - // @@protoc_insertion_point(field_get:caffe.ReshapeParameter.num_axes) - return num_axes_; +const ::caffe::FillerParameter& ScaleParameter::filler() const { + // @@protoc_insertion_point(field_get:caffe.ScaleParameter.filler) + return filler_ != NULL ? *filler_ + : *::caffe::FillerParameter::internal_default_instance(); } -void ReshapeParameter::set_num_axes(::google::protobuf::int32 value) { - set_has_num_axes(); - num_axes_ = value; - // @@protoc_insertion_point(field_set:caffe.ReshapeParameter.num_axes) +::caffe::FillerParameter* ScaleParameter::mutable_filler() { + set_has_filler(); + if (filler_ == NULL) { + filler_ = new ::caffe::FillerParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.ScaleParameter.filler) + return filler_; +} +::caffe::FillerParameter* ScaleParameter::release_filler() { + // @@protoc_insertion_point(field_release:caffe.ScaleParameter.filler) + clear_has_filler(); + ::caffe::FillerParameter* temp = filler_; + filler_ = NULL; + return temp; +} +void ScaleParameter::set_allocated_filler(::caffe::FillerParameter* filler) { + delete filler_; + filler_ = filler; + if (filler) { + set_has_filler(); + } else { + clear_has_filler(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.ScaleParameter.filler) } -inline const ReshapeParameter* ReshapeParameter::internal_default_instance() { - return &ReshapeParameter_default_instance_.get(); +// optional bool bias_term = 4 [default = false]; +bool ScaleParameter::has_bias_term() const { + return (_has_bits_[0] & 0x00000008u) != 0; +} +void ScaleParameter::set_has_bias_term() { + _has_bits_[0] |= 0x00000008u; +} +void ScaleParameter::clear_has_bias_term() { + _has_bits_[0] &= ~0x00000008u; +} +void ScaleParameter::clear_bias_term() { + bias_term_ = false; + clear_has_bias_term(); +} +bool ScaleParameter::bias_term() const { + // @@protoc_insertion_point(field_get:caffe.ScaleParameter.bias_term) + return bias_term_; +} +void ScaleParameter::set_bias_term(bool value) { + set_has_bias_term(); + bias_term_ = value; + // @@protoc_insertion_point(field_set:caffe.ScaleParameter.bias_term) +} + +// optional .caffe.FillerParameter bias_filler = 5; +bool ScaleParameter::has_bias_filler() const { + return (_has_bits_[0] & 0x00000010u) != 0; +} +void ScaleParameter::set_has_bias_filler() { + _has_bits_[0] |= 0x00000010u; +} +void ScaleParameter::clear_has_bias_filler() { + _has_bits_[0] &= ~0x00000010u; +} +void ScaleParameter::clear_bias_filler() { + if (bias_filler_ != NULL) bias_filler_->::caffe::FillerParameter::Clear(); + clear_has_bias_filler(); +} +const ::caffe::FillerParameter& ScaleParameter::bias_filler() const { + // @@protoc_insertion_point(field_get:caffe.ScaleParameter.bias_filler) + return bias_filler_ != NULL ? *bias_filler_ + : *::caffe::FillerParameter::internal_default_instance(); +} +::caffe::FillerParameter* ScaleParameter::mutable_bias_filler() { + set_has_bias_filler(); + if (bias_filler_ == NULL) { + bias_filler_ = new ::caffe::FillerParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.ScaleParameter.bias_filler) + return bias_filler_; +} +::caffe::FillerParameter* ScaleParameter::release_bias_filler() { + // @@protoc_insertion_point(field_release:caffe.ScaleParameter.bias_filler) + clear_has_bias_filler(); + ::caffe::FillerParameter* temp = bias_filler_; + bias_filler_ = NULL; + return temp; +} +void ScaleParameter::set_allocated_bias_filler(::caffe::FillerParameter* bias_filler) { + delete bias_filler_; + bias_filler_ = bias_filler; + if (bias_filler) { + set_has_bias_filler(); + } else { + clear_has_bias_filler(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.ScaleParameter.bias_filler) +} + +inline const ScaleParameter* ScaleParameter::internal_default_instance() { + return &ScaleParameter_default_instance_.get(); } #endif // PROTOBUF_INLINE_NOT_IN_HEADERS @@ -35395,6 +41244,352 @@ inline const TanHParameter* TanHParameter::internal_default_instance() { // =================================================================== +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int TileParameter::kAxisFieldNumber; +const int TileParameter::kTilesFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +TileParameter::TileParameter() + : ::google::protobuf::Message(), _internal_metadata_(NULL) { + if (this != internal_default_instance()) protobuf_InitDefaults_caffe_2eproto(); + SharedCtor(); + // @@protoc_insertion_point(constructor:caffe.TileParameter) +} + +void TileParameter::InitAsDefaultInstance() { +} + +TileParameter::TileParameter(const TileParameter& from) + : ::google::protobuf::Message(), + _internal_metadata_(NULL) { + SharedCtor(); + UnsafeMergeFrom(from); + // @@protoc_insertion_point(copy_constructor:caffe.TileParameter) +} + +void TileParameter::SharedCtor() { + _cached_size_ = 0; + tiles_ = 0; + axis_ = 1; +} + +TileParameter::~TileParameter() { + // @@protoc_insertion_point(destructor:caffe.TileParameter) + SharedDtor(); +} + +void TileParameter::SharedDtor() { +} + +void TileParameter::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* TileParameter::descriptor() { + protobuf_AssignDescriptorsOnce(); + return TileParameter_descriptor_; +} + +const TileParameter& TileParameter::default_instance() { + protobuf_InitDefaults_caffe_2eproto(); + return *internal_default_instance(); +} + +::google::protobuf::internal::ExplicitlyConstructed TileParameter_default_instance_; + +TileParameter* TileParameter::New(::google::protobuf::Arena* arena) const { + TileParameter* n = new TileParameter; + if (arena != NULL) { + arena->Own(n); + } + return n; +} + +void TileParameter::Clear() { +// @@protoc_insertion_point(message_clear_start:caffe.TileParameter) + if (_has_bits_[0 / 32] & 3u) { + axis_ = 1; + tiles_ = 0; + } + _has_bits_.Clear(); + if (_internal_metadata_.have_unknown_fields()) { + mutable_unknown_fields()->Clear(); + } +} + +bool TileParameter::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:caffe.TileParameter) + for (;;) { + ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // optional int32 axis = 1 [default = 1]; + case 1: { + if (tag == 8) { + set_has_axis(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( + input, &axis_))); + } else { + goto handle_unusual; + } + if (input->ExpectTag(16)) goto parse_tiles; + break; + } + + // optional int32 tiles = 2; + case 2: { + if (tag == 16) { + parse_tiles: + set_has_tiles(); + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( + input, &tiles_))); + } else { + goto handle_unusual; + } + if (input->ExpectAtEnd()) goto success; + break; + } + + default: { + handle_unusual: + if (tag == 0 || + ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:caffe.TileParameter) + return true; +failure: + // @@protoc_insertion_point(parse_failure:caffe.TileParameter) + return false; +#undef DO_ +} + +void TileParameter::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:caffe.TileParameter) + // optional int32 axis = 1 [default = 1]; + if (has_axis()) { + ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->axis(), output); + } + + // optional int32 tiles = 2; + if (has_tiles()) { + ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->tiles(), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:caffe.TileParameter) +} + +::google::protobuf::uint8* TileParameter::InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* target) const { + (void)deterministic; // Unused + // @@protoc_insertion_point(serialize_to_array_start:caffe.TileParameter) + // optional int32 axis = 1 [default = 1]; + if (has_axis()) { + target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->axis(), target); + } + + // optional int32 tiles = 2; + if (has_tiles()) { + target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->tiles(), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:caffe.TileParameter) + return target; +} + +size_t TileParameter::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:caffe.TileParameter) + size_t total_size = 0; + + if (_has_bits_[0 / 32] & 3u) { + // optional int32 axis = 1 [default = 1]; + if (has_axis()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::Int32Size( + this->axis()); + } + + // optional int32 tiles = 2; + if (has_tiles()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::Int32Size( + this->tiles()); + } + + } + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + unknown_fields()); + } + 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 TileParameter::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:caffe.TileParameter) + if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__); + const TileParameter* source = + ::google::protobuf::internal::DynamicCastToGenerated( + &from); + if (source == NULL) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:caffe.TileParameter) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:caffe.TileParameter) + UnsafeMergeFrom(*source); + } +} + +void TileParameter::MergeFrom(const TileParameter& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:caffe.TileParameter) + if (GOOGLE_PREDICT_TRUE(&from != this)) { + UnsafeMergeFrom(from); + } else { + MergeFromFail(__LINE__); + } +} + +void TileParameter::UnsafeMergeFrom(const TileParameter& from) { + GOOGLE_DCHECK(&from != this); + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (from.has_axis()) { + set_axis(from.axis()); + } + if (from.has_tiles()) { + set_tiles(from.tiles()); + } + } + if (from._internal_metadata_.have_unknown_fields()) { + ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata( + from.unknown_fields(), &_internal_metadata_); + } +} + +void TileParameter::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:caffe.TileParameter) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void TileParameter::CopyFrom(const TileParameter& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:caffe.TileParameter) + if (&from == this) return; + Clear(); + UnsafeMergeFrom(from); +} + +bool TileParameter::IsInitialized() const { + + return true; +} + +void TileParameter::Swap(TileParameter* other) { + if (other == this) return; + InternalSwap(other); +} +void TileParameter::InternalSwap(TileParameter* other) { + std::swap(axis_, other->axis_); + std::swap(tiles_, other->tiles_); + std::swap(_has_bits_[0], other->_has_bits_[0]); + _internal_metadata_.Swap(&other->_internal_metadata_); + std::swap(_cached_size_, other->_cached_size_); +} + +::google::protobuf::Metadata TileParameter::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = TileParameter_descriptor_; + metadata.reflection = TileParameter_reflection_; + return metadata; +} + +#if PROTOBUF_INLINE_NOT_IN_HEADERS +// TileParameter + +// optional int32 axis = 1 [default = 1]; +bool TileParameter::has_axis() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +void TileParameter::set_has_axis() { + _has_bits_[0] |= 0x00000001u; +} +void TileParameter::clear_has_axis() { + _has_bits_[0] &= ~0x00000001u; +} +void TileParameter::clear_axis() { + axis_ = 1; + clear_has_axis(); +} +::google::protobuf::int32 TileParameter::axis() const { + // @@protoc_insertion_point(field_get:caffe.TileParameter.axis) + return axis_; +} +void TileParameter::set_axis(::google::protobuf::int32 value) { + set_has_axis(); + axis_ = value; + // @@protoc_insertion_point(field_set:caffe.TileParameter.axis) +} + +// optional int32 tiles = 2; +bool TileParameter::has_tiles() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +void TileParameter::set_has_tiles() { + _has_bits_[0] |= 0x00000002u; +} +void TileParameter::clear_has_tiles() { + _has_bits_[0] &= ~0x00000002u; +} +void TileParameter::clear_tiles() { + tiles_ = 0; + clear_has_tiles(); +} +::google::protobuf::int32 TileParameter::tiles() const { + // @@protoc_insertion_point(field_get:caffe.TileParameter.tiles) + return tiles_; +} +void TileParameter::set_tiles(::google::protobuf::int32 value) { + set_has_tiles(); + tiles_ = value; + // @@protoc_insertion_point(field_set:caffe.TileParameter.tiles) +} + +inline const TileParameter* TileParameter::internal_default_instance() { + return &TileParameter_default_instance_.get(); +} +#endif // PROTOBUF_INLINE_NOT_IN_HEADERS + +// =================================================================== + #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int ThresholdParameter::kThresholdFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 diff --git a/modules/dnn/misc/caffe/caffe.pb.h b/modules/dnn/misc/caffe/caffe.pb.h index 84ee77029..898634aaa 100644 --- a/modules/dnn/misc/caffe/caffe.pb.h +++ b/modules/dnn/misc/caffe/caffe.pb.h @@ -40,6 +40,8 @@ void protobuf_ShutdownFile_caffe_2eproto(); class AccuracyParameter; class ArgMaxParameter; +class BatchNormParameter; +class BiasParameter; class BlobProto; class BlobProtoVector; class BlobShape; @@ -52,7 +54,9 @@ class Datum; class DetectionOutputParameter; class DropoutParameter; class DummyDataParameter; +class ELUParameter; class EltwiseParameter; +class EmbedParameter; class ExpParameter; class FillerParameter; class FlattenParameter; @@ -62,6 +66,7 @@ class HingeLossParameter; class ImageDataParameter; class InfogainLossParameter; class InnerProductParameter; +class InputParameter; class LRNParameter; class LayerParameter; class LogParameter; @@ -75,15 +80,18 @@ class NormalizeBBoxParameter; class NormalizedBBox; class PReLUParameter; class ParamSpec; +class ParameterParameter; class PermuteParameter; class PoolingParameter; class PowerParameter; class PriorBoxParameter; class PythonParameter; class ReLUParameter; +class RecurrentParameter; class ReductionParameter; class ReshapeParameter; class SPPParameter; +class ScaleParameter; class SigmoidParameter; class SliceParameter; class SoftmaxParameter; @@ -91,6 +99,7 @@ class SolverParameter; class SolverState; class TanHParameter; class ThresholdParameter; +class TileParameter; class TransformationParameter; class V0LayerParameter; class V1LayerParameter; @@ -135,6 +144,25 @@ inline bool FillerParameter_VarianceNorm_Parse( return ::google::protobuf::internal::ParseNamedEnum( FillerParameter_VarianceNorm_descriptor(), name, value); } +enum SolverParameter_SnapshotFormat { + SolverParameter_SnapshotFormat_HDF5 = 0, + SolverParameter_SnapshotFormat_BINARYPROTO = 1 +}; +bool SolverParameter_SnapshotFormat_IsValid(int value); +const SolverParameter_SnapshotFormat SolverParameter_SnapshotFormat_SnapshotFormat_MIN = SolverParameter_SnapshotFormat_HDF5; +const SolverParameter_SnapshotFormat SolverParameter_SnapshotFormat_SnapshotFormat_MAX = SolverParameter_SnapshotFormat_BINARYPROTO; +const int SolverParameter_SnapshotFormat_SnapshotFormat_ARRAYSIZE = SolverParameter_SnapshotFormat_SnapshotFormat_MAX + 1; + +const ::google::protobuf::EnumDescriptor* SolverParameter_SnapshotFormat_descriptor(); +inline const ::std::string& SolverParameter_SnapshotFormat_Name(SolverParameter_SnapshotFormat value) { + return ::google::protobuf::internal::NameOfEnum( + SolverParameter_SnapshotFormat_descriptor(), value); +} +inline bool SolverParameter_SnapshotFormat_Parse( + const ::std::string& name, SolverParameter_SnapshotFormat* value) { + return ::google::protobuf::internal::ParseNamedEnum( + SolverParameter_SnapshotFormat_descriptor(), name, value); +} enum SolverParameter_SolverMode { SolverParameter_SolverMode_CPU = 0, SolverParameter_SolverMode_GPU = 1 @@ -157,11 +185,14 @@ inline bool SolverParameter_SolverMode_Parse( enum SolverParameter_SolverType { SolverParameter_SolverType_SGD = 0, SolverParameter_SolverType_NESTEROV = 1, - SolverParameter_SolverType_ADAGRAD = 2 + SolverParameter_SolverType_ADAGRAD = 2, + SolverParameter_SolverType_RMSPROP = 3, + SolverParameter_SolverType_ADADELTA = 4, + SolverParameter_SolverType_ADAM = 5 }; bool SolverParameter_SolverType_IsValid(int value); const SolverParameter_SolverType SolverParameter_SolverType_SolverType_MIN = SolverParameter_SolverType_SGD; -const SolverParameter_SolverType SolverParameter_SolverType_SolverType_MAX = SolverParameter_SolverType_ADAGRAD; +const SolverParameter_SolverType SolverParameter_SolverType_SolverType_MAX = SolverParameter_SolverType_ADAM; const int SolverParameter_SolverType_SolverType_ARRAYSIZE = SolverParameter_SolverType_SolverType_MAX + 1; const ::google::protobuf::EnumDescriptor* SolverParameter_SolverType_descriptor(); @@ -193,6 +224,27 @@ inline bool ParamSpec_DimCheckMode_Parse( return ::google::protobuf::internal::ParseNamedEnum( ParamSpec_DimCheckMode_descriptor(), name, value); } +enum LossParameter_NormalizationMode { + LossParameter_NormalizationMode_FULL = 0, + LossParameter_NormalizationMode_VALID = 1, + LossParameter_NormalizationMode_BATCH_SIZE = 2, + LossParameter_NormalizationMode_NONE = 3 +}; +bool LossParameter_NormalizationMode_IsValid(int value); +const LossParameter_NormalizationMode LossParameter_NormalizationMode_NormalizationMode_MIN = LossParameter_NormalizationMode_FULL; +const LossParameter_NormalizationMode LossParameter_NormalizationMode_NormalizationMode_MAX = LossParameter_NormalizationMode_NONE; +const int LossParameter_NormalizationMode_NormalizationMode_ARRAYSIZE = LossParameter_NormalizationMode_NormalizationMode_MAX + 1; + +const ::google::protobuf::EnumDescriptor* LossParameter_NormalizationMode_descriptor(); +inline const ::std::string& LossParameter_NormalizationMode_Name(LossParameter_NormalizationMode value) { + return ::google::protobuf::internal::NameOfEnum( + LossParameter_NormalizationMode_descriptor(), value); +} +inline bool LossParameter_NormalizationMode_Parse( + const ::std::string& name, LossParameter_NormalizationMode* value) { + return ::google::protobuf::internal::ParseNamedEnum( + LossParameter_NormalizationMode_descriptor(), name, value); +} enum ConvolutionParameter_Engine { ConvolutionParameter_Engine_DEFAULT = 0, ConvolutionParameter_Engine_CAFFE = 1, @@ -290,6 +342,26 @@ inline bool LRNParameter_NormRegion_Parse( return ::google::protobuf::internal::ParseNamedEnum( LRNParameter_NormRegion_descriptor(), name, value); } +enum LRNParameter_Engine { + LRNParameter_Engine_DEFAULT = 0, + LRNParameter_Engine_CAFFE = 1, + LRNParameter_Engine_CUDNN = 2 +}; +bool LRNParameter_Engine_IsValid(int value); +const LRNParameter_Engine LRNParameter_Engine_Engine_MIN = LRNParameter_Engine_DEFAULT; +const LRNParameter_Engine LRNParameter_Engine_Engine_MAX = LRNParameter_Engine_CUDNN; +const int LRNParameter_Engine_Engine_ARRAYSIZE = LRNParameter_Engine_Engine_MAX + 1; + +const ::google::protobuf::EnumDescriptor* LRNParameter_Engine_descriptor(); +inline const ::std::string& LRNParameter_Engine_Name(LRNParameter_Engine value) { + return ::google::protobuf::internal::NameOfEnum( + LRNParameter_Engine_descriptor(), value); +} +inline bool LRNParameter_Engine_Parse( + const ::std::string& name, LRNParameter_Engine* value) { + return ::google::protobuf::internal::ParseNamedEnum( + LRNParameter_Engine_descriptor(), name, value); +} enum PoolingParameter_PoolMethod { PoolingParameter_PoolMethod_MAX = 0, PoolingParameter_PoolMethod_AVE = 1, @@ -794,6 +866,30 @@ class BlobProto : public ::google::protobuf::Message /* @@protoc_insertion_point ::google::protobuf::RepeatedField< float >* mutable_diff(); + // repeated double double_data = 8 [packed = true]; + int double_data_size() const; + void clear_double_data(); + static const int kDoubleDataFieldNumber = 8; + double double_data(int index) const; + void set_double_data(int index, double value); + void add_double_data(double value); + const ::google::protobuf::RepeatedField< double >& + double_data() const; + ::google::protobuf::RepeatedField< double >* + mutable_double_data(); + + // repeated double double_diff = 9 [packed = true]; + int double_diff_size() const; + void clear_double_diff(); + static const int kDoubleDiffFieldNumber = 9; + double double_diff(int index) const; + void set_double_diff(int index, double value); + void add_double_diff(double value); + const ::google::protobuf::RepeatedField< double >& + double_diff() const; + ::google::protobuf::RepeatedField< double >* + mutable_double_diff(); + // optional int32 num = 1 [default = 0]; bool has_num() const; void clear_num(); @@ -842,6 +938,10 @@ class BlobProto : public ::google::protobuf::Message /* @@protoc_insertion_point mutable int _data_cached_byte_size_; ::google::protobuf::RepeatedField< float > diff_; mutable int _diff_cached_byte_size_; + ::google::protobuf::RepeatedField< double > double_data_; + mutable int _double_data_cached_byte_size_; + ::google::protobuf::RepeatedField< double > double_diff_; + mutable int _double_diff_cached_byte_size_; ::caffe::BlobShape* shape_; ::google::protobuf::int32 num_; ::google::protobuf::int32 channels_; @@ -959,117 +1059,6 @@ extern ::google::protobuf::internal::ExplicitlyConstructed Blob // ------------------------------------------------------------------- -class CropParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:caffe.CropParameter) */ { - public: - CropParameter(); - virtual ~CropParameter(); - - CropParameter(const CropParameter& from); - - inline CropParameter& operator=(const CropParameter& from) { - CopyFrom(from); - return *this; - } - - 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 CropParameter& default_instance(); - - static const CropParameter* internal_default_instance(); - - void Swap(CropParameter* other); - - // implements Message ---------------------------------------------- - - inline CropParameter* New() const { return New(NULL); } - - CropParameter* New(::google::protobuf::Arena* arena) const; - void CopyFrom(const ::google::protobuf::Message& from); - void MergeFrom(const ::google::protobuf::Message& from); - void CopyFrom(const CropParameter& from); - void MergeFrom(const CropParameter& from); - void Clear(); - bool IsInitialized() const; - - size_t ByteSizeLong() const; - bool MergePartialFromCodedStream( - ::google::protobuf::io::CodedInputStream* input); - void SerializeWithCachedSizes( - ::google::protobuf::io::CodedOutputStream* output) const; - ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( - bool deterministic, ::google::protobuf::uint8* output) const; - ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { - return InternalSerializeWithCachedSizesToArray(false, output); - } - int GetCachedSize() const { return _cached_size_; } - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const; - void InternalSwap(CropParameter* other); - void UnsafeMergeFrom(const CropParameter& from); - private: - inline ::google::protobuf::Arena* GetArenaNoVirtual() const { - return _internal_metadata_.arena(); - } - inline void* MaybeArenaPtr() const { - return _internal_metadata_.raw_arena_ptr(); - } - public: - - ::google::protobuf::Metadata GetMetadata() const; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - // optional int32 axis = 1 [default = 2]; - bool has_axis() const; - void clear_axis(); - static const int kAxisFieldNumber = 1; - ::google::protobuf::int32 axis() const; - void set_axis(::google::protobuf::int32 value); - - // repeated uint32 offset = 2; - int offset_size() const; - void clear_offset(); - static const int kOffsetFieldNumber = 2; - ::google::protobuf::uint32 offset(int index) const; - void set_offset(int index, ::google::protobuf::uint32 value); - void add_offset(::google::protobuf::uint32 value); - const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& - offset() const; - ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* - mutable_offset(); - - // @@protoc_insertion_point(class_scope:caffe.CropParameter) - private: - inline void set_has_axis(); - inline void clear_has_axis(); - - ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; - ::google::protobuf::internal::HasBits<1> _has_bits_; - mutable int _cached_size_; - ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > offset_; - ::google::protobuf::int32 axis_; - friend void protobuf_InitDefaults_caffe_2eproto_impl(); - friend void protobuf_AddDesc_caffe_2eproto_impl(); - friend void protobuf_AssignDesc_caffe_2eproto(); - friend void protobuf_ShutdownFile_caffe_2eproto(); - - void InitAsDefaultInstance(); -}; -extern ::google::protobuf::internal::ExplicitlyConstructed CropParameter_default_instance_; - -// ------------------------------------------------------------------- - class PermuteParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:caffe.PermuteParameter) */ { public: PermuteParameter(); @@ -2300,6 +2289,32 @@ class SolverParameter : public ::google::protobuf::Message /* @@protoc_insertion // nested types ---------------------------------------------------- + typedef SolverParameter_SnapshotFormat SnapshotFormat; + static const SnapshotFormat HDF5 = + SolverParameter_SnapshotFormat_HDF5; + static const SnapshotFormat BINARYPROTO = + SolverParameter_SnapshotFormat_BINARYPROTO; + static inline bool SnapshotFormat_IsValid(int value) { + return SolverParameter_SnapshotFormat_IsValid(value); + } + static const SnapshotFormat SnapshotFormat_MIN = + SolverParameter_SnapshotFormat_SnapshotFormat_MIN; + static const SnapshotFormat SnapshotFormat_MAX = + SolverParameter_SnapshotFormat_SnapshotFormat_MAX; + static const int SnapshotFormat_ARRAYSIZE = + SolverParameter_SnapshotFormat_SnapshotFormat_ARRAYSIZE; + static inline const ::google::protobuf::EnumDescriptor* + SnapshotFormat_descriptor() { + return SolverParameter_SnapshotFormat_descriptor(); + } + static inline const ::std::string& SnapshotFormat_Name(SnapshotFormat value) { + return SolverParameter_SnapshotFormat_Name(value); + } + static inline bool SnapshotFormat_Parse(const ::std::string& name, + SnapshotFormat* value) { + return SolverParameter_SnapshotFormat_Parse(name, value); + } + typedef SolverParameter_SolverMode SolverMode; static const SolverMode CPU = SolverParameter_SolverMode_CPU; @@ -2333,6 +2348,12 @@ class SolverParameter : public ::google::protobuf::Message /* @@protoc_insertion SolverParameter_SolverType_NESTEROV; static const SolverType ADAGRAD = SolverParameter_SolverType_ADAGRAD; + static const SolverType RMSPROP = + SolverParameter_SolverType_RMSPROP; + static const SolverType ADADELTA = + SolverParameter_SolverType_ADADELTA; + static const SolverType ADAM = + SolverParameter_SolverType_ADAM; static inline bool SolverType_IsValid(int value) { return SolverParameter_SolverType_IsValid(value); } @@ -2619,6 +2640,13 @@ class SolverParameter : public ::google::protobuf::Message /* @@protoc_insertion bool snapshot_diff() const; void set_snapshot_diff(bool value); + // optional .caffe.SolverParameter.SnapshotFormat snapshot_format = 37 [default = BINARYPROTO]; + bool has_snapshot_format() const; + void clear_snapshot_format(); + static const int kSnapshotFormatFieldNumber = 37; + ::caffe::SolverParameter_SnapshotFormat snapshot_format() const; + void set_snapshot_format(::caffe::SolverParameter_SnapshotFormat value); + // optional .caffe.SolverParameter.SolverMode solver_mode = 17 [default = GPU]; bool has_solver_mode() const; void clear_solver_mode(); @@ -2640,12 +2668,17 @@ class SolverParameter : public ::google::protobuf::Message /* @@protoc_insertion ::google::protobuf::int64 random_seed() const; void set_random_seed(::google::protobuf::int64 value); - // optional .caffe.SolverParameter.SolverType solver_type = 30 [default = SGD]; - bool has_solver_type() const; - void clear_solver_type(); - static const int kSolverTypeFieldNumber = 30; - ::caffe::SolverParameter_SolverType solver_type() const; - void set_solver_type(::caffe::SolverParameter_SolverType value); + // optional string type = 40 [default = "SGD"]; + bool has_type() const; + void clear_type(); + static const int kTypeFieldNumber = 40; + const ::std::string& type() const; + void set_type(const ::std::string& value); + void set_type(const char* value); + void set_type(const char* value, size_t size); + ::std::string* mutable_type(); + ::std::string* release_type(); + void set_allocated_type(::std::string* type); // optional float delta = 31 [default = 1e-08]; bool has_delta() const; @@ -2654,6 +2687,20 @@ class SolverParameter : public ::google::protobuf::Message /* @@protoc_insertion float delta() const; void set_delta(float value); + // optional float momentum2 = 39 [default = 0.999]; + bool has_momentum2() const; + void clear_momentum2(); + static const int kMomentum2FieldNumber = 39; + float momentum2() const; + void set_momentum2(float value); + + // optional float rms_decay = 38 [default = 0.99]; + bool has_rms_decay() const; + void clear_rms_decay(); + static const int kRmsDecayFieldNumber = 38; + float rms_decay() const; + void set_rms_decay(float value); + // optional bool debug_info = 23 [default = false]; bool has_debug_info() const; void clear_debug_info(); @@ -2668,6 +2715,13 @@ class SolverParameter : public ::google::protobuf::Message /* @@protoc_insertion bool snapshot_after_train() const; void set_snapshot_after_train(bool value); + // optional .caffe.SolverParameter.SolverType solver_type = 30 [default = SGD]; + bool has_solver_type() const; + void clear_solver_type(); + static const int kSolverTypeFieldNumber = 30; + ::caffe::SolverParameter_SolverType solver_type() const; + void set_solver_type(::caffe::SolverParameter_SolverType value); + // @@protoc_insertion_point(class_scope:caffe.SolverParameter) private: inline void set_has_net(); @@ -2718,20 +2772,28 @@ class SolverParameter : public ::google::protobuf::Message /* @@protoc_insertion inline void clear_has_snapshot_prefix(); inline void set_has_snapshot_diff(); inline void clear_has_snapshot_diff(); + inline void set_has_snapshot_format(); + inline void clear_has_snapshot_format(); inline void set_has_solver_mode(); inline void clear_has_solver_mode(); inline void set_has_device_id(); inline void clear_has_device_id(); inline void set_has_random_seed(); inline void clear_has_random_seed(); - inline void set_has_solver_type(); - inline void clear_has_solver_type(); + inline void set_has_type(); + inline void clear_has_type(); inline void set_has_delta(); inline void clear_has_delta(); + inline void set_has_momentum2(); + inline void clear_has_momentum2(); + inline void set_has_rms_decay(); + inline void clear_has_rms_decay(); inline void set_has_debug_info(); inline void clear_has_debug_info(); inline void set_has_snapshot_after_train(); inline void clear_has_snapshot_after_train(); + inline void set_has_solver_type(); + inline void clear_has_solver_type(); ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; ::google::protobuf::internal::HasBits<2> _has_bits_; @@ -2746,6 +2808,8 @@ class SolverParameter : public ::google::protobuf::Message /* @@protoc_insertion static ::std::string* _default_regularization_type_; ::google::protobuf::internal::ArenaStringPtr regularization_type_; ::google::protobuf::internal::ArenaStringPtr snapshot_prefix_; + static ::std::string* _default_type_; + ::google::protobuf::internal::ArenaStringPtr type_; ::caffe::NetParameter* net_param_; ::caffe::NetParameter* train_net_param_; ::caffe::NetState* train_state_; @@ -2764,14 +2828,17 @@ class SolverParameter : public ::google::protobuf::Message /* @@protoc_insertion ::google::protobuf::int32 snapshot_; ::google::protobuf::int32 device_id_; int solver_type_; + float rms_decay_; ::google::protobuf::int32 average_loss_; ::google::protobuf::int32 iter_size_; bool test_initialization_; bool snapshot_after_train_; float clip_gradients_; - ::google::protobuf::int64 random_seed_; + int snapshot_format_; int solver_mode_; + ::google::protobuf::int64 random_seed_; float delta_; + float momentum2_; mutable int _cached_size_; friend void protobuf_InitDefaults_caffe_2eproto_impl(); friend void protobuf_AddDesc_caffe_2eproto_impl(); @@ -3598,6 +3665,24 @@ class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_ ::caffe::ArgMaxParameter* release_argmax_param(); void set_allocated_argmax_param(::caffe::ArgMaxParameter* argmax_param); + // optional .caffe.BatchNormParameter batch_norm_param = 139; + bool has_batch_norm_param() const; + void clear_batch_norm_param(); + static const int kBatchNormParamFieldNumber = 139; + const ::caffe::BatchNormParameter& batch_norm_param() const; + ::caffe::BatchNormParameter* mutable_batch_norm_param(); + ::caffe::BatchNormParameter* release_batch_norm_param(); + void set_allocated_batch_norm_param(::caffe::BatchNormParameter* batch_norm_param); + + // optional .caffe.BiasParameter bias_param = 141; + bool has_bias_param() const; + void clear_bias_param(); + static const int kBiasParamFieldNumber = 141; + const ::caffe::BiasParameter& bias_param() const; + ::caffe::BiasParameter* mutable_bias_param(); + ::caffe::BiasParameter* release_bias_param(); + void set_allocated_bias_param(::caffe::BiasParameter* bias_param); + // optional .caffe.ConcatParameter concat_param = 104; bool has_concat_param() const; void clear_concat_param(); @@ -3625,10 +3710,10 @@ class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_ ::caffe::ConvolutionParameter* release_convolution_param(); void set_allocated_convolution_param(::caffe::ConvolutionParameter* convolution_param); - // optional .caffe.CropParameter crop_param = 137; + // optional .caffe.CropParameter crop_param = 144; bool has_crop_param() const; void clear_crop_param(); - static const int kCropParamFieldNumber = 137; + static const int kCropParamFieldNumber = 144; const ::caffe::CropParameter& crop_param() const; ::caffe::CropParameter* mutable_crop_param(); ::caffe::CropParameter* release_crop_param(); @@ -3643,10 +3728,10 @@ class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_ ::caffe::DataParameter* release_data_param(); void set_allocated_data_param(::caffe::DataParameter* data_param); - // optional .caffe.DetectionOutputParameter detection_output_param = 141; + // optional .caffe.DetectionOutputParameter detection_output_param = 147; bool has_detection_output_param() const; void clear_detection_output_param(); - static const int kDetectionOutputParamFieldNumber = 141; + static const int kDetectionOutputParamFieldNumber = 147; const ::caffe::DetectionOutputParameter& detection_output_param() const; ::caffe::DetectionOutputParameter* mutable_detection_output_param(); ::caffe::DetectionOutputParameter* release_detection_output_param(); @@ -3679,6 +3764,24 @@ class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_ ::caffe::EltwiseParameter* release_eltwise_param(); void set_allocated_eltwise_param(::caffe::EltwiseParameter* eltwise_param); + // optional .caffe.ELUParameter elu_param = 140; + bool has_elu_param() const; + void clear_elu_param(); + static const int kEluParamFieldNumber = 140; + const ::caffe::ELUParameter& elu_param() const; + ::caffe::ELUParameter* mutable_elu_param(); + ::caffe::ELUParameter* release_elu_param(); + void set_allocated_elu_param(::caffe::ELUParameter* elu_param); + + // optional .caffe.EmbedParameter embed_param = 137; + bool has_embed_param() const; + void clear_embed_param(); + static const int kEmbedParamFieldNumber = 137; + const ::caffe::EmbedParameter& embed_param() const; + ::caffe::EmbedParameter* mutable_embed_param(); + ::caffe::EmbedParameter* release_embed_param(); + void set_allocated_embed_param(::caffe::EmbedParameter* embed_param); + // optional .caffe.ExpParameter exp_param = 111; bool has_exp_param() const; void clear_exp_param(); @@ -3751,6 +3854,15 @@ class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_ ::caffe::InnerProductParameter* release_inner_product_param(); void set_allocated_inner_product_param(::caffe::InnerProductParameter* inner_product_param); + // optional .caffe.InputParameter input_param = 143; + bool has_input_param() const; + void clear_input_param(); + static const int kInputParamFieldNumber = 143; + const ::caffe::InputParameter& input_param() const; + ::caffe::InputParameter* mutable_input_param(); + ::caffe::InputParameter* release_input_param(); + void set_allocated_input_param(::caffe::InputParameter* input_param); + // optional .caffe.LogParameter log_param = 134; bool has_log_param() const; void clear_log_param(); @@ -3787,24 +3899,33 @@ class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_ ::caffe::MVNParameter* release_mvn_param(); void set_allocated_mvn_param(::caffe::MVNParameter* mvn_param); - // optional .caffe.NormalizeBBoxParameter normalize_bbox_param = 139; + // optional .caffe.NormalizeBBoxParameter normalize_bbox_param = 149; bool has_normalize_bbox_param() const; void clear_normalize_bbox_param(); - static const int kNormalizeBboxParamFieldNumber = 139; + static const int kNormalizeBboxParamFieldNumber = 149; const ::caffe::NormalizeBBoxParameter& normalize_bbox_param() const; ::caffe::NormalizeBBoxParameter* mutable_normalize_bbox_param(); ::caffe::NormalizeBBoxParameter* release_normalize_bbox_param(); void set_allocated_normalize_bbox_param(::caffe::NormalizeBBoxParameter* normalize_bbox_param); - // optional .caffe.PermuteParameter permute_param = 138; + // optional .caffe.PermuteParameter permute_param = 148; bool has_permute_param() const; void clear_permute_param(); - static const int kPermuteParamFieldNumber = 138; + static const int kPermuteParamFieldNumber = 148; const ::caffe::PermuteParameter& permute_param() const; ::caffe::PermuteParameter* mutable_permute_param(); ::caffe::PermuteParameter* release_permute_param(); void set_allocated_permute_param(::caffe::PermuteParameter* permute_param); + // optional .caffe.ParameterParameter parameter_param = 145; + bool has_parameter_param() const; + void clear_parameter_param(); + static const int kParameterParamFieldNumber = 145; + const ::caffe::ParameterParameter& parameter_param() const; + ::caffe::ParameterParameter* mutable_parameter_param(); + ::caffe::ParameterParameter* release_parameter_param(); + void set_allocated_parameter_param(::caffe::ParameterParameter* parameter_param); + // optional .caffe.PoolingParameter pooling_param = 121; bool has_pooling_param() const; void clear_pooling_param(); @@ -3832,10 +3953,10 @@ class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_ ::caffe::PReLUParameter* release_prelu_param(); void set_allocated_prelu_param(::caffe::PReLUParameter* prelu_param); - // optional .caffe.PriorBoxParameter prior_box_param = 140; + // optional .caffe.PriorBoxParameter prior_box_param = 150; bool has_prior_box_param() const; void clear_prior_box_param(); - static const int kPriorBoxParamFieldNumber = 140; + static const int kPriorBoxParamFieldNumber = 150; const ::caffe::PriorBoxParameter& prior_box_param() const; ::caffe::PriorBoxParameter* mutable_prior_box_param(); ::caffe::PriorBoxParameter* release_prior_box_param(); @@ -3850,6 +3971,15 @@ class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_ ::caffe::PythonParameter* release_python_param(); void set_allocated_python_param(::caffe::PythonParameter* python_param); + // optional .caffe.RecurrentParameter recurrent_param = 146; + bool has_recurrent_param() const; + void clear_recurrent_param(); + static const int kRecurrentParamFieldNumber = 146; + const ::caffe::RecurrentParameter& recurrent_param() const; + ::caffe::RecurrentParameter* mutable_recurrent_param(); + ::caffe::RecurrentParameter* release_recurrent_param(); + void set_allocated_recurrent_param(::caffe::RecurrentParameter* recurrent_param); + // optional .caffe.ReductionParameter reduction_param = 136; bool has_reduction_param() const; void clear_reduction_param(); @@ -3877,6 +4007,15 @@ class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_ ::caffe::ReshapeParameter* release_reshape_param(); void set_allocated_reshape_param(::caffe::ReshapeParameter* reshape_param); + // optional .caffe.ScaleParameter scale_param = 142; + bool has_scale_param() const; + void clear_scale_param(); + static const int kScaleParamFieldNumber = 142; + const ::caffe::ScaleParameter& scale_param() const; + ::caffe::ScaleParameter* mutable_scale_param(); + ::caffe::ScaleParameter* release_scale_param(); + void set_allocated_scale_param(::caffe::ScaleParameter* scale_param); + // optional .caffe.SigmoidParameter sigmoid_param = 124; bool has_sigmoid_param() const; void clear_sigmoid_param(); @@ -3886,15 +4025,6 @@ class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_ ::caffe::SigmoidParameter* release_sigmoid_param(); void set_allocated_sigmoid_param(::caffe::SigmoidParameter* sigmoid_param); - // optional .caffe.SliceParameter slice_param = 126; - bool has_slice_param() const; - void clear_slice_param(); - static const int kSliceParamFieldNumber = 126; - const ::caffe::SliceParameter& slice_param() const; - ::caffe::SliceParameter* mutable_slice_param(); - ::caffe::SliceParameter* release_slice_param(); - void set_allocated_slice_param(::caffe::SliceParameter* slice_param); - // optional .caffe.SoftmaxParameter softmax_param = 125; bool has_softmax_param() const; void clear_softmax_param(); @@ -3913,6 +4043,15 @@ class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_ ::caffe::SPPParameter* release_spp_param(); void set_allocated_spp_param(::caffe::SPPParameter* spp_param); + // optional .caffe.SliceParameter slice_param = 126; + bool has_slice_param() const; + void clear_slice_param(); + static const int kSliceParamFieldNumber = 126; + const ::caffe::SliceParameter& slice_param() const; + ::caffe::SliceParameter* mutable_slice_param(); + ::caffe::SliceParameter* release_slice_param(); + void set_allocated_slice_param(::caffe::SliceParameter* slice_param); + // optional .caffe.TanHParameter tanh_param = 127; bool has_tanh_param() const; void clear_tanh_param(); @@ -3931,6 +4070,15 @@ class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_ ::caffe::ThresholdParameter* release_threshold_param(); void set_allocated_threshold_param(::caffe::ThresholdParameter* threshold_param); + // optional .caffe.TileParameter tile_param = 138; + bool has_tile_param() const; + void clear_tile_param(); + static const int kTileParamFieldNumber = 138; + const ::caffe::TileParameter& tile_param() const; + ::caffe::TileParameter* mutable_tile_param(); + ::caffe::TileParameter* release_tile_param(); + void set_allocated_tile_param(::caffe::TileParameter* tile_param); + // optional .caffe.WindowDataParameter window_data_param = 129; bool has_window_data_param() const; void clear_window_data_param(); @@ -3956,6 +4104,10 @@ class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_ inline void clear_has_accuracy_param(); inline void set_has_argmax_param(); inline void clear_has_argmax_param(); + inline void set_has_batch_norm_param(); + inline void clear_has_batch_norm_param(); + inline void set_has_bias_param(); + inline void clear_has_bias_param(); inline void set_has_concat_param(); inline void clear_has_concat_param(); inline void set_has_contrastive_loss_param(); @@ -3974,6 +4126,10 @@ class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_ inline void clear_has_dummy_data_param(); inline void set_has_eltwise_param(); inline void clear_has_eltwise_param(); + inline void set_has_elu_param(); + inline void clear_has_elu_param(); + inline void set_has_embed_param(); + inline void clear_has_embed_param(); inline void set_has_exp_param(); inline void clear_has_exp_param(); inline void set_has_flatten_param(); @@ -3990,6 +4146,8 @@ class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_ inline void clear_has_infogain_loss_param(); inline void set_has_inner_product_param(); inline void clear_has_inner_product_param(); + inline void set_has_input_param(); + inline void clear_has_input_param(); inline void set_has_log_param(); inline void clear_has_log_param(); inline void set_has_lrn_param(); @@ -4002,6 +4160,8 @@ class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_ inline void clear_has_normalize_bbox_param(); inline void set_has_permute_param(); inline void clear_has_permute_param(); + inline void set_has_parameter_param(); + inline void clear_has_parameter_param(); inline void set_has_pooling_param(); inline void clear_has_pooling_param(); inline void set_has_power_param(); @@ -4012,24 +4172,30 @@ class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_ inline void clear_has_prior_box_param(); inline void set_has_python_param(); inline void clear_has_python_param(); + inline void set_has_recurrent_param(); + inline void clear_has_recurrent_param(); inline void set_has_reduction_param(); inline void clear_has_reduction_param(); inline void set_has_relu_param(); inline void clear_has_relu_param(); inline void set_has_reshape_param(); inline void clear_has_reshape_param(); + inline void set_has_scale_param(); + inline void clear_has_scale_param(); inline void set_has_sigmoid_param(); inline void clear_has_sigmoid_param(); - inline void set_has_slice_param(); - inline void clear_has_slice_param(); inline void set_has_softmax_param(); inline void clear_has_softmax_param(); inline void set_has_spp_param(); inline void clear_has_spp_param(); + inline void set_has_slice_param(); + inline void clear_has_slice_param(); inline void set_has_tanh_param(); inline void clear_has_tanh_param(); inline void set_has_threshold_param(); inline void clear_has_threshold_param(); + inline void set_has_tile_param(); + inline void clear_has_tile_param(); inline void set_has_window_data_param(); inline void clear_has_window_data_param(); @@ -4049,6 +4215,8 @@ class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_ ::caffe::LossParameter* loss_param_; ::caffe::AccuracyParameter* accuracy_param_; ::caffe::ArgMaxParameter* argmax_param_; + ::caffe::BatchNormParameter* batch_norm_param_; + ::caffe::BiasParameter* bias_param_; ::caffe::ConcatParameter* concat_param_; ::caffe::ContrastiveLossParameter* contrastive_loss_param_; ::caffe::ConvolutionParameter* convolution_param_; @@ -4058,6 +4226,8 @@ class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_ ::caffe::DropoutParameter* dropout_param_; ::caffe::DummyDataParameter* dummy_data_param_; ::caffe::EltwiseParameter* eltwise_param_; + ::caffe::ELUParameter* elu_param_; + ::caffe::EmbedParameter* embed_param_; ::caffe::ExpParameter* exp_param_; ::caffe::FlattenParameter* flatten_param_; ::caffe::HDF5DataParameter* hdf5_data_param_; @@ -4066,26 +4236,31 @@ class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_ ::caffe::ImageDataParameter* image_data_param_; ::caffe::InfogainLossParameter* infogain_loss_param_; ::caffe::InnerProductParameter* inner_product_param_; + ::caffe::InputParameter* input_param_; ::caffe::LogParameter* log_param_; ::caffe::LRNParameter* lrn_param_; ::caffe::MemoryDataParameter* memory_data_param_; ::caffe::MVNParameter* mvn_param_; ::caffe::NormalizeBBoxParameter* normalize_bbox_param_; ::caffe::PermuteParameter* permute_param_; + ::caffe::ParameterParameter* parameter_param_; ::caffe::PoolingParameter* pooling_param_; ::caffe::PowerParameter* power_param_; ::caffe::PReLUParameter* prelu_param_; ::caffe::PriorBoxParameter* prior_box_param_; ::caffe::PythonParameter* python_param_; + ::caffe::RecurrentParameter* recurrent_param_; ::caffe::ReductionParameter* reduction_param_; ::caffe::ReLUParameter* relu_param_; ::caffe::ReshapeParameter* reshape_param_; + ::caffe::ScaleParameter* scale_param_; ::caffe::SigmoidParameter* sigmoid_param_; - ::caffe::SliceParameter* slice_param_; ::caffe::SoftmaxParameter* softmax_param_; ::caffe::SPPParameter* spp_param_; + ::caffe::SliceParameter* slice_param_; ::caffe::TanHParameter* tanh_param_; ::caffe::ThresholdParameter* threshold_param_; + ::caffe::TileParameter* tile_param_; ::caffe::WindowDataParameter* window_data_param_; int phase_; mutable int _cached_size_; @@ -4335,6 +4510,36 @@ class LossParameter : public ::google::protobuf::Message /* @@protoc_insertion_p // nested types ---------------------------------------------------- + typedef LossParameter_NormalizationMode NormalizationMode; + static const NormalizationMode FULL = + LossParameter_NormalizationMode_FULL; + static const NormalizationMode VALID = + LossParameter_NormalizationMode_VALID; + static const NormalizationMode BATCH_SIZE = + LossParameter_NormalizationMode_BATCH_SIZE; + static const NormalizationMode NONE = + LossParameter_NormalizationMode_NONE; + static inline bool NormalizationMode_IsValid(int value) { + return LossParameter_NormalizationMode_IsValid(value); + } + static const NormalizationMode NormalizationMode_MIN = + LossParameter_NormalizationMode_NormalizationMode_MIN; + static const NormalizationMode NormalizationMode_MAX = + LossParameter_NormalizationMode_NormalizationMode_MAX; + static const int NormalizationMode_ARRAYSIZE = + LossParameter_NormalizationMode_NormalizationMode_ARRAYSIZE; + static inline const ::google::protobuf::EnumDescriptor* + NormalizationMode_descriptor() { + return LossParameter_NormalizationMode_descriptor(); + } + static inline const ::std::string& NormalizationMode_Name(NormalizationMode value) { + return LossParameter_NormalizationMode_Name(value); + } + static inline bool NormalizationMode_Parse(const ::std::string& name, + NormalizationMode* value) { + return LossParameter_NormalizationMode_Parse(name, value); + } + // accessors ------------------------------------------------------- // optional int32 ignore_label = 1; @@ -4344,7 +4549,14 @@ class LossParameter : public ::google::protobuf::Message /* @@protoc_insertion_p ::google::protobuf::int32 ignore_label() const; void set_ignore_label(::google::protobuf::int32 value); - // optional bool normalize = 2 [default = true]; + // optional .caffe.LossParameter.NormalizationMode normalization = 3 [default = VALID]; + bool has_normalization() const; + void clear_normalization(); + static const int kNormalizationFieldNumber = 3; + ::caffe::LossParameter_NormalizationMode normalization() const; + void set_normalization(::caffe::LossParameter_NormalizationMode value); + + // optional bool normalize = 2; bool has_normalize() const; void clear_normalize(); static const int kNormalizeFieldNumber = 2; @@ -4355,6 +4567,8 @@ class LossParameter : public ::google::protobuf::Message /* @@protoc_insertion_p private: inline void set_has_ignore_label(); inline void clear_has_ignore_label(); + inline void set_has_normalization(); + inline void clear_has_normalization(); inline void set_has_normalize(); inline void clear_has_normalize(); @@ -4363,6 +4577,7 @@ class LossParameter : public ::google::protobuf::Message /* @@protoc_insertion_p mutable int _cached_size_; ::google::protobuf::int32 ignore_label_; bool normalize_; + int normalization_; friend void protobuf_InitDefaults_caffe_2eproto_impl(); friend void protobuf_AddDesc_caffe_2eproto_impl(); friend void protobuf_AssignDesc_caffe_2eproto(); @@ -4577,17 +4792,27 @@ class ArgMaxParameter : public ::google::protobuf::Message /* @@protoc_insertion ::google::protobuf::uint32 top_k() const; void set_top_k(::google::protobuf::uint32 value); + // optional int32 axis = 3; + bool has_axis() const; + void clear_axis(); + static const int kAxisFieldNumber = 3; + ::google::protobuf::int32 axis() const; + void set_axis(::google::protobuf::int32 value); + // @@protoc_insertion_point(class_scope:caffe.ArgMaxParameter) private: inline void set_has_out_max_val(); inline void clear_has_out_max_val(); inline void set_has_top_k(); inline void clear_has_top_k(); + inline void set_has_axis(); + inline void clear_has_axis(); ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; ::google::protobuf::internal::HasBits<1> _has_bits_; mutable int _cached_size_; bool out_max_val_; + ::google::protobuf::int32 axis_; ::google::protobuf::uint32 top_k_; friend void protobuf_InitDefaults_caffe_2eproto_impl(); friend void protobuf_AddDesc_caffe_2eproto_impl(); @@ -4708,14 +4933,14 @@ extern ::google::protobuf::internal::ExplicitlyConstructed Conc // ------------------------------------------------------------------- -class ContrastiveLossParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:caffe.ContrastiveLossParameter) */ { +class BatchNormParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:caffe.BatchNormParameter) */ { public: - ContrastiveLossParameter(); - virtual ~ContrastiveLossParameter(); + BatchNormParameter(); + virtual ~BatchNormParameter(); - ContrastiveLossParameter(const ContrastiveLossParameter& from); + BatchNormParameter(const BatchNormParameter& from); - inline ContrastiveLossParameter& operator=(const ContrastiveLossParameter& from) { + inline BatchNormParameter& operator=(const BatchNormParameter& from) { CopyFrom(from); return *this; } @@ -4729,21 +4954,21 @@ class ContrastiveLossParameter : public ::google::protobuf::Message /* @@protoc_ } static const ::google::protobuf::Descriptor* descriptor(); - static const ContrastiveLossParameter& default_instance(); + static const BatchNormParameter& default_instance(); - static const ContrastiveLossParameter* internal_default_instance(); + static const BatchNormParameter* internal_default_instance(); - void Swap(ContrastiveLossParameter* other); + void Swap(BatchNormParameter* other); // implements Message ---------------------------------------------- - inline ContrastiveLossParameter* New() const { return New(NULL); } + inline BatchNormParameter* New() const { return New(NULL); } - ContrastiveLossParameter* New(::google::protobuf::Arena* arena) const; + BatchNormParameter* New(::google::protobuf::Arena* arena) const; void CopyFrom(const ::google::protobuf::Message& from); void MergeFrom(const ::google::protobuf::Message& from); - void CopyFrom(const ContrastiveLossParameter& from); - void MergeFrom(const ContrastiveLossParameter& from); + void CopyFrom(const BatchNormParameter& from); + void MergeFrom(const BatchNormParameter& from); void Clear(); bool IsInitialized() const; @@ -4762,8 +4987,8 @@ class ContrastiveLossParameter : public ::google::protobuf::Message /* @@protoc_ void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const; - void InternalSwap(ContrastiveLossParameter* other); - void UnsafeMergeFrom(const ContrastiveLossParameter& from); + void InternalSwap(BatchNormParameter* other); + void UnsafeMergeFrom(const BatchNormParameter& from); private: inline ::google::protobuf::Arena* GetArenaNoVirtual() const { return _internal_metadata_.arena(); @@ -4779,32 +5004,42 @@ class ContrastiveLossParameter : public ::google::protobuf::Message /* @@protoc_ // accessors ------------------------------------------------------- - // optional float margin = 1 [default = 1]; - bool has_margin() const; - void clear_margin(); - static const int kMarginFieldNumber = 1; - float margin() const; - void set_margin(float value); - - // optional bool legacy_version = 2 [default = false]; - bool has_legacy_version() const; - void clear_legacy_version(); - static const int kLegacyVersionFieldNumber = 2; - bool legacy_version() const; - void set_legacy_version(bool value); + // optional bool use_global_stats = 1; + bool has_use_global_stats() const; + void clear_use_global_stats(); + static const int kUseGlobalStatsFieldNumber = 1; + bool use_global_stats() const; + void set_use_global_stats(bool value); + + // optional float moving_average_fraction = 2 [default = 0.999]; + bool has_moving_average_fraction() const; + void clear_moving_average_fraction(); + static const int kMovingAverageFractionFieldNumber = 2; + float moving_average_fraction() const; + void set_moving_average_fraction(float value); + + // optional float eps = 3 [default = 1e-05]; + bool has_eps() const; + void clear_eps(); + static const int kEpsFieldNumber = 3; + float eps() const; + void set_eps(float value); - // @@protoc_insertion_point(class_scope:caffe.ContrastiveLossParameter) + // @@protoc_insertion_point(class_scope:caffe.BatchNormParameter) private: - inline void set_has_margin(); - inline void clear_has_margin(); - inline void set_has_legacy_version(); - inline void clear_has_legacy_version(); + inline void set_has_use_global_stats(); + inline void clear_has_use_global_stats(); + inline void set_has_moving_average_fraction(); + inline void clear_has_moving_average_fraction(); + inline void set_has_eps(); + inline void clear_has_eps(); ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; ::google::protobuf::internal::HasBits<1> _has_bits_; mutable int _cached_size_; - bool legacy_version_; - float margin_; + bool use_global_stats_; + float moving_average_fraction_; + float eps_; friend void protobuf_InitDefaults_caffe_2eproto_impl(); friend void protobuf_AddDesc_caffe_2eproto_impl(); friend void protobuf_AssignDesc_caffe_2eproto(); @@ -4812,7 +5047,235 @@ class ContrastiveLossParameter : public ::google::protobuf::Message /* @@protoc_ void InitAsDefaultInstance(); }; -extern ::google::protobuf::internal::ExplicitlyConstructed ContrastiveLossParameter_default_instance_; +extern ::google::protobuf::internal::ExplicitlyConstructed BatchNormParameter_default_instance_; + +// ------------------------------------------------------------------- + +class BiasParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:caffe.BiasParameter) */ { + public: + BiasParameter(); + virtual ~BiasParameter(); + + BiasParameter(const BiasParameter& from); + + inline BiasParameter& operator=(const BiasParameter& from) { + CopyFrom(from); + return *this; + } + + 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 BiasParameter& default_instance(); + + static const BiasParameter* internal_default_instance(); + + void Swap(BiasParameter* other); + + // implements Message ---------------------------------------------- + + inline BiasParameter* New() const { return New(NULL); } + + BiasParameter* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const BiasParameter& from); + void MergeFrom(const BiasParameter& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(BiasParameter* other); + void UnsafeMergeFrom(const BiasParameter& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional int32 axis = 1 [default = 1]; + bool has_axis() const; + void clear_axis(); + static const int kAxisFieldNumber = 1; + ::google::protobuf::int32 axis() const; + void set_axis(::google::protobuf::int32 value); + + // optional int32 num_axes = 2 [default = 1]; + bool has_num_axes() const; + void clear_num_axes(); + static const int kNumAxesFieldNumber = 2; + ::google::protobuf::int32 num_axes() const; + void set_num_axes(::google::protobuf::int32 value); + + // optional .caffe.FillerParameter filler = 3; + bool has_filler() const; + void clear_filler(); + static const int kFillerFieldNumber = 3; + const ::caffe::FillerParameter& filler() const; + ::caffe::FillerParameter* mutable_filler(); + ::caffe::FillerParameter* release_filler(); + void set_allocated_filler(::caffe::FillerParameter* filler); + + // @@protoc_insertion_point(class_scope:caffe.BiasParameter) + private: + inline void set_has_axis(); + inline void clear_has_axis(); + inline void set_has_num_axes(); + inline void clear_has_num_axes(); + inline void set_has_filler(); + inline void clear_has_filler(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::caffe::FillerParameter* filler_; + ::google::protobuf::int32 axis_; + ::google::protobuf::int32 num_axes_; + friend void protobuf_InitDefaults_caffe_2eproto_impl(); + friend void protobuf_AddDesc_caffe_2eproto_impl(); + friend void protobuf_AssignDesc_caffe_2eproto(); + friend void protobuf_ShutdownFile_caffe_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed BiasParameter_default_instance_; + +// ------------------------------------------------------------------- + +class ContrastiveLossParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:caffe.ContrastiveLossParameter) */ { + public: + ContrastiveLossParameter(); + virtual ~ContrastiveLossParameter(); + + ContrastiveLossParameter(const ContrastiveLossParameter& from); + + inline ContrastiveLossParameter& operator=(const ContrastiveLossParameter& from) { + CopyFrom(from); + return *this; + } + + 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 ContrastiveLossParameter& default_instance(); + + static const ContrastiveLossParameter* internal_default_instance(); + + void Swap(ContrastiveLossParameter* other); + + // implements Message ---------------------------------------------- + + inline ContrastiveLossParameter* New() const { return New(NULL); } + + ContrastiveLossParameter* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const ContrastiveLossParameter& from); + void MergeFrom(const ContrastiveLossParameter& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(ContrastiveLossParameter* other); + void UnsafeMergeFrom(const ContrastiveLossParameter& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional float margin = 1 [default = 1]; + bool has_margin() const; + void clear_margin(); + static const int kMarginFieldNumber = 1; + float margin() const; + void set_margin(float value); + + // optional bool legacy_version = 2 [default = false]; + bool has_legacy_version() const; + void clear_legacy_version(); + static const int kLegacyVersionFieldNumber = 2; + bool legacy_version() const; + void set_legacy_version(bool value); + + // @@protoc_insertion_point(class_scope:caffe.ContrastiveLossParameter) + private: + inline void set_has_margin(); + inline void clear_has_margin(); + inline void set_has_legacy_version(); + inline void clear_has_legacy_version(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + bool legacy_version_; + float margin_; + friend void protobuf_InitDefaults_caffe_2eproto_impl(); + friend void protobuf_AddDesc_caffe_2eproto_impl(); + friend void protobuf_AssignDesc_caffe_2eproto(); + friend void protobuf_ShutdownFile_caffe_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed ContrastiveLossParameter_default_instance_; // ------------------------------------------------------------------- @@ -4929,12 +5392,53 @@ class ConvolutionParameter : public ::google::protobuf::Message /* @@protoc_inse bool bias_term() const; void set_bias_term(bool value); - // optional uint32 pad = 3 [default = 0]; - bool has_pad() const; + // repeated uint32 pad = 3; + int pad_size() const; void clear_pad(); static const int kPadFieldNumber = 3; - ::google::protobuf::uint32 pad() const; - void set_pad(::google::protobuf::uint32 value); + ::google::protobuf::uint32 pad(int index) const; + void set_pad(int index, ::google::protobuf::uint32 value); + void add_pad(::google::protobuf::uint32 value); + const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& + pad() const; + ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* + mutable_pad(); + + // repeated uint32 kernel_size = 4; + int kernel_size_size() const; + void clear_kernel_size(); + static const int kKernelSizeFieldNumber = 4; + ::google::protobuf::uint32 kernel_size(int index) const; + void set_kernel_size(int index, ::google::protobuf::uint32 value); + void add_kernel_size(::google::protobuf::uint32 value); + const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& + kernel_size() const; + ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* + mutable_kernel_size(); + + // repeated uint32 stride = 6; + int stride_size() const; + void clear_stride(); + static const int kStrideFieldNumber = 6; + ::google::protobuf::uint32 stride(int index) const; + void set_stride(int index, ::google::protobuf::uint32 value); + void add_stride(::google::protobuf::uint32 value); + const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& + stride() const; + ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* + mutable_stride(); + + // repeated uint32 dilation = 18; + int dilation_size() const; + void clear_dilation(); + static const int kDilationFieldNumber = 18; + ::google::protobuf::uint32 dilation(int index) const; + void set_dilation(int index, ::google::protobuf::uint32 value); + void add_dilation(::google::protobuf::uint32 value); + const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& + dilation() const; + ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* + mutable_dilation(); // optional uint32 pad_h = 9 [default = 0]; bool has_pad_h() const; @@ -4950,13 +5454,6 @@ class ConvolutionParameter : public ::google::protobuf::Message /* @@protoc_inse ::google::protobuf::uint32 pad_w() const; void set_pad_w(::google::protobuf::uint32 value); - // optional uint32 kernel_size = 4; - bool has_kernel_size() const; - void clear_kernel_size(); - static const int kKernelSizeFieldNumber = 4; - ::google::protobuf::uint32 kernel_size() const; - void set_kernel_size(::google::protobuf::uint32 value); - // optional uint32 kernel_h = 11; bool has_kernel_h() const; void clear_kernel_h(); @@ -4971,20 +5468,6 @@ class ConvolutionParameter : public ::google::protobuf::Message /* @@protoc_inse ::google::protobuf::uint32 kernel_w() const; void set_kernel_w(::google::protobuf::uint32 value); - // optional uint32 group = 5 [default = 1]; - bool has_group() const; - void clear_group(); - static const int kGroupFieldNumber = 5; - ::google::protobuf::uint32 group() const; - void set_group(::google::protobuf::uint32 value); - - // optional uint32 stride = 6 [default = 1]; - bool has_stride() const; - void clear_stride(); - static const int kStrideFieldNumber = 6; - ::google::protobuf::uint32 stride() const; - void set_stride(::google::protobuf::uint32 value); - // optional uint32 stride_h = 13; bool has_stride_h() const; void clear_stride_h(); @@ -4999,6 +5482,13 @@ class ConvolutionParameter : public ::google::protobuf::Message /* @@protoc_inse ::google::protobuf::uint32 stride_w() const; void set_stride_w(::google::protobuf::uint32 value); + // optional uint32 group = 5 [default = 1]; + bool has_group() const; + void clear_group(); + static const int kGroupFieldNumber = 5; + ::google::protobuf::uint32 group() const; + void set_group(::google::protobuf::uint32 value); + // optional .caffe.FillerParameter weight_filler = 7; bool has_weight_filler() const; void clear_weight_filler(); @@ -5024,26 +5514,19 @@ class ConvolutionParameter : public ::google::protobuf::Message /* @@protoc_inse ::caffe::ConvolutionParameter_Engine engine() const; void set_engine(::caffe::ConvolutionParameter_Engine value); - // optional uint32 dilation_h = 18; - bool has_dilation_h() const; - void clear_dilation_h(); - static const int kDilationHFieldNumber = 18; - ::google::protobuf::uint32 dilation_h() const; - void set_dilation_h(::google::protobuf::uint32 value); - - // optional uint32 dilation_w = 19; - bool has_dilation_w() const; - void clear_dilation_w(); - static const int kDilationWFieldNumber = 19; - ::google::protobuf::uint32 dilation_w() const; - void set_dilation_w(::google::protobuf::uint32 value); - - // optional uint32 dilation = 20; - bool has_dilation() const; - void clear_dilation(); - static const int kDilationFieldNumber = 20; - ::google::protobuf::uint32 dilation() const; - void set_dilation(::google::protobuf::uint32 value); + // optional int32 axis = 16 [default = 1]; + bool has_axis() const; + void clear_axis(); + static const int kAxisFieldNumber = 16; + ::google::protobuf::int32 axis() const; + void set_axis(::google::protobuf::int32 value); + + // optional bool force_nd_im2col = 17 [default = false]; + bool has_force_nd_im2col() const; + void clear_force_nd_im2col(); + static const int kForceNdIm2ColFieldNumber = 17; + bool force_nd_im2col() const; + void set_force_nd_im2col(bool value); // @@protoc_insertion_point(class_scope:caffe.ConvolutionParameter) private: @@ -5051,58 +5534,50 @@ class ConvolutionParameter : public ::google::protobuf::Message /* @@protoc_inse inline void clear_has_num_output(); inline void set_has_bias_term(); inline void clear_has_bias_term(); - inline void set_has_pad(); - inline void clear_has_pad(); inline void set_has_pad_h(); inline void clear_has_pad_h(); inline void set_has_pad_w(); inline void clear_has_pad_w(); - inline void set_has_kernel_size(); - inline void clear_has_kernel_size(); inline void set_has_kernel_h(); inline void clear_has_kernel_h(); inline void set_has_kernel_w(); inline void clear_has_kernel_w(); - inline void set_has_group(); - inline void clear_has_group(); - inline void set_has_stride(); - inline void clear_has_stride(); inline void set_has_stride_h(); inline void clear_has_stride_h(); inline void set_has_stride_w(); inline void clear_has_stride_w(); + inline void set_has_group(); + inline void clear_has_group(); inline void set_has_weight_filler(); inline void clear_has_weight_filler(); inline void set_has_bias_filler(); inline void clear_has_bias_filler(); inline void set_has_engine(); inline void clear_has_engine(); - inline void set_has_dilation_h(); - inline void clear_has_dilation_h(); - inline void set_has_dilation_w(); - inline void clear_has_dilation_w(); - inline void set_has_dilation(); - inline void clear_has_dilation(); + inline void set_has_axis(); + inline void clear_has_axis(); + inline void set_has_force_nd_im2col(); + inline void clear_has_force_nd_im2col(); ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; ::google::protobuf::internal::HasBits<1> _has_bits_; mutable int _cached_size_; + ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > pad_; + ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > kernel_size_; + ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > stride_; + ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > dilation_; ::caffe::FillerParameter* weight_filler_; ::caffe::FillerParameter* bias_filler_; ::google::protobuf::uint32 num_output_; - ::google::protobuf::uint32 pad_; ::google::protobuf::uint32 pad_h_; ::google::protobuf::uint32 pad_w_; - ::google::protobuf::uint32 kernel_size_; ::google::protobuf::uint32 kernel_h_; ::google::protobuf::uint32 kernel_w_; ::google::protobuf::uint32 stride_h_; ::google::protobuf::uint32 stride_w_; int engine_; - ::google::protobuf::uint32 dilation_h_; - ::google::protobuf::uint32 dilation_w_; - ::google::protobuf::uint32 dilation_; - ::google::protobuf::uint32 stride_; + bool force_nd_im2col_; + ::google::protobuf::int32 axis_; bool bias_term_; ::google::protobuf::uint32 group_; friend void protobuf_InitDefaults_caffe_2eproto_impl(); @@ -5112,7 +5587,118 @@ class ConvolutionParameter : public ::google::protobuf::Message /* @@protoc_inse void InitAsDefaultInstance(); }; -extern ::google::protobuf::internal::ExplicitlyConstructed ConvolutionParameter_default_instance_; +extern ::google::protobuf::internal::ExplicitlyConstructed ConvolutionParameter_default_instance_; + +// ------------------------------------------------------------------- + +class CropParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:caffe.CropParameter) */ { + public: + CropParameter(); + virtual ~CropParameter(); + + CropParameter(const CropParameter& from); + + inline CropParameter& operator=(const CropParameter& from) { + CopyFrom(from); + return *this; + } + + 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 CropParameter& default_instance(); + + static const CropParameter* internal_default_instance(); + + void Swap(CropParameter* other); + + // implements Message ---------------------------------------------- + + inline CropParameter* New() const { return New(NULL); } + + CropParameter* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const CropParameter& from); + void MergeFrom(const CropParameter& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(CropParameter* other); + void UnsafeMergeFrom(const CropParameter& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional int32 axis = 1 [default = 2]; + bool has_axis() const; + void clear_axis(); + static const int kAxisFieldNumber = 1; + ::google::protobuf::int32 axis() const; + void set_axis(::google::protobuf::int32 value); + + // repeated uint32 offset = 2; + int offset_size() const; + void clear_offset(); + static const int kOffsetFieldNumber = 2; + ::google::protobuf::uint32 offset(int index) const; + void set_offset(int index, ::google::protobuf::uint32 value); + void add_offset(::google::protobuf::uint32 value); + const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& + offset() const; + ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* + mutable_offset(); + + // @@protoc_insertion_point(class_scope:caffe.CropParameter) + private: + inline void set_has_axis(); + inline void clear_has_axis(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > offset_; + ::google::protobuf::int32 axis_; + friend void protobuf_InitDefaults_caffe_2eproto_impl(); + friend void protobuf_AddDesc_caffe_2eproto_impl(); + friend void protobuf_AssignDesc_caffe_2eproto(); + friend void protobuf_ShutdownFile_caffe_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed CropParameter_default_instance_; // ------------------------------------------------------------------- @@ -5286,6 +5872,13 @@ class DataParameter : public ::google::protobuf::Message /* @@protoc_insertion_p bool force_encoded_color() const; void set_force_encoded_color(bool value); + // optional uint32 prefetch = 10 [default = 4]; + bool has_prefetch() const; + void clear_prefetch(); + static const int kPrefetchFieldNumber = 10; + ::google::protobuf::uint32 prefetch() const; + void set_prefetch(::google::protobuf::uint32 value); + // @@protoc_insertion_point(class_scope:caffe.DataParameter) private: inline void set_has_source(); @@ -5306,6 +5899,8 @@ class DataParameter : public ::google::protobuf::Message /* @@protoc_insertion_p inline void clear_has_mirror(); inline void set_has_force_encoded_color(); inline void clear_has_force_encoded_color(); + inline void set_has_prefetch(); + inline void clear_has_prefetch(); ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; ::google::protobuf::internal::HasBits<1> _has_bits_; @@ -5319,6 +5914,7 @@ class DataParameter : public ::google::protobuf::Message /* @@protoc_insertion_p bool mirror_; bool force_encoded_color_; float scale_; + ::google::protobuf::uint32 prefetch_; friend void protobuf_InitDefaults_caffe_2eproto_impl(); friend void protobuf_AddDesc_caffe_2eproto_impl(); friend void protobuf_AssignDesc_caffe_2eproto(); @@ -5547,42 +6143,289 @@ class DummyDataParameter : public ::google::protobuf::Message /* @@protoc_insert ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* mutable_channels(); - // repeated uint32 height = 4; - int height_size() const; - void clear_height(); - static const int kHeightFieldNumber = 4; - ::google::protobuf::uint32 height(int index) const; - void set_height(int index, ::google::protobuf::uint32 value); - void add_height(::google::protobuf::uint32 value); - const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& - height() const; - ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* - mutable_height(); + // repeated uint32 height = 4; + int height_size() const; + void clear_height(); + static const int kHeightFieldNumber = 4; + ::google::protobuf::uint32 height(int index) const; + void set_height(int index, ::google::protobuf::uint32 value); + void add_height(::google::protobuf::uint32 value); + const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& + height() const; + ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* + mutable_height(); + + // repeated uint32 width = 5; + int width_size() const; + void clear_width(); + static const int kWidthFieldNumber = 5; + ::google::protobuf::uint32 width(int index) const; + void set_width(int index, ::google::protobuf::uint32 value); + void add_width(::google::protobuf::uint32 value); + const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& + width() const; + ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* + mutable_width(); + + // @@protoc_insertion_point(class_scope:caffe.DummyDataParameter) + private: + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::RepeatedPtrField< ::caffe::FillerParameter > data_filler_; + ::google::protobuf::RepeatedPtrField< ::caffe::BlobShape > shape_; + ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > num_; + ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > channels_; + ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > height_; + ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > width_; + friend void protobuf_InitDefaults_caffe_2eproto_impl(); + friend void protobuf_AddDesc_caffe_2eproto_impl(); + friend void protobuf_AssignDesc_caffe_2eproto(); + friend void protobuf_ShutdownFile_caffe_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed DummyDataParameter_default_instance_; + +// ------------------------------------------------------------------- + +class EltwiseParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:caffe.EltwiseParameter) */ { + public: + EltwiseParameter(); + virtual ~EltwiseParameter(); + + EltwiseParameter(const EltwiseParameter& from); + + inline EltwiseParameter& operator=(const EltwiseParameter& from) { + CopyFrom(from); + return *this; + } + + 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 EltwiseParameter& default_instance(); + + static const EltwiseParameter* internal_default_instance(); + + void Swap(EltwiseParameter* other); + + // implements Message ---------------------------------------------- + + inline EltwiseParameter* New() const { return New(NULL); } + + EltwiseParameter* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const EltwiseParameter& from); + void MergeFrom(const EltwiseParameter& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(EltwiseParameter* other); + void UnsafeMergeFrom(const EltwiseParameter& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + typedef EltwiseParameter_EltwiseOp EltwiseOp; + static const EltwiseOp PROD = + EltwiseParameter_EltwiseOp_PROD; + static const EltwiseOp SUM = + EltwiseParameter_EltwiseOp_SUM; + static const EltwiseOp MAX = + EltwiseParameter_EltwiseOp_MAX; + static inline bool EltwiseOp_IsValid(int value) { + return EltwiseParameter_EltwiseOp_IsValid(value); + } + static const EltwiseOp EltwiseOp_MIN = + EltwiseParameter_EltwiseOp_EltwiseOp_MIN; + static const EltwiseOp EltwiseOp_MAX = + EltwiseParameter_EltwiseOp_EltwiseOp_MAX; + static const int EltwiseOp_ARRAYSIZE = + EltwiseParameter_EltwiseOp_EltwiseOp_ARRAYSIZE; + static inline const ::google::protobuf::EnumDescriptor* + EltwiseOp_descriptor() { + return EltwiseParameter_EltwiseOp_descriptor(); + } + static inline const ::std::string& EltwiseOp_Name(EltwiseOp value) { + return EltwiseParameter_EltwiseOp_Name(value); + } + static inline bool EltwiseOp_Parse(const ::std::string& name, + EltwiseOp* value) { + return EltwiseParameter_EltwiseOp_Parse(name, value); + } + + // accessors ------------------------------------------------------- + + // optional .caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM]; + bool has_operation() const; + void clear_operation(); + static const int kOperationFieldNumber = 1; + ::caffe::EltwiseParameter_EltwiseOp operation() const; + void set_operation(::caffe::EltwiseParameter_EltwiseOp value); + + // repeated float coeff = 2; + int coeff_size() const; + void clear_coeff(); + static const int kCoeffFieldNumber = 2; + float coeff(int index) const; + void set_coeff(int index, float value); + void add_coeff(float value); + const ::google::protobuf::RepeatedField< float >& + coeff() const; + ::google::protobuf::RepeatedField< float >* + mutable_coeff(); + + // optional bool stable_prod_grad = 3 [default = true]; + bool has_stable_prod_grad() const; + void clear_stable_prod_grad(); + static const int kStableProdGradFieldNumber = 3; + bool stable_prod_grad() const; + void set_stable_prod_grad(bool value); + + // @@protoc_insertion_point(class_scope:caffe.EltwiseParameter) + private: + inline void set_has_operation(); + inline void clear_has_operation(); + inline void set_has_stable_prod_grad(); + inline void clear_has_stable_prod_grad(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::RepeatedField< float > coeff_; + int operation_; + bool stable_prod_grad_; + friend void protobuf_InitDefaults_caffe_2eproto_impl(); + friend void protobuf_AddDesc_caffe_2eproto_impl(); + friend void protobuf_AssignDesc_caffe_2eproto(); + friend void protobuf_ShutdownFile_caffe_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed EltwiseParameter_default_instance_; + +// ------------------------------------------------------------------- + +class ELUParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:caffe.ELUParameter) */ { + public: + ELUParameter(); + virtual ~ELUParameter(); + + ELUParameter(const ELUParameter& from); + + inline ELUParameter& operator=(const ELUParameter& from) { + CopyFrom(from); + return *this; + } + + 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 ELUParameter& default_instance(); + + static const ELUParameter* internal_default_instance(); + + void Swap(ELUParameter* other); + + // implements Message ---------------------------------------------- + + inline ELUParameter* New() const { return New(NULL); } + + ELUParameter* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const ELUParameter& from); + void MergeFrom(const ELUParameter& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(ELUParameter* other); + void UnsafeMergeFrom(const ELUParameter& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; - // repeated uint32 width = 5; - int width_size() const; - void clear_width(); - static const int kWidthFieldNumber = 5; - ::google::protobuf::uint32 width(int index) const; - void set_width(int index, ::google::protobuf::uint32 value); - void add_width(::google::protobuf::uint32 value); - const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& - width() const; - ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* - mutable_width(); + // nested types ---------------------------------------------------- - // @@protoc_insertion_point(class_scope:caffe.DummyDataParameter) + // accessors ------------------------------------------------------- + + // optional float alpha = 1 [default = 1]; + bool has_alpha() const; + void clear_alpha(); + static const int kAlphaFieldNumber = 1; + float alpha() const; + void set_alpha(float value); + + // @@protoc_insertion_point(class_scope:caffe.ELUParameter) private: + inline void set_has_alpha(); + inline void clear_has_alpha(); ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; ::google::protobuf::internal::HasBits<1> _has_bits_; mutable int _cached_size_; - ::google::protobuf::RepeatedPtrField< ::caffe::FillerParameter > data_filler_; - ::google::protobuf::RepeatedPtrField< ::caffe::BlobShape > shape_; - ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > num_; - ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > channels_; - ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > height_; - ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > width_; + float alpha_; friend void protobuf_InitDefaults_caffe_2eproto_impl(); friend void protobuf_AddDesc_caffe_2eproto_impl(); friend void protobuf_AssignDesc_caffe_2eproto(); @@ -5590,18 +6433,18 @@ class DummyDataParameter : public ::google::protobuf::Message /* @@protoc_insert void InitAsDefaultInstance(); }; -extern ::google::protobuf::internal::ExplicitlyConstructed DummyDataParameter_default_instance_; +extern ::google::protobuf::internal::ExplicitlyConstructed ELUParameter_default_instance_; // ------------------------------------------------------------------- -class EltwiseParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:caffe.EltwiseParameter) */ { +class EmbedParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:caffe.EmbedParameter) */ { public: - EltwiseParameter(); - virtual ~EltwiseParameter(); + EmbedParameter(); + virtual ~EmbedParameter(); - EltwiseParameter(const EltwiseParameter& from); + EmbedParameter(const EmbedParameter& from); - inline EltwiseParameter& operator=(const EltwiseParameter& from) { + inline EmbedParameter& operator=(const EmbedParameter& from) { CopyFrom(from); return *this; } @@ -5615,21 +6458,21 @@ class EltwiseParameter : public ::google::protobuf::Message /* @@protoc_insertio } static const ::google::protobuf::Descriptor* descriptor(); - static const EltwiseParameter& default_instance(); + static const EmbedParameter& default_instance(); - static const EltwiseParameter* internal_default_instance(); + static const EmbedParameter* internal_default_instance(); - void Swap(EltwiseParameter* other); + void Swap(EmbedParameter* other); // implements Message ---------------------------------------------- - inline EltwiseParameter* New() const { return New(NULL); } + inline EmbedParameter* New() const { return New(NULL); } - EltwiseParameter* New(::google::protobuf::Arena* arena) const; + EmbedParameter* New(::google::protobuf::Arena* arena) const; void CopyFrom(const ::google::protobuf::Message& from); void MergeFrom(const ::google::protobuf::Message& from); - void CopyFrom(const EltwiseParameter& from); - void MergeFrom(const EltwiseParameter& from); + void CopyFrom(const EmbedParameter& from); + void MergeFrom(const EmbedParameter& from); void Clear(); bool IsInitialized() const; @@ -5648,8 +6491,8 @@ class EltwiseParameter : public ::google::protobuf::Message /* @@protoc_insertio void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const; - void InternalSwap(EltwiseParameter* other); - void UnsafeMergeFrom(const EltwiseParameter& from); + void InternalSwap(EmbedParameter* other); + void UnsafeMergeFrom(const EmbedParameter& from); private: inline ::google::protobuf::Arena* GetArenaNoVirtual() const { return _internal_metadata_.arena(); @@ -5663,75 +6506,68 @@ class EltwiseParameter : public ::google::protobuf::Message /* @@protoc_insertio // nested types ---------------------------------------------------- - typedef EltwiseParameter_EltwiseOp EltwiseOp; - static const EltwiseOp PROD = - EltwiseParameter_EltwiseOp_PROD; - static const EltwiseOp SUM = - EltwiseParameter_EltwiseOp_SUM; - static const EltwiseOp MAX = - EltwiseParameter_EltwiseOp_MAX; - static inline bool EltwiseOp_IsValid(int value) { - return EltwiseParameter_EltwiseOp_IsValid(value); - } - static const EltwiseOp EltwiseOp_MIN = - EltwiseParameter_EltwiseOp_EltwiseOp_MIN; - static const EltwiseOp EltwiseOp_MAX = - EltwiseParameter_EltwiseOp_EltwiseOp_MAX; - static const int EltwiseOp_ARRAYSIZE = - EltwiseParameter_EltwiseOp_EltwiseOp_ARRAYSIZE; - static inline const ::google::protobuf::EnumDescriptor* - EltwiseOp_descriptor() { - return EltwiseParameter_EltwiseOp_descriptor(); - } - static inline const ::std::string& EltwiseOp_Name(EltwiseOp value) { - return EltwiseParameter_EltwiseOp_Name(value); - } - static inline bool EltwiseOp_Parse(const ::std::string& name, - EltwiseOp* value) { - return EltwiseParameter_EltwiseOp_Parse(name, value); - } - // accessors ------------------------------------------------------- - // optional .caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM]; - bool has_operation() const; - void clear_operation(); - static const int kOperationFieldNumber = 1; - ::caffe::EltwiseParameter_EltwiseOp operation() const; - void set_operation(::caffe::EltwiseParameter_EltwiseOp value); + // optional uint32 num_output = 1; + bool has_num_output() const; + void clear_num_output(); + static const int kNumOutputFieldNumber = 1; + ::google::protobuf::uint32 num_output() const; + void set_num_output(::google::protobuf::uint32 value); - // repeated float coeff = 2; - int coeff_size() const; - void clear_coeff(); - static const int kCoeffFieldNumber = 2; - float coeff(int index) const; - void set_coeff(int index, float value); - void add_coeff(float value); - const ::google::protobuf::RepeatedField< float >& - coeff() const; - ::google::protobuf::RepeatedField< float >* - mutable_coeff(); + // optional uint32 input_dim = 2; + bool has_input_dim() const; + void clear_input_dim(); + static const int kInputDimFieldNumber = 2; + ::google::protobuf::uint32 input_dim() const; + void set_input_dim(::google::protobuf::uint32 value); - // optional bool stable_prod_grad = 3 [default = true]; - bool has_stable_prod_grad() const; - void clear_stable_prod_grad(); - static const int kStableProdGradFieldNumber = 3; - bool stable_prod_grad() const; - void set_stable_prod_grad(bool value); + // optional bool bias_term = 3 [default = true]; + bool has_bias_term() const; + void clear_bias_term(); + static const int kBiasTermFieldNumber = 3; + bool bias_term() const; + void set_bias_term(bool value); - // @@protoc_insertion_point(class_scope:caffe.EltwiseParameter) + // optional .caffe.FillerParameter weight_filler = 4; + bool has_weight_filler() const; + void clear_weight_filler(); + static const int kWeightFillerFieldNumber = 4; + const ::caffe::FillerParameter& weight_filler() const; + ::caffe::FillerParameter* mutable_weight_filler(); + ::caffe::FillerParameter* release_weight_filler(); + void set_allocated_weight_filler(::caffe::FillerParameter* weight_filler); + + // optional .caffe.FillerParameter bias_filler = 5; + bool has_bias_filler() const; + void clear_bias_filler(); + static const int kBiasFillerFieldNumber = 5; + const ::caffe::FillerParameter& bias_filler() const; + ::caffe::FillerParameter* mutable_bias_filler(); + ::caffe::FillerParameter* release_bias_filler(); + void set_allocated_bias_filler(::caffe::FillerParameter* bias_filler); + + // @@protoc_insertion_point(class_scope:caffe.EmbedParameter) private: - inline void set_has_operation(); - inline void clear_has_operation(); - inline void set_has_stable_prod_grad(); - inline void clear_has_stable_prod_grad(); + inline void set_has_num_output(); + inline void clear_has_num_output(); + inline void set_has_input_dim(); + inline void clear_has_input_dim(); + inline void set_has_bias_term(); + inline void clear_has_bias_term(); + inline void set_has_weight_filler(); + inline void clear_has_weight_filler(); + inline void set_has_bias_filler(); + inline void clear_has_bias_filler(); ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; ::google::protobuf::internal::HasBits<1> _has_bits_; mutable int _cached_size_; - ::google::protobuf::RepeatedField< float > coeff_; - int operation_; - bool stable_prod_grad_; + ::caffe::FillerParameter* weight_filler_; + ::caffe::FillerParameter* bias_filler_; + ::google::protobuf::uint32 num_output_; + ::google::protobuf::uint32 input_dim_; + bool bias_term_; friend void protobuf_InitDefaults_caffe_2eproto_impl(); friend void protobuf_AddDesc_caffe_2eproto_impl(); friend void protobuf_AssignDesc_caffe_2eproto(); @@ -5739,7 +6575,7 @@ class EltwiseParameter : public ::google::protobuf::Message /* @@protoc_insertio void InitAsDefaultInstance(); }; -extern ::google::protobuf::internal::ExplicitlyConstructed EltwiseParameter_default_instance_; +extern ::google::protobuf::internal::ExplicitlyConstructed EmbedParameter_default_instance_; // ------------------------------------------------------------------- @@ -6402,7 +7238,7 @@ class ImageDataParameter : public ::google::protobuf::Message /* @@protoc_insert ::std::string* release_source(); void set_allocated_source(::std::string* source); - // optional uint32 batch_size = 4; + // optional uint32 batch_size = 4 [default = 1]; bool has_batch_size() const; void clear_batch_size(); static const int kBatchSizeFieldNumber = 4; @@ -6522,15 +7358,15 @@ class ImageDataParameter : public ::google::protobuf::Message /* @@protoc_insert ::google::protobuf::internal::ArenaStringPtr source_; ::google::protobuf::internal::ArenaStringPtr mean_file_; ::google::protobuf::internal::ArenaStringPtr root_folder_; - ::google::protobuf::uint32 batch_size_; ::google::protobuf::uint32 rand_skip_; ::google::protobuf::uint32 new_height_; ::google::protobuf::uint32 new_width_; bool shuffle_; bool mirror_; ::google::protobuf::uint32 crop_size_; - bool is_color_; float scale_; + ::google::protobuf::uint32 batch_size_; + bool is_color_; friend void protobuf_InitDefaults_caffe_2eproto_impl(); friend void protobuf_AddDesc_caffe_2eproto_impl(); friend void protobuf_AssignDesc_caffe_2eproto(); @@ -6748,34 +7584,145 @@ class InnerProductParameter : public ::google::protobuf::Message /* @@protoc_ins ::caffe::FillerParameter* release_bias_filler(); void set_allocated_bias_filler(::caffe::FillerParameter* bias_filler); - // optional int32 axis = 5 [default = 1]; - bool has_axis() const; - void clear_axis(); - static const int kAxisFieldNumber = 5; - ::google::protobuf::int32 axis() const; - void set_axis(::google::protobuf::int32 value); + // optional int32 axis = 5 [default = 1]; + bool has_axis() const; + void clear_axis(); + static const int kAxisFieldNumber = 5; + ::google::protobuf::int32 axis() const; + void set_axis(::google::protobuf::int32 value); + + // optional bool transpose = 6 [default = false]; + bool has_transpose() const; + void clear_transpose(); + static const int kTransposeFieldNumber = 6; + bool transpose() const; + void set_transpose(bool value); + + // @@protoc_insertion_point(class_scope:caffe.InnerProductParameter) + private: + inline void set_has_num_output(); + inline void clear_has_num_output(); + inline void set_has_bias_term(); + inline void clear_has_bias_term(); + inline void set_has_weight_filler(); + inline void clear_has_weight_filler(); + inline void set_has_bias_filler(); + inline void clear_has_bias_filler(); + inline void set_has_axis(); + inline void clear_has_axis(); + inline void set_has_transpose(); + inline void clear_has_transpose(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::caffe::FillerParameter* weight_filler_; + ::caffe::FillerParameter* bias_filler_; + ::google::protobuf::uint32 num_output_; + bool transpose_; + bool bias_term_; + ::google::protobuf::int32 axis_; + friend void protobuf_InitDefaults_caffe_2eproto_impl(); + friend void protobuf_AddDesc_caffe_2eproto_impl(); + friend void protobuf_AssignDesc_caffe_2eproto(); + friend void protobuf_ShutdownFile_caffe_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed InnerProductParameter_default_instance_; + +// ------------------------------------------------------------------- + +class InputParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:caffe.InputParameter) */ { + public: + InputParameter(); + virtual ~InputParameter(); + + InputParameter(const InputParameter& from); + + inline InputParameter& operator=(const InputParameter& from) { + CopyFrom(from); + return *this; + } + + 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 InputParameter& default_instance(); + + static const InputParameter* internal_default_instance(); + + void Swap(InputParameter* other); + + // implements Message ---------------------------------------------- + + inline InputParameter* New() const { return New(NULL); } + + InputParameter* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const InputParameter& from); + void MergeFrom(const InputParameter& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(InputParameter* other); + void UnsafeMergeFrom(const InputParameter& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- - // @@protoc_insertion_point(class_scope:caffe.InnerProductParameter) + // accessors ------------------------------------------------------- + + // repeated .caffe.BlobShape shape = 1; + int shape_size() const; + void clear_shape(); + static const int kShapeFieldNumber = 1; + const ::caffe::BlobShape& shape(int index) const; + ::caffe::BlobShape* mutable_shape(int index); + ::caffe::BlobShape* add_shape(); + ::google::protobuf::RepeatedPtrField< ::caffe::BlobShape >* + mutable_shape(); + const ::google::protobuf::RepeatedPtrField< ::caffe::BlobShape >& + shape() const; + + // @@protoc_insertion_point(class_scope:caffe.InputParameter) private: - inline void set_has_num_output(); - inline void clear_has_num_output(); - inline void set_has_bias_term(); - inline void clear_has_bias_term(); - inline void set_has_weight_filler(); - inline void clear_has_weight_filler(); - inline void set_has_bias_filler(); - inline void clear_has_bias_filler(); - inline void set_has_axis(); - inline void clear_has_axis(); ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; ::google::protobuf::internal::HasBits<1> _has_bits_; mutable int _cached_size_; - ::caffe::FillerParameter* weight_filler_; - ::caffe::FillerParameter* bias_filler_; - ::google::protobuf::uint32 num_output_; - bool bias_term_; - ::google::protobuf::int32 axis_; + ::google::protobuf::RepeatedPtrField< ::caffe::BlobShape > shape_; friend void protobuf_InitDefaults_caffe_2eproto_impl(); friend void protobuf_AddDesc_caffe_2eproto_impl(); friend void protobuf_AssignDesc_caffe_2eproto(); @@ -6783,7 +7730,7 @@ class InnerProductParameter : public ::google::protobuf::Message /* @@protoc_ins void InitAsDefaultInstance(); }; -extern ::google::protobuf::internal::ExplicitlyConstructed InnerProductParameter_default_instance_; +extern ::google::protobuf::internal::ExplicitlyConstructed InputParameter_default_instance_; // ------------------------------------------------------------------- @@ -7000,6 +7947,34 @@ class LRNParameter : public ::google::protobuf::Message /* @@protoc_insertion_po return LRNParameter_NormRegion_Parse(name, value); } + typedef LRNParameter_Engine Engine; + static const Engine DEFAULT = + LRNParameter_Engine_DEFAULT; + static const Engine CAFFE = + LRNParameter_Engine_CAFFE; + static const Engine CUDNN = + LRNParameter_Engine_CUDNN; + static inline bool Engine_IsValid(int value) { + return LRNParameter_Engine_IsValid(value); + } + static const Engine Engine_MIN = + LRNParameter_Engine_Engine_MIN; + static const Engine Engine_MAX = + LRNParameter_Engine_Engine_MAX; + static const int Engine_ARRAYSIZE = + LRNParameter_Engine_Engine_ARRAYSIZE; + static inline const ::google::protobuf::EnumDescriptor* + Engine_descriptor() { + return LRNParameter_Engine_descriptor(); + } + static inline const ::std::string& Engine_Name(Engine value) { + return LRNParameter_Engine_Name(value); + } + static inline bool Engine_Parse(const ::std::string& name, + Engine* value) { + return LRNParameter_Engine_Parse(name, value); + } + // accessors ------------------------------------------------------- // optional uint32 local_size = 1 [default = 5]; @@ -7037,6 +8012,13 @@ class LRNParameter : public ::google::protobuf::Message /* @@protoc_insertion_po float k() const; void set_k(float value); + // optional .caffe.LRNParameter.Engine engine = 6 [default = DEFAULT]; + bool has_engine() const; + void clear_engine(); + static const int kEngineFieldNumber = 6; + ::caffe::LRNParameter_Engine engine() const; + void set_engine(::caffe::LRNParameter_Engine value); + // @@protoc_insertion_point(class_scope:caffe.LRNParameter) private: inline void set_has_local_size(); @@ -7049,11 +8031,14 @@ class LRNParameter : public ::google::protobuf::Message /* @@protoc_insertion_po inline void clear_has_norm_region(); inline void set_has_k(); inline void clear_has_k(); + inline void set_has_engine(); + inline void clear_has_engine(); ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; ::google::protobuf::internal::HasBits<1> _has_bits_; mutable int _cached_size_; int norm_region_; + int engine_; ::google::protobuf::uint32 local_size_; float alpha_; float beta_; @@ -7315,6 +8300,106 @@ extern ::google::protobuf::internal::ExplicitlyConstructed MVNPara // ------------------------------------------------------------------- +class ParameterParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:caffe.ParameterParameter) */ { + public: + ParameterParameter(); + virtual ~ParameterParameter(); + + ParameterParameter(const ParameterParameter& from); + + inline ParameterParameter& operator=(const ParameterParameter& from) { + CopyFrom(from); + return *this; + } + + 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 ParameterParameter& default_instance(); + + static const ParameterParameter* internal_default_instance(); + + void Swap(ParameterParameter* other); + + // implements Message ---------------------------------------------- + + inline ParameterParameter* New() const { return New(NULL); } + + ParameterParameter* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const ParameterParameter& from); + void MergeFrom(const ParameterParameter& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(ParameterParameter* other); + void UnsafeMergeFrom(const ParameterParameter& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional .caffe.BlobShape shape = 1; + bool has_shape() const; + void clear_shape(); + static const int kShapeFieldNumber = 1; + const ::caffe::BlobShape& shape() const; + ::caffe::BlobShape* mutable_shape(); + ::caffe::BlobShape* release_shape(); + void set_allocated_shape(::caffe::BlobShape* shape); + + // @@protoc_insertion_point(class_scope:caffe.ParameterParameter) + private: + inline void set_has_shape(); + inline void clear_has_shape(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::caffe::BlobShape* shape_; + friend void protobuf_InitDefaults_caffe_2eproto_impl(); + friend void protobuf_AddDesc_caffe_2eproto_impl(); + friend void protobuf_AssignDesc_caffe_2eproto(); + friend void protobuf_ShutdownFile_caffe_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed ParameterParameter_default_instance_; + +// ------------------------------------------------------------------- + class PoolingParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:caffe.PoolingParameter) */ { public: PoolingParameter(); @@ -7731,8 +8816,151 @@ class PythonParameter : public ::google::protobuf::Message /* @@protoc_insertion PythonParameter* New(::google::protobuf::Arena* arena) const; void CopyFrom(const ::google::protobuf::Message& from); void MergeFrom(const ::google::protobuf::Message& from); - void CopyFrom(const PythonParameter& from); - void MergeFrom(const PythonParameter& from); + void CopyFrom(const PythonParameter& from); + void MergeFrom(const PythonParameter& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(PythonParameter* other); + void UnsafeMergeFrom(const PythonParameter& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional string module = 1; + bool has_module() const; + void clear_module(); + static const int kModuleFieldNumber = 1; + const ::std::string& module() const; + void set_module(const ::std::string& value); + void set_module(const char* value); + void set_module(const char* value, size_t size); + ::std::string* mutable_module(); + ::std::string* release_module(); + void set_allocated_module(::std::string* module); + + // optional string layer = 2; + bool has_layer() const; + void clear_layer(); + static const int kLayerFieldNumber = 2; + const ::std::string& layer() const; + void set_layer(const ::std::string& value); + void set_layer(const char* value); + void set_layer(const char* value, size_t size); + ::std::string* mutable_layer(); + ::std::string* release_layer(); + void set_allocated_layer(::std::string* layer); + + // optional string param_str = 3 [default = ""]; + bool has_param_str() const; + void clear_param_str(); + static const int kParamStrFieldNumber = 3; + const ::std::string& param_str() const; + void set_param_str(const ::std::string& value); + void set_param_str(const char* value); + void set_param_str(const char* value, size_t size); + ::std::string* mutable_param_str(); + ::std::string* release_param_str(); + void set_allocated_param_str(::std::string* param_str); + + // optional bool share_in_parallel = 4 [default = false]; + bool has_share_in_parallel() const; + void clear_share_in_parallel(); + static const int kShareInParallelFieldNumber = 4; + bool share_in_parallel() const; + void set_share_in_parallel(bool value); + + // @@protoc_insertion_point(class_scope:caffe.PythonParameter) + private: + inline void set_has_module(); + inline void clear_has_module(); + inline void set_has_layer(); + inline void clear_has_layer(); + inline void set_has_param_str(); + inline void clear_has_param_str(); + inline void set_has_share_in_parallel(); + inline void clear_has_share_in_parallel(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::internal::ArenaStringPtr module_; + ::google::protobuf::internal::ArenaStringPtr layer_; + ::google::protobuf::internal::ArenaStringPtr param_str_; + bool share_in_parallel_; + friend void protobuf_InitDefaults_caffe_2eproto_impl(); + friend void protobuf_AddDesc_caffe_2eproto_impl(); + friend void protobuf_AssignDesc_caffe_2eproto(); + friend void protobuf_ShutdownFile_caffe_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed PythonParameter_default_instance_; + +// ------------------------------------------------------------------- + +class RecurrentParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:caffe.RecurrentParameter) */ { + public: + RecurrentParameter(); + virtual ~RecurrentParameter(); + + RecurrentParameter(const RecurrentParameter& from); + + inline RecurrentParameter& operator=(const RecurrentParameter& from) { + CopyFrom(from); + return *this; + } + + 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 RecurrentParameter& default_instance(); + + static const RecurrentParameter* internal_default_instance(); + + void Swap(RecurrentParameter* other); + + // implements Message ---------------------------------------------- + + inline RecurrentParameter* New() const { return New(NULL); } + + RecurrentParameter* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const RecurrentParameter& from); + void MergeFrom(const RecurrentParameter& from); void Clear(); bool IsInitialized() const; @@ -7751,8 +8979,8 @@ class PythonParameter : public ::google::protobuf::Message /* @@protoc_insertion void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const; - void InternalSwap(PythonParameter* other); - void UnsafeMergeFrom(const PythonParameter& from); + void InternalSwap(RecurrentParameter* other); + void UnsafeMergeFrom(const RecurrentParameter& from); private: inline ::google::protobuf::Arena* GetArenaNoVirtual() const { return _internal_metadata_.arena(); @@ -7768,42 +8996,66 @@ class PythonParameter : public ::google::protobuf::Message /* @@protoc_insertion // accessors ------------------------------------------------------- - // optional string module = 1; - bool has_module() const; - void clear_module(); - static const int kModuleFieldNumber = 1; - const ::std::string& module() const; - void set_module(const ::std::string& value); - void set_module(const char* value); - void set_module(const char* value, size_t size); - ::std::string* mutable_module(); - ::std::string* release_module(); - void set_allocated_module(::std::string* module); + // optional uint32 num_output = 1 [default = 0]; + bool has_num_output() const; + void clear_num_output(); + static const int kNumOutputFieldNumber = 1; + ::google::protobuf::uint32 num_output() const; + void set_num_output(::google::protobuf::uint32 value); - // optional string layer = 2; - bool has_layer() const; - void clear_layer(); - static const int kLayerFieldNumber = 2; - const ::std::string& layer() const; - void set_layer(const ::std::string& value); - void set_layer(const char* value); - void set_layer(const char* value, size_t size); - ::std::string* mutable_layer(); - ::std::string* release_layer(); - void set_allocated_layer(::std::string* layer); + // optional .caffe.FillerParameter weight_filler = 2; + bool has_weight_filler() const; + void clear_weight_filler(); + static const int kWeightFillerFieldNumber = 2; + const ::caffe::FillerParameter& weight_filler() const; + ::caffe::FillerParameter* mutable_weight_filler(); + ::caffe::FillerParameter* release_weight_filler(); + void set_allocated_weight_filler(::caffe::FillerParameter* weight_filler); - // @@protoc_insertion_point(class_scope:caffe.PythonParameter) + // optional .caffe.FillerParameter bias_filler = 3; + bool has_bias_filler() const; + void clear_bias_filler(); + static const int kBiasFillerFieldNumber = 3; + const ::caffe::FillerParameter& bias_filler() const; + ::caffe::FillerParameter* mutable_bias_filler(); + ::caffe::FillerParameter* release_bias_filler(); + void set_allocated_bias_filler(::caffe::FillerParameter* bias_filler); + + // optional bool debug_info = 4 [default = false]; + bool has_debug_info() const; + void clear_debug_info(); + static const int kDebugInfoFieldNumber = 4; + bool debug_info() const; + void set_debug_info(bool value); + + // optional bool expose_hidden = 5 [default = false]; + bool has_expose_hidden() const; + void clear_expose_hidden(); + static const int kExposeHiddenFieldNumber = 5; + bool expose_hidden() const; + void set_expose_hidden(bool value); + + // @@protoc_insertion_point(class_scope:caffe.RecurrentParameter) private: - inline void set_has_module(); - inline void clear_has_module(); - inline void set_has_layer(); - inline void clear_has_layer(); + inline void set_has_num_output(); + inline void clear_has_num_output(); + inline void set_has_weight_filler(); + inline void clear_has_weight_filler(); + inline void set_has_bias_filler(); + inline void clear_has_bias_filler(); + inline void set_has_debug_info(); + inline void clear_has_debug_info(); + inline void set_has_expose_hidden(); + inline void clear_has_expose_hidden(); ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; ::google::protobuf::internal::HasBits<1> _has_bits_; mutable int _cached_size_; - ::google::protobuf::internal::ArenaStringPtr module_; - ::google::protobuf::internal::ArenaStringPtr layer_; + ::caffe::FillerParameter* weight_filler_; + ::caffe::FillerParameter* bias_filler_; + ::google::protobuf::uint32 num_output_; + bool debug_info_; + bool expose_hidden_; friend void protobuf_InitDefaults_caffe_2eproto_impl(); friend void protobuf_AddDesc_caffe_2eproto_impl(); friend void protobuf_AssignDesc_caffe_2eproto(); @@ -7811,7 +9063,7 @@ class PythonParameter : public ::google::protobuf::Message /* @@protoc_insertion void InitAsDefaultInstance(); }; -extern ::google::protobuf::internal::ExplicitlyConstructed PythonParameter_default_instance_; +extern ::google::protobuf::internal::ExplicitlyConstructed RecurrentParameter_default_instance_; // ------------------------------------------------------------------- @@ -8219,6 +9471,148 @@ extern ::google::protobuf::internal::ExplicitlyConstructed Res // ------------------------------------------------------------------- +class ScaleParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:caffe.ScaleParameter) */ { + public: + ScaleParameter(); + virtual ~ScaleParameter(); + + ScaleParameter(const ScaleParameter& from); + + inline ScaleParameter& operator=(const ScaleParameter& from) { + CopyFrom(from); + return *this; + } + + 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 ScaleParameter& default_instance(); + + static const ScaleParameter* internal_default_instance(); + + void Swap(ScaleParameter* other); + + // implements Message ---------------------------------------------- + + inline ScaleParameter* New() const { return New(NULL); } + + ScaleParameter* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const ScaleParameter& from); + void MergeFrom(const ScaleParameter& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(ScaleParameter* other); + void UnsafeMergeFrom(const ScaleParameter& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional int32 axis = 1 [default = 1]; + bool has_axis() const; + void clear_axis(); + static const int kAxisFieldNumber = 1; + ::google::protobuf::int32 axis() const; + void set_axis(::google::protobuf::int32 value); + + // optional int32 num_axes = 2 [default = 1]; + bool has_num_axes() const; + void clear_num_axes(); + static const int kNumAxesFieldNumber = 2; + ::google::protobuf::int32 num_axes() const; + void set_num_axes(::google::protobuf::int32 value); + + // optional .caffe.FillerParameter filler = 3; + bool has_filler() const; + void clear_filler(); + static const int kFillerFieldNumber = 3; + const ::caffe::FillerParameter& filler() const; + ::caffe::FillerParameter* mutable_filler(); + ::caffe::FillerParameter* release_filler(); + void set_allocated_filler(::caffe::FillerParameter* filler); + + // optional bool bias_term = 4 [default = false]; + bool has_bias_term() const; + void clear_bias_term(); + static const int kBiasTermFieldNumber = 4; + bool bias_term() const; + void set_bias_term(bool value); + + // optional .caffe.FillerParameter bias_filler = 5; + bool has_bias_filler() const; + void clear_bias_filler(); + static const int kBiasFillerFieldNumber = 5; + const ::caffe::FillerParameter& bias_filler() const; + ::caffe::FillerParameter* mutable_bias_filler(); + ::caffe::FillerParameter* release_bias_filler(); + void set_allocated_bias_filler(::caffe::FillerParameter* bias_filler); + + // @@protoc_insertion_point(class_scope:caffe.ScaleParameter) + private: + inline void set_has_axis(); + inline void clear_has_axis(); + inline void set_has_num_axes(); + inline void clear_has_num_axes(); + inline void set_has_filler(); + inline void clear_has_filler(); + inline void set_has_bias_term(); + inline void clear_has_bias_term(); + inline void set_has_bias_filler(); + inline void clear_has_bias_filler(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::caffe::FillerParameter* filler_; + ::caffe::FillerParameter* bias_filler_; + bool bias_term_; + ::google::protobuf::int32 axis_; + ::google::protobuf::int32 num_axes_; + friend void protobuf_InitDefaults_caffe_2eproto_impl(); + friend void protobuf_AddDesc_caffe_2eproto_impl(); + friend void protobuf_AssignDesc_caffe_2eproto(); + friend void protobuf_ShutdownFile_caffe_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed ScaleParameter_default_instance_; + +// ------------------------------------------------------------------- + class SigmoidParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:caffe.SigmoidParameter) */ { public: SigmoidParameter(); @@ -8691,32 +10085,140 @@ class TanHParameter : public ::google::protobuf::Message /* @@protoc_insertion_p Engine_descriptor() { return TanHParameter_Engine_descriptor(); } - static inline const ::std::string& Engine_Name(Engine value) { - return TanHParameter_Engine_Name(value); + static inline const ::std::string& Engine_Name(Engine value) { + return TanHParameter_Engine_Name(value); + } + static inline bool Engine_Parse(const ::std::string& name, + Engine* value) { + return TanHParameter_Engine_Parse(name, value); + } + + // accessors ------------------------------------------------------- + + // optional .caffe.TanHParameter.Engine engine = 1 [default = DEFAULT]; + bool has_engine() const; + void clear_engine(); + static const int kEngineFieldNumber = 1; + ::caffe::TanHParameter_Engine engine() const; + void set_engine(::caffe::TanHParameter_Engine value); + + // @@protoc_insertion_point(class_scope:caffe.TanHParameter) + private: + inline void set_has_engine(); + inline void clear_has_engine(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + int engine_; + friend void protobuf_InitDefaults_caffe_2eproto_impl(); + friend void protobuf_AddDesc_caffe_2eproto_impl(); + friend void protobuf_AssignDesc_caffe_2eproto(); + friend void protobuf_ShutdownFile_caffe_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed TanHParameter_default_instance_; + +// ------------------------------------------------------------------- + +class TileParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:caffe.TileParameter) */ { + public: + TileParameter(); + virtual ~TileParameter(); + + TileParameter(const TileParameter& from); + + inline TileParameter& operator=(const TileParameter& from) { + CopyFrom(from); + return *this; + } + + 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 TileParameter& default_instance(); + + static const TileParameter* internal_default_instance(); + + void Swap(TileParameter* other); + + // implements Message ---------------------------------------------- + + inline TileParameter* New() const { return New(NULL); } + + TileParameter* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const TileParameter& from); + void MergeFrom(const TileParameter& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(TileParameter* other); + void UnsafeMergeFrom(const TileParameter& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); } - static inline bool Engine_Parse(const ::std::string& name, - Engine* value) { - return TanHParameter_Engine_Parse(name, value); + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- - // optional .caffe.TanHParameter.Engine engine = 1 [default = DEFAULT]; - bool has_engine() const; - void clear_engine(); - static const int kEngineFieldNumber = 1; - ::caffe::TanHParameter_Engine engine() const; - void set_engine(::caffe::TanHParameter_Engine value); + // optional int32 axis = 1 [default = 1]; + bool has_axis() const; + void clear_axis(); + static const int kAxisFieldNumber = 1; + ::google::protobuf::int32 axis() const; + void set_axis(::google::protobuf::int32 value); - // @@protoc_insertion_point(class_scope:caffe.TanHParameter) + // optional int32 tiles = 2; + bool has_tiles() const; + void clear_tiles(); + static const int kTilesFieldNumber = 2; + ::google::protobuf::int32 tiles() const; + void set_tiles(::google::protobuf::int32 value); + + // @@protoc_insertion_point(class_scope:caffe.TileParameter) private: - inline void set_has_engine(); - inline void clear_has_engine(); + inline void set_has_axis(); + inline void clear_has_axis(); + inline void set_has_tiles(); + inline void clear_has_tiles(); ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; ::google::protobuf::internal::HasBits<1> _has_bits_; mutable int _cached_size_; - int engine_; + ::google::protobuf::int32 tiles_; + ::google::protobuf::int32 axis_; friend void protobuf_InitDefaults_caffe_2eproto_impl(); friend void protobuf_AddDesc_caffe_2eproto_impl(); friend void protobuf_AssignDesc_caffe_2eproto(); @@ -8724,7 +10226,7 @@ class TanHParameter : public ::google::protobuf::Message /* @@protoc_insertion_p void InitAsDefaultInstance(); }; -extern ::google::protobuf::internal::ExplicitlyConstructed TanHParameter_default_instance_; +extern ::google::protobuf::internal::ExplicitlyConstructed TileParameter_default_instance_; // ------------------------------------------------------------------- @@ -10955,15 +12457,75 @@ BlobProto::mutable_diff() { return &diff_; } +// repeated double double_data = 8 [packed = true]; +inline int BlobProto::double_data_size() const { + return double_data_.size(); +} +inline void BlobProto::clear_double_data() { + double_data_.Clear(); +} +inline double BlobProto::double_data(int index) const { + // @@protoc_insertion_point(field_get:caffe.BlobProto.double_data) + return double_data_.Get(index); +} +inline void BlobProto::set_double_data(int index, double value) { + double_data_.Set(index, value); + // @@protoc_insertion_point(field_set:caffe.BlobProto.double_data) +} +inline void BlobProto::add_double_data(double value) { + double_data_.Add(value); + // @@protoc_insertion_point(field_add:caffe.BlobProto.double_data) +} +inline const ::google::protobuf::RepeatedField< double >& +BlobProto::double_data() const { + // @@protoc_insertion_point(field_list:caffe.BlobProto.double_data) + return double_data_; +} +inline ::google::protobuf::RepeatedField< double >* +BlobProto::mutable_double_data() { + // @@protoc_insertion_point(field_mutable_list:caffe.BlobProto.double_data) + return &double_data_; +} + +// repeated double double_diff = 9 [packed = true]; +inline int BlobProto::double_diff_size() const { + return double_diff_.size(); +} +inline void BlobProto::clear_double_diff() { + double_diff_.Clear(); +} +inline double BlobProto::double_diff(int index) const { + // @@protoc_insertion_point(field_get:caffe.BlobProto.double_diff) + return double_diff_.Get(index); +} +inline void BlobProto::set_double_diff(int index, double value) { + double_diff_.Set(index, value); + // @@protoc_insertion_point(field_set:caffe.BlobProto.double_diff) +} +inline void BlobProto::add_double_diff(double value) { + double_diff_.Add(value); + // @@protoc_insertion_point(field_add:caffe.BlobProto.double_diff) +} +inline const ::google::protobuf::RepeatedField< double >& +BlobProto::double_diff() const { + // @@protoc_insertion_point(field_list:caffe.BlobProto.double_diff) + return double_diff_; +} +inline ::google::protobuf::RepeatedField< double >* +BlobProto::mutable_double_diff() { + // @@protoc_insertion_point(field_mutable_list:caffe.BlobProto.double_diff) + return &double_diff_; +} + // optional int32 num = 1 [default = 0]; inline bool BlobProto::has_num() const { - return (_has_bits_[0] & 0x00000008u) != 0; + return (_has_bits_[0] & 0x00000020u) != 0; } inline void BlobProto::set_has_num() { - _has_bits_[0] |= 0x00000008u; + _has_bits_[0] |= 0x00000020u; } inline void BlobProto::clear_has_num() { - _has_bits_[0] &= ~0x00000008u; + _has_bits_[0] &= ~0x00000020u; } inline void BlobProto::clear_num() { num_ = 0; @@ -10981,13 +12543,13 @@ inline void BlobProto::set_num(::google::protobuf::int32 value) { // optional int32 channels = 2 [default = 0]; inline bool BlobProto::has_channels() const { - return (_has_bits_[0] & 0x00000010u) != 0; + return (_has_bits_[0] & 0x00000040u) != 0; } inline void BlobProto::set_has_channels() { - _has_bits_[0] |= 0x00000010u; + _has_bits_[0] |= 0x00000040u; } inline void BlobProto::clear_has_channels() { - _has_bits_[0] &= ~0x00000010u; + _has_bits_[0] &= ~0x00000040u; } inline void BlobProto::clear_channels() { channels_ = 0; @@ -11005,13 +12567,13 @@ inline void BlobProto::set_channels(::google::protobuf::int32 value) { // optional int32 height = 3 [default = 0]; inline bool BlobProto::has_height() const { - return (_has_bits_[0] & 0x00000020u) != 0; + return (_has_bits_[0] & 0x00000080u) != 0; } inline void BlobProto::set_has_height() { - _has_bits_[0] |= 0x00000020u; + _has_bits_[0] |= 0x00000080u; } inline void BlobProto::clear_has_height() { - _has_bits_[0] &= ~0x00000020u; + _has_bits_[0] &= ~0x00000080u; } inline void BlobProto::clear_height() { height_ = 0; @@ -11029,13 +12591,13 @@ inline void BlobProto::set_height(::google::protobuf::int32 value) { // optional int32 width = 4 [default = 0]; inline bool BlobProto::has_width() const { - return (_has_bits_[0] & 0x00000040u) != 0; + return (_has_bits_[0] & 0x00000100u) != 0; } inline void BlobProto::set_has_width() { - _has_bits_[0] |= 0x00000040u; + _has_bits_[0] |= 0x00000100u; } inline void BlobProto::clear_has_width() { - _has_bits_[0] &= ~0x00000040u; + _has_bits_[0] &= ~0x00000100u; } inline void BlobProto::clear_width() { width_ = 0; @@ -11093,67 +12655,6 @@ inline const BlobProtoVector* BlobProtoVector::internal_default_instance() { } // ------------------------------------------------------------------- -// CropParameter - -// optional int32 axis = 1 [default = 2]; -inline bool CropParameter::has_axis() const { - return (_has_bits_[0] & 0x00000001u) != 0; -} -inline void CropParameter::set_has_axis() { - _has_bits_[0] |= 0x00000001u; -} -inline void CropParameter::clear_has_axis() { - _has_bits_[0] &= ~0x00000001u; -} -inline void CropParameter::clear_axis() { - axis_ = 2; - clear_has_axis(); -} -inline ::google::protobuf::int32 CropParameter::axis() const { - // @@protoc_insertion_point(field_get:caffe.CropParameter.axis) - return axis_; -} -inline void CropParameter::set_axis(::google::protobuf::int32 value) { - set_has_axis(); - axis_ = value; - // @@protoc_insertion_point(field_set:caffe.CropParameter.axis) -} - -// repeated uint32 offset = 2; -inline int CropParameter::offset_size() const { - return offset_.size(); -} -inline void CropParameter::clear_offset() { - offset_.Clear(); -} -inline ::google::protobuf::uint32 CropParameter::offset(int index) const { - // @@protoc_insertion_point(field_get:caffe.CropParameter.offset) - return offset_.Get(index); -} -inline void CropParameter::set_offset(int index, ::google::protobuf::uint32 value) { - offset_.Set(index, value); - // @@protoc_insertion_point(field_set:caffe.CropParameter.offset) -} -inline void CropParameter::add_offset(::google::protobuf::uint32 value) { - offset_.Add(value); - // @@protoc_insertion_point(field_add:caffe.CropParameter.offset) -} -inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& -CropParameter::offset() const { - // @@protoc_insertion_point(field_list:caffe.CropParameter.offset) - return offset_; -} -inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* -CropParameter::mutable_offset() { - // @@protoc_insertion_point(field_mutable_list:caffe.CropParameter.offset) - return &offset_; -} - -inline const CropParameter* CropParameter::internal_default_instance() { - return &CropParameter_default_instance_.get(); -} -// ------------------------------------------------------------------- - // PermuteParameter // repeated uint32 order = 1; @@ -13438,15 +14939,40 @@ inline void SolverParameter::set_snapshot_diff(bool value) { // @@protoc_insertion_point(field_set:caffe.SolverParameter.snapshot_diff) } +// optional .caffe.SolverParameter.SnapshotFormat snapshot_format = 37 [default = BINARYPROTO]; +inline bool SolverParameter::has_snapshot_format() const { + return (_has_bits_[0] & 0x20000000u) != 0; +} +inline void SolverParameter::set_has_snapshot_format() { + _has_bits_[0] |= 0x20000000u; +} +inline void SolverParameter::clear_has_snapshot_format() { + _has_bits_[0] &= ~0x20000000u; +} +inline void SolverParameter::clear_snapshot_format() { + snapshot_format_ = 1; + clear_has_snapshot_format(); +} +inline ::caffe::SolverParameter_SnapshotFormat SolverParameter::snapshot_format() const { + // @@protoc_insertion_point(field_get:caffe.SolverParameter.snapshot_format) + return static_cast< ::caffe::SolverParameter_SnapshotFormat >(snapshot_format_); +} +inline void SolverParameter::set_snapshot_format(::caffe::SolverParameter_SnapshotFormat value) { + assert(::caffe::SolverParameter_SnapshotFormat_IsValid(value)); + set_has_snapshot_format(); + snapshot_format_ = value; + // @@protoc_insertion_point(field_set:caffe.SolverParameter.snapshot_format) +} + // optional .caffe.SolverParameter.SolverMode solver_mode = 17 [default = GPU]; inline bool SolverParameter::has_solver_mode() const { - return (_has_bits_[0] & 0x20000000u) != 0; + return (_has_bits_[0] & 0x40000000u) != 0; } inline void SolverParameter::set_has_solver_mode() { - _has_bits_[0] |= 0x20000000u; + _has_bits_[0] |= 0x40000000u; } inline void SolverParameter::clear_has_solver_mode() { - _has_bits_[0] &= ~0x20000000u; + _has_bits_[0] &= ~0x40000000u; } inline void SolverParameter::clear_solver_mode() { solver_mode_ = 1; @@ -13465,13 +14991,13 @@ inline void SolverParameter::set_solver_mode(::caffe::SolverParameter_SolverMode // optional int32 device_id = 18 [default = 0]; inline bool SolverParameter::has_device_id() const { - return (_has_bits_[0] & 0x40000000u) != 0; + return (_has_bits_[0] & 0x80000000u) != 0; } inline void SolverParameter::set_has_device_id() { - _has_bits_[0] |= 0x40000000u; + _has_bits_[0] |= 0x80000000u; } inline void SolverParameter::clear_has_device_id() { - _has_bits_[0] &= ~0x40000000u; + _has_bits_[0] &= ~0x80000000u; } inline void SolverParameter::clear_device_id() { device_id_ = 0; @@ -13489,13 +15015,13 @@ inline void SolverParameter::set_device_id(::google::protobuf::int32 value) { // optional int64 random_seed = 20 [default = -1]; inline bool SolverParameter::has_random_seed() const { - return (_has_bits_[0] & 0x80000000u) != 0; + return (_has_bits_[1] & 0x00000001u) != 0; } inline void SolverParameter::set_has_random_seed() { - _has_bits_[0] |= 0x80000000u; + _has_bits_[1] |= 0x00000001u; } inline void SolverParameter::clear_has_random_seed() { - _has_bits_[0] &= ~0x80000000u; + _has_bits_[1] &= ~0x00000001u; } inline void SolverParameter::clear_random_seed() { random_seed_ = GOOGLE_LONGLONG(-1); @@ -13511,64 +15037,141 @@ inline void SolverParameter::set_random_seed(::google::protobuf::int64 value) { // @@protoc_insertion_point(field_set:caffe.SolverParameter.random_seed) } -// optional .caffe.SolverParameter.SolverType solver_type = 30 [default = SGD]; -inline bool SolverParameter::has_solver_type() const { - return (_has_bits_[1] & 0x00000001u) != 0; +// optional string type = 40 [default = "SGD"]; +inline bool SolverParameter::has_type() const { + return (_has_bits_[1] & 0x00000002u) != 0; } -inline void SolverParameter::set_has_solver_type() { - _has_bits_[1] |= 0x00000001u; +inline void SolverParameter::set_has_type() { + _has_bits_[1] |= 0x00000002u; } -inline void SolverParameter::clear_has_solver_type() { - _has_bits_[1] &= ~0x00000001u; +inline void SolverParameter::clear_has_type() { + _has_bits_[1] &= ~0x00000002u; } -inline void SolverParameter::clear_solver_type() { - solver_type_ = 0; - clear_has_solver_type(); +inline void SolverParameter::clear_type() { + type_.ClearToDefaultNoArena(_default_type_); + clear_has_type(); } -inline ::caffe::SolverParameter_SolverType SolverParameter::solver_type() const { - // @@protoc_insertion_point(field_get:caffe.SolverParameter.solver_type) - return static_cast< ::caffe::SolverParameter_SolverType >(solver_type_); +inline const ::std::string& SolverParameter::type() const { + // @@protoc_insertion_point(field_get:caffe.SolverParameter.type) + return type_.GetNoArena(_default_type_); } -inline void SolverParameter::set_solver_type(::caffe::SolverParameter_SolverType value) { - assert(::caffe::SolverParameter_SolverType_IsValid(value)); - set_has_solver_type(); - solver_type_ = value; - // @@protoc_insertion_point(field_set:caffe.SolverParameter.solver_type) +inline void SolverParameter::set_type(const ::std::string& value) { + set_has_type(); + type_.SetNoArena(_default_type_, value); + // @@protoc_insertion_point(field_set:caffe.SolverParameter.type) +} +inline void SolverParameter::set_type(const char* value) { + set_has_type(); + type_.SetNoArena(_default_type_, ::std::string(value)); + // @@protoc_insertion_point(field_set_char:caffe.SolverParameter.type) +} +inline void SolverParameter::set_type(const char* value, size_t size) { + set_has_type(); + type_.SetNoArena(_default_type_, + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:caffe.SolverParameter.type) +} +inline ::std::string* SolverParameter::mutable_type() { + set_has_type(); + // @@protoc_insertion_point(field_mutable:caffe.SolverParameter.type) + return type_.MutableNoArena(_default_type_); +} +inline ::std::string* SolverParameter::release_type() { + // @@protoc_insertion_point(field_release:caffe.SolverParameter.type) + clear_has_type(); + return type_.ReleaseNoArena(_default_type_); +} +inline void SolverParameter::set_allocated_type(::std::string* type) { + if (type != NULL) { + set_has_type(); + } else { + clear_has_type(); + } + type_.SetAllocatedNoArena(_default_type_, type); + // @@protoc_insertion_point(field_set_allocated:caffe.SolverParameter.type) } // optional float delta = 31 [default = 1e-08]; inline bool SolverParameter::has_delta() const { - return (_has_bits_[1] & 0x00000002u) != 0; + return (_has_bits_[1] & 0x00000004u) != 0; +} +inline void SolverParameter::set_has_delta() { + _has_bits_[1] |= 0x00000004u; +} +inline void SolverParameter::clear_has_delta() { + _has_bits_[1] &= ~0x00000004u; +} +inline void SolverParameter::clear_delta() { + delta_ = 1e-08f; + clear_has_delta(); +} +inline float SolverParameter::delta() const { + // @@protoc_insertion_point(field_get:caffe.SolverParameter.delta) + return delta_; +} +inline void SolverParameter::set_delta(float value) { + set_has_delta(); + delta_ = value; + // @@protoc_insertion_point(field_set:caffe.SolverParameter.delta) +} + +// optional float momentum2 = 39 [default = 0.999]; +inline bool SolverParameter::has_momentum2() const { + return (_has_bits_[1] & 0x00000008u) != 0; +} +inline void SolverParameter::set_has_momentum2() { + _has_bits_[1] |= 0x00000008u; +} +inline void SolverParameter::clear_has_momentum2() { + _has_bits_[1] &= ~0x00000008u; +} +inline void SolverParameter::clear_momentum2() { + momentum2_ = 0.999f; + clear_has_momentum2(); +} +inline float SolverParameter::momentum2() const { + // @@protoc_insertion_point(field_get:caffe.SolverParameter.momentum2) + return momentum2_; +} +inline void SolverParameter::set_momentum2(float value) { + set_has_momentum2(); + momentum2_ = value; + // @@protoc_insertion_point(field_set:caffe.SolverParameter.momentum2) +} + +// optional float rms_decay = 38 [default = 0.99]; +inline bool SolverParameter::has_rms_decay() const { + return (_has_bits_[1] & 0x00000010u) != 0; } -inline void SolverParameter::set_has_delta() { - _has_bits_[1] |= 0x00000002u; +inline void SolverParameter::set_has_rms_decay() { + _has_bits_[1] |= 0x00000010u; } -inline void SolverParameter::clear_has_delta() { - _has_bits_[1] &= ~0x00000002u; +inline void SolverParameter::clear_has_rms_decay() { + _has_bits_[1] &= ~0x00000010u; } -inline void SolverParameter::clear_delta() { - delta_ = 1e-08f; - clear_has_delta(); +inline void SolverParameter::clear_rms_decay() { + rms_decay_ = 0.99f; + clear_has_rms_decay(); } -inline float SolverParameter::delta() const { - // @@protoc_insertion_point(field_get:caffe.SolverParameter.delta) - return delta_; +inline float SolverParameter::rms_decay() const { + // @@protoc_insertion_point(field_get:caffe.SolverParameter.rms_decay) + return rms_decay_; } -inline void SolverParameter::set_delta(float value) { - set_has_delta(); - delta_ = value; - // @@protoc_insertion_point(field_set:caffe.SolverParameter.delta) +inline void SolverParameter::set_rms_decay(float value) { + set_has_rms_decay(); + rms_decay_ = value; + // @@protoc_insertion_point(field_set:caffe.SolverParameter.rms_decay) } // optional bool debug_info = 23 [default = false]; inline bool SolverParameter::has_debug_info() const { - return (_has_bits_[1] & 0x00000004u) != 0; + return (_has_bits_[1] & 0x00000020u) != 0; } inline void SolverParameter::set_has_debug_info() { - _has_bits_[1] |= 0x00000004u; + _has_bits_[1] |= 0x00000020u; } inline void SolverParameter::clear_has_debug_info() { - _has_bits_[1] &= ~0x00000004u; + _has_bits_[1] &= ~0x00000020u; } inline void SolverParameter::clear_debug_info() { debug_info_ = false; @@ -13586,13 +15189,13 @@ inline void SolverParameter::set_debug_info(bool value) { // optional bool snapshot_after_train = 28 [default = true]; inline bool SolverParameter::has_snapshot_after_train() const { - return (_has_bits_[1] & 0x00000008u) != 0; + return (_has_bits_[1] & 0x00000040u) != 0; } inline void SolverParameter::set_has_snapshot_after_train() { - _has_bits_[1] |= 0x00000008u; + _has_bits_[1] |= 0x00000040u; } inline void SolverParameter::clear_has_snapshot_after_train() { - _has_bits_[1] &= ~0x00000008u; + _has_bits_[1] &= ~0x00000040u; } inline void SolverParameter::clear_snapshot_after_train() { snapshot_after_train_ = true; @@ -13608,6 +15211,31 @@ inline void SolverParameter::set_snapshot_after_train(bool value) { // @@protoc_insertion_point(field_set:caffe.SolverParameter.snapshot_after_train) } +// optional .caffe.SolverParameter.SolverType solver_type = 30 [default = SGD]; +inline bool SolverParameter::has_solver_type() const { + return (_has_bits_[1] & 0x00000080u) != 0; +} +inline void SolverParameter::set_has_solver_type() { + _has_bits_[1] |= 0x00000080u; +} +inline void SolverParameter::clear_has_solver_type() { + _has_bits_[1] &= ~0x00000080u; +} +inline void SolverParameter::clear_solver_type() { + solver_type_ = 0; + clear_has_solver_type(); +} +inline ::caffe::SolverParameter_SolverType SolverParameter::solver_type() const { + // @@protoc_insertion_point(field_get:caffe.SolverParameter.solver_type) + return static_cast< ::caffe::SolverParameter_SolverType >(solver_type_); +} +inline void SolverParameter::set_solver_type(::caffe::SolverParameter_SolverType value) { + assert(::caffe::SolverParameter_SolverType_IsValid(value)); + set_has_solver_type(); + solver_type_ = value; + // @@protoc_insertion_point(field_set:caffe.SolverParameter.solver_type) +} + inline const SolverParameter* SolverParameter::internal_default_instance() { return &SolverParameter_default_instance_.get(); } @@ -14792,15 +16420,105 @@ inline void LayerParameter::set_allocated_argmax_param(::caffe::ArgMaxParameter* // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.argmax_param) } +// optional .caffe.BatchNormParameter batch_norm_param = 139; +inline bool LayerParameter::has_batch_norm_param() const { + return (_has_bits_[0] & 0x00008000u) != 0; +} +inline void LayerParameter::set_has_batch_norm_param() { + _has_bits_[0] |= 0x00008000u; +} +inline void LayerParameter::clear_has_batch_norm_param() { + _has_bits_[0] &= ~0x00008000u; +} +inline void LayerParameter::clear_batch_norm_param() { + if (batch_norm_param_ != NULL) batch_norm_param_->::caffe::BatchNormParameter::Clear(); + clear_has_batch_norm_param(); +} +inline const ::caffe::BatchNormParameter& LayerParameter::batch_norm_param() const { + // @@protoc_insertion_point(field_get:caffe.LayerParameter.batch_norm_param) + return batch_norm_param_ != NULL ? *batch_norm_param_ + : *::caffe::BatchNormParameter::internal_default_instance(); +} +inline ::caffe::BatchNormParameter* LayerParameter::mutable_batch_norm_param() { + set_has_batch_norm_param(); + if (batch_norm_param_ == NULL) { + batch_norm_param_ = new ::caffe::BatchNormParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.LayerParameter.batch_norm_param) + return batch_norm_param_; +} +inline ::caffe::BatchNormParameter* LayerParameter::release_batch_norm_param() { + // @@protoc_insertion_point(field_release:caffe.LayerParameter.batch_norm_param) + clear_has_batch_norm_param(); + ::caffe::BatchNormParameter* temp = batch_norm_param_; + batch_norm_param_ = NULL; + return temp; +} +inline void LayerParameter::set_allocated_batch_norm_param(::caffe::BatchNormParameter* batch_norm_param) { + delete batch_norm_param_; + batch_norm_param_ = batch_norm_param; + if (batch_norm_param) { + set_has_batch_norm_param(); + } else { + clear_has_batch_norm_param(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.batch_norm_param) +} + +// optional .caffe.BiasParameter bias_param = 141; +inline bool LayerParameter::has_bias_param() const { + return (_has_bits_[0] & 0x00010000u) != 0; +} +inline void LayerParameter::set_has_bias_param() { + _has_bits_[0] |= 0x00010000u; +} +inline void LayerParameter::clear_has_bias_param() { + _has_bits_[0] &= ~0x00010000u; +} +inline void LayerParameter::clear_bias_param() { + if (bias_param_ != NULL) bias_param_->::caffe::BiasParameter::Clear(); + clear_has_bias_param(); +} +inline const ::caffe::BiasParameter& LayerParameter::bias_param() const { + // @@protoc_insertion_point(field_get:caffe.LayerParameter.bias_param) + return bias_param_ != NULL ? *bias_param_ + : *::caffe::BiasParameter::internal_default_instance(); +} +inline ::caffe::BiasParameter* LayerParameter::mutable_bias_param() { + set_has_bias_param(); + if (bias_param_ == NULL) { + bias_param_ = new ::caffe::BiasParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.LayerParameter.bias_param) + return bias_param_; +} +inline ::caffe::BiasParameter* LayerParameter::release_bias_param() { + // @@protoc_insertion_point(field_release:caffe.LayerParameter.bias_param) + clear_has_bias_param(); + ::caffe::BiasParameter* temp = bias_param_; + bias_param_ = NULL; + return temp; +} +inline void LayerParameter::set_allocated_bias_param(::caffe::BiasParameter* bias_param) { + delete bias_param_; + bias_param_ = bias_param; + if (bias_param) { + set_has_bias_param(); + } else { + clear_has_bias_param(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.bias_param) +} + // optional .caffe.ConcatParameter concat_param = 104; inline bool LayerParameter::has_concat_param() const { - return (_has_bits_[0] & 0x00008000u) != 0; + return (_has_bits_[0] & 0x00020000u) != 0; } inline void LayerParameter::set_has_concat_param() { - _has_bits_[0] |= 0x00008000u; + _has_bits_[0] |= 0x00020000u; } inline void LayerParameter::clear_has_concat_param() { - _has_bits_[0] &= ~0x00008000u; + _has_bits_[0] &= ~0x00020000u; } inline void LayerParameter::clear_concat_param() { if (concat_param_ != NULL) concat_param_->::caffe::ConcatParameter::Clear(); @@ -14839,13 +16557,13 @@ inline void LayerParameter::set_allocated_concat_param(::caffe::ConcatParameter* // optional .caffe.ContrastiveLossParameter contrastive_loss_param = 105; inline bool LayerParameter::has_contrastive_loss_param() const { - return (_has_bits_[0] & 0x00010000u) != 0; + return (_has_bits_[0] & 0x00040000u) != 0; } inline void LayerParameter::set_has_contrastive_loss_param() { - _has_bits_[0] |= 0x00010000u; + _has_bits_[0] |= 0x00040000u; } inline void LayerParameter::clear_has_contrastive_loss_param() { - _has_bits_[0] &= ~0x00010000u; + _has_bits_[0] &= ~0x00040000u; } inline void LayerParameter::clear_contrastive_loss_param() { if (contrastive_loss_param_ != NULL) contrastive_loss_param_->::caffe::ContrastiveLossParameter::Clear(); @@ -14884,13 +16602,13 @@ inline void LayerParameter::set_allocated_contrastive_loss_param(::caffe::Contra // optional .caffe.ConvolutionParameter convolution_param = 106; inline bool LayerParameter::has_convolution_param() const { - return (_has_bits_[0] & 0x00020000u) != 0; + return (_has_bits_[0] & 0x00080000u) != 0; } inline void LayerParameter::set_has_convolution_param() { - _has_bits_[0] |= 0x00020000u; + _has_bits_[0] |= 0x00080000u; } inline void LayerParameter::clear_has_convolution_param() { - _has_bits_[0] &= ~0x00020000u; + _has_bits_[0] &= ~0x00080000u; } inline void LayerParameter::clear_convolution_param() { if (convolution_param_ != NULL) convolution_param_->::caffe::ConvolutionParameter::Clear(); @@ -14927,15 +16645,15 @@ inline void LayerParameter::set_allocated_convolution_param(::caffe::Convolution // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.convolution_param) } -// optional .caffe.CropParameter crop_param = 137; +// optional .caffe.CropParameter crop_param = 144; inline bool LayerParameter::has_crop_param() const { - return (_has_bits_[0] & 0x00040000u) != 0; + return (_has_bits_[0] & 0x00100000u) != 0; } inline void LayerParameter::set_has_crop_param() { - _has_bits_[0] |= 0x00040000u; + _has_bits_[0] |= 0x00100000u; } inline void LayerParameter::clear_has_crop_param() { - _has_bits_[0] &= ~0x00040000u; + _has_bits_[0] &= ~0x00100000u; } inline void LayerParameter::clear_crop_param() { if (crop_param_ != NULL) crop_param_->::caffe::CropParameter::Clear(); @@ -14974,13 +16692,13 @@ inline void LayerParameter::set_allocated_crop_param(::caffe::CropParameter* cro // optional .caffe.DataParameter data_param = 107; inline bool LayerParameter::has_data_param() const { - return (_has_bits_[0] & 0x00080000u) != 0; + return (_has_bits_[0] & 0x00200000u) != 0; } inline void LayerParameter::set_has_data_param() { - _has_bits_[0] |= 0x00080000u; + _has_bits_[0] |= 0x00200000u; } inline void LayerParameter::clear_has_data_param() { - _has_bits_[0] &= ~0x00080000u; + _has_bits_[0] &= ~0x00200000u; } inline void LayerParameter::clear_data_param() { if (data_param_ != NULL) data_param_->::caffe::DataParameter::Clear(); @@ -15017,15 +16735,15 @@ inline void LayerParameter::set_allocated_data_param(::caffe::DataParameter* dat // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.data_param) } -// optional .caffe.DetectionOutputParameter detection_output_param = 141; +// optional .caffe.DetectionOutputParameter detection_output_param = 147; inline bool LayerParameter::has_detection_output_param() const { - return (_has_bits_[0] & 0x00100000u) != 0; + return (_has_bits_[0] & 0x00400000u) != 0; } inline void LayerParameter::set_has_detection_output_param() { - _has_bits_[0] |= 0x00100000u; + _has_bits_[0] |= 0x00400000u; } inline void LayerParameter::clear_has_detection_output_param() { - _has_bits_[0] &= ~0x00100000u; + _has_bits_[0] &= ~0x00400000u; } inline void LayerParameter::clear_detection_output_param() { if (detection_output_param_ != NULL) detection_output_param_->::caffe::DetectionOutputParameter::Clear(); @@ -15064,13 +16782,13 @@ inline void LayerParameter::set_allocated_detection_output_param(::caffe::Detect // optional .caffe.DropoutParameter dropout_param = 108; inline bool LayerParameter::has_dropout_param() const { - return (_has_bits_[0] & 0x00200000u) != 0; + return (_has_bits_[0] & 0x00800000u) != 0; } inline void LayerParameter::set_has_dropout_param() { - _has_bits_[0] |= 0x00200000u; + _has_bits_[0] |= 0x00800000u; } inline void LayerParameter::clear_has_dropout_param() { - _has_bits_[0] &= ~0x00200000u; + _has_bits_[0] &= ~0x00800000u; } inline void LayerParameter::clear_dropout_param() { if (dropout_param_ != NULL) dropout_param_->::caffe::DropoutParameter::Clear(); @@ -15109,13 +16827,13 @@ inline void LayerParameter::set_allocated_dropout_param(::caffe::DropoutParamete // optional .caffe.DummyDataParameter dummy_data_param = 109; inline bool LayerParameter::has_dummy_data_param() const { - return (_has_bits_[0] & 0x00400000u) != 0; + return (_has_bits_[0] & 0x01000000u) != 0; } inline void LayerParameter::set_has_dummy_data_param() { - _has_bits_[0] |= 0x00400000u; + _has_bits_[0] |= 0x01000000u; } inline void LayerParameter::clear_has_dummy_data_param() { - _has_bits_[0] &= ~0x00400000u; + _has_bits_[0] &= ~0x01000000u; } inline void LayerParameter::clear_dummy_data_param() { if (dummy_data_param_ != NULL) dummy_data_param_->::caffe::DummyDataParameter::Clear(); @@ -15154,13 +16872,13 @@ inline void LayerParameter::set_allocated_dummy_data_param(::caffe::DummyDataPar // optional .caffe.EltwiseParameter eltwise_param = 110; inline bool LayerParameter::has_eltwise_param() const { - return (_has_bits_[0] & 0x00800000u) != 0; + return (_has_bits_[0] & 0x02000000u) != 0; } inline void LayerParameter::set_has_eltwise_param() { - _has_bits_[0] |= 0x00800000u; + _has_bits_[0] |= 0x02000000u; } inline void LayerParameter::clear_has_eltwise_param() { - _has_bits_[0] &= ~0x00800000u; + _has_bits_[0] &= ~0x02000000u; } inline void LayerParameter::clear_eltwise_param() { if (eltwise_param_ != NULL) eltwise_param_->::caffe::EltwiseParameter::Clear(); @@ -15197,15 +16915,105 @@ inline void LayerParameter::set_allocated_eltwise_param(::caffe::EltwiseParamete // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.eltwise_param) } +// optional .caffe.ELUParameter elu_param = 140; +inline bool LayerParameter::has_elu_param() const { + return (_has_bits_[0] & 0x04000000u) != 0; +} +inline void LayerParameter::set_has_elu_param() { + _has_bits_[0] |= 0x04000000u; +} +inline void LayerParameter::clear_has_elu_param() { + _has_bits_[0] &= ~0x04000000u; +} +inline void LayerParameter::clear_elu_param() { + if (elu_param_ != NULL) elu_param_->::caffe::ELUParameter::Clear(); + clear_has_elu_param(); +} +inline const ::caffe::ELUParameter& LayerParameter::elu_param() const { + // @@protoc_insertion_point(field_get:caffe.LayerParameter.elu_param) + return elu_param_ != NULL ? *elu_param_ + : *::caffe::ELUParameter::internal_default_instance(); +} +inline ::caffe::ELUParameter* LayerParameter::mutable_elu_param() { + set_has_elu_param(); + if (elu_param_ == NULL) { + elu_param_ = new ::caffe::ELUParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.LayerParameter.elu_param) + return elu_param_; +} +inline ::caffe::ELUParameter* LayerParameter::release_elu_param() { + // @@protoc_insertion_point(field_release:caffe.LayerParameter.elu_param) + clear_has_elu_param(); + ::caffe::ELUParameter* temp = elu_param_; + elu_param_ = NULL; + return temp; +} +inline void LayerParameter::set_allocated_elu_param(::caffe::ELUParameter* elu_param) { + delete elu_param_; + elu_param_ = elu_param; + if (elu_param) { + set_has_elu_param(); + } else { + clear_has_elu_param(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.elu_param) +} + +// optional .caffe.EmbedParameter embed_param = 137; +inline bool LayerParameter::has_embed_param() const { + return (_has_bits_[0] & 0x08000000u) != 0; +} +inline void LayerParameter::set_has_embed_param() { + _has_bits_[0] |= 0x08000000u; +} +inline void LayerParameter::clear_has_embed_param() { + _has_bits_[0] &= ~0x08000000u; +} +inline void LayerParameter::clear_embed_param() { + if (embed_param_ != NULL) embed_param_->::caffe::EmbedParameter::Clear(); + clear_has_embed_param(); +} +inline const ::caffe::EmbedParameter& LayerParameter::embed_param() const { + // @@protoc_insertion_point(field_get:caffe.LayerParameter.embed_param) + return embed_param_ != NULL ? *embed_param_ + : *::caffe::EmbedParameter::internal_default_instance(); +} +inline ::caffe::EmbedParameter* LayerParameter::mutable_embed_param() { + set_has_embed_param(); + if (embed_param_ == NULL) { + embed_param_ = new ::caffe::EmbedParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.LayerParameter.embed_param) + return embed_param_; +} +inline ::caffe::EmbedParameter* LayerParameter::release_embed_param() { + // @@protoc_insertion_point(field_release:caffe.LayerParameter.embed_param) + clear_has_embed_param(); + ::caffe::EmbedParameter* temp = embed_param_; + embed_param_ = NULL; + return temp; +} +inline void LayerParameter::set_allocated_embed_param(::caffe::EmbedParameter* embed_param) { + delete embed_param_; + embed_param_ = embed_param; + if (embed_param) { + set_has_embed_param(); + } else { + clear_has_embed_param(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.embed_param) +} + // optional .caffe.ExpParameter exp_param = 111; inline bool LayerParameter::has_exp_param() const { - return (_has_bits_[0] & 0x01000000u) != 0; + return (_has_bits_[0] & 0x10000000u) != 0; } inline void LayerParameter::set_has_exp_param() { - _has_bits_[0] |= 0x01000000u; + _has_bits_[0] |= 0x10000000u; } inline void LayerParameter::clear_has_exp_param() { - _has_bits_[0] &= ~0x01000000u; + _has_bits_[0] &= ~0x10000000u; } inline void LayerParameter::clear_exp_param() { if (exp_param_ != NULL) exp_param_->::caffe::ExpParameter::Clear(); @@ -15244,13 +17052,13 @@ inline void LayerParameter::set_allocated_exp_param(::caffe::ExpParameter* exp_p // optional .caffe.FlattenParameter flatten_param = 135; inline bool LayerParameter::has_flatten_param() const { - return (_has_bits_[0] & 0x02000000u) != 0; + return (_has_bits_[0] & 0x20000000u) != 0; } inline void LayerParameter::set_has_flatten_param() { - _has_bits_[0] |= 0x02000000u; + _has_bits_[0] |= 0x20000000u; } inline void LayerParameter::clear_has_flatten_param() { - _has_bits_[0] &= ~0x02000000u; + _has_bits_[0] &= ~0x20000000u; } inline void LayerParameter::clear_flatten_param() { if (flatten_param_ != NULL) flatten_param_->::caffe::FlattenParameter::Clear(); @@ -15289,13 +17097,13 @@ inline void LayerParameter::set_allocated_flatten_param(::caffe::FlattenParamete // optional .caffe.HDF5DataParameter hdf5_data_param = 112; inline bool LayerParameter::has_hdf5_data_param() const { - return (_has_bits_[0] & 0x04000000u) != 0; + return (_has_bits_[0] & 0x40000000u) != 0; } inline void LayerParameter::set_has_hdf5_data_param() { - _has_bits_[0] |= 0x04000000u; + _has_bits_[0] |= 0x40000000u; } inline void LayerParameter::clear_has_hdf5_data_param() { - _has_bits_[0] &= ~0x04000000u; + _has_bits_[0] &= ~0x40000000u; } inline void LayerParameter::clear_hdf5_data_param() { if (hdf5_data_param_ != NULL) hdf5_data_param_->::caffe::HDF5DataParameter::Clear(); @@ -15334,13 +17142,13 @@ inline void LayerParameter::set_allocated_hdf5_data_param(::caffe::HDF5DataParam // optional .caffe.HDF5OutputParameter hdf5_output_param = 113; inline bool LayerParameter::has_hdf5_output_param() const { - return (_has_bits_[0] & 0x08000000u) != 0; + return (_has_bits_[0] & 0x80000000u) != 0; } inline void LayerParameter::set_has_hdf5_output_param() { - _has_bits_[0] |= 0x08000000u; + _has_bits_[0] |= 0x80000000u; } inline void LayerParameter::clear_has_hdf5_output_param() { - _has_bits_[0] &= ~0x08000000u; + _has_bits_[0] &= ~0x80000000u; } inline void LayerParameter::clear_hdf5_output_param() { if (hdf5_output_param_ != NULL) hdf5_output_param_->::caffe::HDF5OutputParameter::Clear(); @@ -15379,13 +17187,13 @@ inline void LayerParameter::set_allocated_hdf5_output_param(::caffe::HDF5OutputP // optional .caffe.HingeLossParameter hinge_loss_param = 114; inline bool LayerParameter::has_hinge_loss_param() const { - return (_has_bits_[0] & 0x10000000u) != 0; + return (_has_bits_[1] & 0x00000001u) != 0; } inline void LayerParameter::set_has_hinge_loss_param() { - _has_bits_[0] |= 0x10000000u; + _has_bits_[1] |= 0x00000001u; } inline void LayerParameter::clear_has_hinge_loss_param() { - _has_bits_[0] &= ~0x10000000u; + _has_bits_[1] &= ~0x00000001u; } inline void LayerParameter::clear_hinge_loss_param() { if (hinge_loss_param_ != NULL) hinge_loss_param_->::caffe::HingeLossParameter::Clear(); @@ -15424,13 +17232,13 @@ inline void LayerParameter::set_allocated_hinge_loss_param(::caffe::HingeLossPar // optional .caffe.ImageDataParameter image_data_param = 115; inline bool LayerParameter::has_image_data_param() const { - return (_has_bits_[0] & 0x20000000u) != 0; + return (_has_bits_[1] & 0x00000002u) != 0; } inline void LayerParameter::set_has_image_data_param() { - _has_bits_[0] |= 0x20000000u; + _has_bits_[1] |= 0x00000002u; } inline void LayerParameter::clear_has_image_data_param() { - _has_bits_[0] &= ~0x20000000u; + _has_bits_[1] &= ~0x00000002u; } inline void LayerParameter::clear_image_data_param() { if (image_data_param_ != NULL) image_data_param_->::caffe::ImageDataParameter::Clear(); @@ -15469,13 +17277,13 @@ inline void LayerParameter::set_allocated_image_data_param(::caffe::ImageDataPar // optional .caffe.InfogainLossParameter infogain_loss_param = 116; inline bool LayerParameter::has_infogain_loss_param() const { - return (_has_bits_[0] & 0x40000000u) != 0; + return (_has_bits_[1] & 0x00000004u) != 0; } inline void LayerParameter::set_has_infogain_loss_param() { - _has_bits_[0] |= 0x40000000u; + _has_bits_[1] |= 0x00000004u; } inline void LayerParameter::clear_has_infogain_loss_param() { - _has_bits_[0] &= ~0x40000000u; + _has_bits_[1] &= ~0x00000004u; } inline void LayerParameter::clear_infogain_loss_param() { if (infogain_loss_param_ != NULL) infogain_loss_param_->::caffe::InfogainLossParameter::Clear(); @@ -15514,13 +17322,13 @@ inline void LayerParameter::set_allocated_infogain_loss_param(::caffe::InfogainL // optional .caffe.InnerProductParameter inner_product_param = 117; inline bool LayerParameter::has_inner_product_param() const { - return (_has_bits_[0] & 0x80000000u) != 0; + return (_has_bits_[1] & 0x00000008u) != 0; } inline void LayerParameter::set_has_inner_product_param() { - _has_bits_[0] |= 0x80000000u; + _has_bits_[1] |= 0x00000008u; } inline void LayerParameter::clear_has_inner_product_param() { - _has_bits_[0] &= ~0x80000000u; + _has_bits_[1] &= ~0x00000008u; } inline void LayerParameter::clear_inner_product_param() { if (inner_product_param_ != NULL) inner_product_param_->::caffe::InnerProductParameter::Clear(); @@ -15557,15 +17365,60 @@ inline void LayerParameter::set_allocated_inner_product_param(::caffe::InnerProd // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.inner_product_param) } +// optional .caffe.InputParameter input_param = 143; +inline bool LayerParameter::has_input_param() const { + return (_has_bits_[1] & 0x00000010u) != 0; +} +inline void LayerParameter::set_has_input_param() { + _has_bits_[1] |= 0x00000010u; +} +inline void LayerParameter::clear_has_input_param() { + _has_bits_[1] &= ~0x00000010u; +} +inline void LayerParameter::clear_input_param() { + if (input_param_ != NULL) input_param_->::caffe::InputParameter::Clear(); + clear_has_input_param(); +} +inline const ::caffe::InputParameter& LayerParameter::input_param() const { + // @@protoc_insertion_point(field_get:caffe.LayerParameter.input_param) + return input_param_ != NULL ? *input_param_ + : *::caffe::InputParameter::internal_default_instance(); +} +inline ::caffe::InputParameter* LayerParameter::mutable_input_param() { + set_has_input_param(); + if (input_param_ == NULL) { + input_param_ = new ::caffe::InputParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.LayerParameter.input_param) + return input_param_; +} +inline ::caffe::InputParameter* LayerParameter::release_input_param() { + // @@protoc_insertion_point(field_release:caffe.LayerParameter.input_param) + clear_has_input_param(); + ::caffe::InputParameter* temp = input_param_; + input_param_ = NULL; + return temp; +} +inline void LayerParameter::set_allocated_input_param(::caffe::InputParameter* input_param) { + delete input_param_; + input_param_ = input_param; + if (input_param) { + set_has_input_param(); + } else { + clear_has_input_param(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.input_param) +} + // optional .caffe.LogParameter log_param = 134; inline bool LayerParameter::has_log_param() const { - return (_has_bits_[1] & 0x00000001u) != 0; + return (_has_bits_[1] & 0x00000020u) != 0; } inline void LayerParameter::set_has_log_param() { - _has_bits_[1] |= 0x00000001u; + _has_bits_[1] |= 0x00000020u; } inline void LayerParameter::clear_has_log_param() { - _has_bits_[1] &= ~0x00000001u; + _has_bits_[1] &= ~0x00000020u; } inline void LayerParameter::clear_log_param() { if (log_param_ != NULL) log_param_->::caffe::LogParameter::Clear(); @@ -15604,13 +17457,13 @@ inline void LayerParameter::set_allocated_log_param(::caffe::LogParameter* log_p // optional .caffe.LRNParameter lrn_param = 118; inline bool LayerParameter::has_lrn_param() const { - return (_has_bits_[1] & 0x00000002u) != 0; + return (_has_bits_[1] & 0x00000040u) != 0; } inline void LayerParameter::set_has_lrn_param() { - _has_bits_[1] |= 0x00000002u; + _has_bits_[1] |= 0x00000040u; } inline void LayerParameter::clear_has_lrn_param() { - _has_bits_[1] &= ~0x00000002u; + _has_bits_[1] &= ~0x00000040u; } inline void LayerParameter::clear_lrn_param() { if (lrn_param_ != NULL) lrn_param_->::caffe::LRNParameter::Clear(); @@ -15649,13 +17502,13 @@ inline void LayerParameter::set_allocated_lrn_param(::caffe::LRNParameter* lrn_p // optional .caffe.MemoryDataParameter memory_data_param = 119; inline bool LayerParameter::has_memory_data_param() const { - return (_has_bits_[1] & 0x00000004u) != 0; + return (_has_bits_[1] & 0x00000080u) != 0; } inline void LayerParameter::set_has_memory_data_param() { - _has_bits_[1] |= 0x00000004u; + _has_bits_[1] |= 0x00000080u; } inline void LayerParameter::clear_has_memory_data_param() { - _has_bits_[1] &= ~0x00000004u; + _has_bits_[1] &= ~0x00000080u; } inline void LayerParameter::clear_memory_data_param() { if (memory_data_param_ != NULL) memory_data_param_->::caffe::MemoryDataParameter::Clear(); @@ -15694,13 +17547,13 @@ inline void LayerParameter::set_allocated_memory_data_param(::caffe::MemoryDataP // optional .caffe.MVNParameter mvn_param = 120; inline bool LayerParameter::has_mvn_param() const { - return (_has_bits_[1] & 0x00000008u) != 0; + return (_has_bits_[1] & 0x00000100u) != 0; } inline void LayerParameter::set_has_mvn_param() { - _has_bits_[1] |= 0x00000008u; + _has_bits_[1] |= 0x00000100u; } inline void LayerParameter::clear_has_mvn_param() { - _has_bits_[1] &= ~0x00000008u; + _has_bits_[1] &= ~0x00000100u; } inline void LayerParameter::clear_mvn_param() { if (mvn_param_ != NULL) mvn_param_->::caffe::MVNParameter::Clear(); @@ -15737,15 +17590,15 @@ inline void LayerParameter::set_allocated_mvn_param(::caffe::MVNParameter* mvn_p // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.mvn_param) } -// optional .caffe.NormalizeBBoxParameter normalize_bbox_param = 139; +// optional .caffe.NormalizeBBoxParameter normalize_bbox_param = 149; inline bool LayerParameter::has_normalize_bbox_param() const { - return (_has_bits_[1] & 0x00000010u) != 0; + return (_has_bits_[1] & 0x00000200u) != 0; } inline void LayerParameter::set_has_normalize_bbox_param() { - _has_bits_[1] |= 0x00000010u; + _has_bits_[1] |= 0x00000200u; } inline void LayerParameter::clear_has_normalize_bbox_param() { - _has_bits_[1] &= ~0x00000010u; + _has_bits_[1] &= ~0x00000200u; } inline void LayerParameter::clear_normalize_bbox_param() { if (normalize_bbox_param_ != NULL) normalize_bbox_param_->::caffe::NormalizeBBoxParameter::Clear(); @@ -15782,15 +17635,15 @@ inline void LayerParameter::set_allocated_normalize_bbox_param(::caffe::Normaliz // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.normalize_bbox_param) } -// optional .caffe.PermuteParameter permute_param = 138; +// optional .caffe.PermuteParameter permute_param = 148; inline bool LayerParameter::has_permute_param() const { - return (_has_bits_[1] & 0x00000020u) != 0; + return (_has_bits_[1] & 0x00000400u) != 0; } inline void LayerParameter::set_has_permute_param() { - _has_bits_[1] |= 0x00000020u; + _has_bits_[1] |= 0x00000400u; } inline void LayerParameter::clear_has_permute_param() { - _has_bits_[1] &= ~0x00000020u; + _has_bits_[1] &= ~0x00000400u; } inline void LayerParameter::clear_permute_param() { if (permute_param_ != NULL) permute_param_->::caffe::PermuteParameter::Clear(); @@ -15827,15 +17680,60 @@ inline void LayerParameter::set_allocated_permute_param(::caffe::PermuteParamete // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.permute_param) } +// optional .caffe.ParameterParameter parameter_param = 145; +inline bool LayerParameter::has_parameter_param() const { + return (_has_bits_[1] & 0x00000800u) != 0; +} +inline void LayerParameter::set_has_parameter_param() { + _has_bits_[1] |= 0x00000800u; +} +inline void LayerParameter::clear_has_parameter_param() { + _has_bits_[1] &= ~0x00000800u; +} +inline void LayerParameter::clear_parameter_param() { + if (parameter_param_ != NULL) parameter_param_->::caffe::ParameterParameter::Clear(); + clear_has_parameter_param(); +} +inline const ::caffe::ParameterParameter& LayerParameter::parameter_param() const { + // @@protoc_insertion_point(field_get:caffe.LayerParameter.parameter_param) + return parameter_param_ != NULL ? *parameter_param_ + : *::caffe::ParameterParameter::internal_default_instance(); +} +inline ::caffe::ParameterParameter* LayerParameter::mutable_parameter_param() { + set_has_parameter_param(); + if (parameter_param_ == NULL) { + parameter_param_ = new ::caffe::ParameterParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.LayerParameter.parameter_param) + return parameter_param_; +} +inline ::caffe::ParameterParameter* LayerParameter::release_parameter_param() { + // @@protoc_insertion_point(field_release:caffe.LayerParameter.parameter_param) + clear_has_parameter_param(); + ::caffe::ParameterParameter* temp = parameter_param_; + parameter_param_ = NULL; + return temp; +} +inline void LayerParameter::set_allocated_parameter_param(::caffe::ParameterParameter* parameter_param) { + delete parameter_param_; + parameter_param_ = parameter_param; + if (parameter_param) { + set_has_parameter_param(); + } else { + clear_has_parameter_param(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.parameter_param) +} + // optional .caffe.PoolingParameter pooling_param = 121; inline bool LayerParameter::has_pooling_param() const { - return (_has_bits_[1] & 0x00000040u) != 0; + return (_has_bits_[1] & 0x00001000u) != 0; } inline void LayerParameter::set_has_pooling_param() { - _has_bits_[1] |= 0x00000040u; + _has_bits_[1] |= 0x00001000u; } inline void LayerParameter::clear_has_pooling_param() { - _has_bits_[1] &= ~0x00000040u; + _has_bits_[1] &= ~0x00001000u; } inline void LayerParameter::clear_pooling_param() { if (pooling_param_ != NULL) pooling_param_->::caffe::PoolingParameter::Clear(); @@ -15874,13 +17772,13 @@ inline void LayerParameter::set_allocated_pooling_param(::caffe::PoolingParamete // optional .caffe.PowerParameter power_param = 122; inline bool LayerParameter::has_power_param() const { - return (_has_bits_[1] & 0x00000080u) != 0; + return (_has_bits_[1] & 0x00002000u) != 0; } inline void LayerParameter::set_has_power_param() { - _has_bits_[1] |= 0x00000080u; + _has_bits_[1] |= 0x00002000u; } inline void LayerParameter::clear_has_power_param() { - _has_bits_[1] &= ~0x00000080u; + _has_bits_[1] &= ~0x00002000u; } inline void LayerParameter::clear_power_param() { if (power_param_ != NULL) power_param_->::caffe::PowerParameter::Clear(); @@ -15919,13 +17817,13 @@ inline void LayerParameter::set_allocated_power_param(::caffe::PowerParameter* p // optional .caffe.PReLUParameter prelu_param = 131; inline bool LayerParameter::has_prelu_param() const { - return (_has_bits_[1] & 0x00000100u) != 0; + return (_has_bits_[1] & 0x00004000u) != 0; } inline void LayerParameter::set_has_prelu_param() { - _has_bits_[1] |= 0x00000100u; + _has_bits_[1] |= 0x00004000u; } inline void LayerParameter::clear_has_prelu_param() { - _has_bits_[1] &= ~0x00000100u; + _has_bits_[1] &= ~0x00004000u; } inline void LayerParameter::clear_prelu_param() { if (prelu_param_ != NULL) prelu_param_->::caffe::PReLUParameter::Clear(); @@ -15962,15 +17860,15 @@ inline void LayerParameter::set_allocated_prelu_param(::caffe::PReLUParameter* p // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.prelu_param) } -// optional .caffe.PriorBoxParameter prior_box_param = 140; +// optional .caffe.PriorBoxParameter prior_box_param = 150; inline bool LayerParameter::has_prior_box_param() const { - return (_has_bits_[1] & 0x00000200u) != 0; + return (_has_bits_[1] & 0x00008000u) != 0; } inline void LayerParameter::set_has_prior_box_param() { - _has_bits_[1] |= 0x00000200u; + _has_bits_[1] |= 0x00008000u; } inline void LayerParameter::clear_has_prior_box_param() { - _has_bits_[1] &= ~0x00000200u; + _has_bits_[1] &= ~0x00008000u; } inline void LayerParameter::clear_prior_box_param() { if (prior_box_param_ != NULL) prior_box_param_->::caffe::PriorBoxParameter::Clear(); @@ -16009,13 +17907,13 @@ inline void LayerParameter::set_allocated_prior_box_param(::caffe::PriorBoxParam // optional .caffe.PythonParameter python_param = 130; inline bool LayerParameter::has_python_param() const { - return (_has_bits_[1] & 0x00000400u) != 0; + return (_has_bits_[1] & 0x00010000u) != 0; } inline void LayerParameter::set_has_python_param() { - _has_bits_[1] |= 0x00000400u; + _has_bits_[1] |= 0x00010000u; } inline void LayerParameter::clear_has_python_param() { - _has_bits_[1] &= ~0x00000400u; + _has_bits_[1] &= ~0x00010000u; } inline void LayerParameter::clear_python_param() { if (python_param_ != NULL) python_param_->::caffe::PythonParameter::Clear(); @@ -16052,15 +17950,60 @@ inline void LayerParameter::set_allocated_python_param(::caffe::PythonParameter* // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.python_param) } +// optional .caffe.RecurrentParameter recurrent_param = 146; +inline bool LayerParameter::has_recurrent_param() const { + return (_has_bits_[1] & 0x00020000u) != 0; +} +inline void LayerParameter::set_has_recurrent_param() { + _has_bits_[1] |= 0x00020000u; +} +inline void LayerParameter::clear_has_recurrent_param() { + _has_bits_[1] &= ~0x00020000u; +} +inline void LayerParameter::clear_recurrent_param() { + if (recurrent_param_ != NULL) recurrent_param_->::caffe::RecurrentParameter::Clear(); + clear_has_recurrent_param(); +} +inline const ::caffe::RecurrentParameter& LayerParameter::recurrent_param() const { + // @@protoc_insertion_point(field_get:caffe.LayerParameter.recurrent_param) + return recurrent_param_ != NULL ? *recurrent_param_ + : *::caffe::RecurrentParameter::internal_default_instance(); +} +inline ::caffe::RecurrentParameter* LayerParameter::mutable_recurrent_param() { + set_has_recurrent_param(); + if (recurrent_param_ == NULL) { + recurrent_param_ = new ::caffe::RecurrentParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.LayerParameter.recurrent_param) + return recurrent_param_; +} +inline ::caffe::RecurrentParameter* LayerParameter::release_recurrent_param() { + // @@protoc_insertion_point(field_release:caffe.LayerParameter.recurrent_param) + clear_has_recurrent_param(); + ::caffe::RecurrentParameter* temp = recurrent_param_; + recurrent_param_ = NULL; + return temp; +} +inline void LayerParameter::set_allocated_recurrent_param(::caffe::RecurrentParameter* recurrent_param) { + delete recurrent_param_; + recurrent_param_ = recurrent_param; + if (recurrent_param) { + set_has_recurrent_param(); + } else { + clear_has_recurrent_param(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.recurrent_param) +} + // optional .caffe.ReductionParameter reduction_param = 136; inline bool LayerParameter::has_reduction_param() const { - return (_has_bits_[1] & 0x00000800u) != 0; + return (_has_bits_[1] & 0x00040000u) != 0; } inline void LayerParameter::set_has_reduction_param() { - _has_bits_[1] |= 0x00000800u; + _has_bits_[1] |= 0x00040000u; } inline void LayerParameter::clear_has_reduction_param() { - _has_bits_[1] &= ~0x00000800u; + _has_bits_[1] &= ~0x00040000u; } inline void LayerParameter::clear_reduction_param() { if (reduction_param_ != NULL) reduction_param_->::caffe::ReductionParameter::Clear(); @@ -16099,13 +18042,13 @@ inline void LayerParameter::set_allocated_reduction_param(::caffe::ReductionPara // optional .caffe.ReLUParameter relu_param = 123; inline bool LayerParameter::has_relu_param() const { - return (_has_bits_[1] & 0x00001000u) != 0; + return (_has_bits_[1] & 0x00080000u) != 0; } inline void LayerParameter::set_has_relu_param() { - _has_bits_[1] |= 0x00001000u; + _has_bits_[1] |= 0x00080000u; } inline void LayerParameter::clear_has_relu_param() { - _has_bits_[1] &= ~0x00001000u; + _has_bits_[1] &= ~0x00080000u; } inline void LayerParameter::clear_relu_param() { if (relu_param_ != NULL) relu_param_->::caffe::ReLUParameter::Clear(); @@ -16144,13 +18087,13 @@ inline void LayerParameter::set_allocated_relu_param(::caffe::ReLUParameter* rel // optional .caffe.ReshapeParameter reshape_param = 133; inline bool LayerParameter::has_reshape_param() const { - return (_has_bits_[1] & 0x00002000u) != 0; + return (_has_bits_[1] & 0x00100000u) != 0; } inline void LayerParameter::set_has_reshape_param() { - _has_bits_[1] |= 0x00002000u; + _has_bits_[1] |= 0x00100000u; } inline void LayerParameter::clear_has_reshape_param() { - _has_bits_[1] &= ~0x00002000u; + _has_bits_[1] &= ~0x00100000u; } inline void LayerParameter::clear_reshape_param() { if (reshape_param_ != NULL) reshape_param_->::caffe::ReshapeParameter::Clear(); @@ -16187,15 +18130,60 @@ inline void LayerParameter::set_allocated_reshape_param(::caffe::ReshapeParamete // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.reshape_param) } +// optional .caffe.ScaleParameter scale_param = 142; +inline bool LayerParameter::has_scale_param() const { + return (_has_bits_[1] & 0x00200000u) != 0; +} +inline void LayerParameter::set_has_scale_param() { + _has_bits_[1] |= 0x00200000u; +} +inline void LayerParameter::clear_has_scale_param() { + _has_bits_[1] &= ~0x00200000u; +} +inline void LayerParameter::clear_scale_param() { + if (scale_param_ != NULL) scale_param_->::caffe::ScaleParameter::Clear(); + clear_has_scale_param(); +} +inline const ::caffe::ScaleParameter& LayerParameter::scale_param() const { + // @@protoc_insertion_point(field_get:caffe.LayerParameter.scale_param) + return scale_param_ != NULL ? *scale_param_ + : *::caffe::ScaleParameter::internal_default_instance(); +} +inline ::caffe::ScaleParameter* LayerParameter::mutable_scale_param() { + set_has_scale_param(); + if (scale_param_ == NULL) { + scale_param_ = new ::caffe::ScaleParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.LayerParameter.scale_param) + return scale_param_; +} +inline ::caffe::ScaleParameter* LayerParameter::release_scale_param() { + // @@protoc_insertion_point(field_release:caffe.LayerParameter.scale_param) + clear_has_scale_param(); + ::caffe::ScaleParameter* temp = scale_param_; + scale_param_ = NULL; + return temp; +} +inline void LayerParameter::set_allocated_scale_param(::caffe::ScaleParameter* scale_param) { + delete scale_param_; + scale_param_ = scale_param; + if (scale_param) { + set_has_scale_param(); + } else { + clear_has_scale_param(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.scale_param) +} + // optional .caffe.SigmoidParameter sigmoid_param = 124; inline bool LayerParameter::has_sigmoid_param() const { - return (_has_bits_[1] & 0x00004000u) != 0; + return (_has_bits_[1] & 0x00400000u) != 0; } inline void LayerParameter::set_has_sigmoid_param() { - _has_bits_[1] |= 0x00004000u; + _has_bits_[1] |= 0x00400000u; } inline void LayerParameter::clear_has_sigmoid_param() { - _has_bits_[1] &= ~0x00004000u; + _has_bits_[1] &= ~0x00400000u; } inline void LayerParameter::clear_sigmoid_param() { if (sigmoid_param_ != NULL) sigmoid_param_->::caffe::SigmoidParameter::Clear(); @@ -16232,60 +18220,15 @@ inline void LayerParameter::set_allocated_sigmoid_param(::caffe::SigmoidParamete // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.sigmoid_param) } -// optional .caffe.SliceParameter slice_param = 126; -inline bool LayerParameter::has_slice_param() const { - return (_has_bits_[1] & 0x00008000u) != 0; -} -inline void LayerParameter::set_has_slice_param() { - _has_bits_[1] |= 0x00008000u; -} -inline void LayerParameter::clear_has_slice_param() { - _has_bits_[1] &= ~0x00008000u; -} -inline void LayerParameter::clear_slice_param() { - if (slice_param_ != NULL) slice_param_->::caffe::SliceParameter::Clear(); - clear_has_slice_param(); -} -inline const ::caffe::SliceParameter& LayerParameter::slice_param() const { - // @@protoc_insertion_point(field_get:caffe.LayerParameter.slice_param) - return slice_param_ != NULL ? *slice_param_ - : *::caffe::SliceParameter::internal_default_instance(); -} -inline ::caffe::SliceParameter* LayerParameter::mutable_slice_param() { - set_has_slice_param(); - if (slice_param_ == NULL) { - slice_param_ = new ::caffe::SliceParameter; - } - // @@protoc_insertion_point(field_mutable:caffe.LayerParameter.slice_param) - return slice_param_; -} -inline ::caffe::SliceParameter* LayerParameter::release_slice_param() { - // @@protoc_insertion_point(field_release:caffe.LayerParameter.slice_param) - clear_has_slice_param(); - ::caffe::SliceParameter* temp = slice_param_; - slice_param_ = NULL; - return temp; -} -inline void LayerParameter::set_allocated_slice_param(::caffe::SliceParameter* slice_param) { - delete slice_param_; - slice_param_ = slice_param; - if (slice_param) { - set_has_slice_param(); - } else { - clear_has_slice_param(); - } - // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.slice_param) -} - // optional .caffe.SoftmaxParameter softmax_param = 125; inline bool LayerParameter::has_softmax_param() const { - return (_has_bits_[1] & 0x00010000u) != 0; + return (_has_bits_[1] & 0x00800000u) != 0; } inline void LayerParameter::set_has_softmax_param() { - _has_bits_[1] |= 0x00010000u; + _has_bits_[1] |= 0x00800000u; } inline void LayerParameter::clear_has_softmax_param() { - _has_bits_[1] &= ~0x00010000u; + _has_bits_[1] &= ~0x00800000u; } inline void LayerParameter::clear_softmax_param() { if (softmax_param_ != NULL) softmax_param_->::caffe::SoftmaxParameter::Clear(); @@ -16324,13 +18267,13 @@ inline void LayerParameter::set_allocated_softmax_param(::caffe::SoftmaxParamete // optional .caffe.SPPParameter spp_param = 132; inline bool LayerParameter::has_spp_param() const { - return (_has_bits_[1] & 0x00020000u) != 0; + return (_has_bits_[1] & 0x01000000u) != 0; } inline void LayerParameter::set_has_spp_param() { - _has_bits_[1] |= 0x00020000u; + _has_bits_[1] |= 0x01000000u; } inline void LayerParameter::clear_has_spp_param() { - _has_bits_[1] &= ~0x00020000u; + _has_bits_[1] &= ~0x01000000u; } inline void LayerParameter::clear_spp_param() { if (spp_param_ != NULL) spp_param_->::caffe::SPPParameter::Clear(); @@ -16367,15 +18310,60 @@ inline void LayerParameter::set_allocated_spp_param(::caffe::SPPParameter* spp_p // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.spp_param) } +// optional .caffe.SliceParameter slice_param = 126; +inline bool LayerParameter::has_slice_param() const { + return (_has_bits_[1] & 0x02000000u) != 0; +} +inline void LayerParameter::set_has_slice_param() { + _has_bits_[1] |= 0x02000000u; +} +inline void LayerParameter::clear_has_slice_param() { + _has_bits_[1] &= ~0x02000000u; +} +inline void LayerParameter::clear_slice_param() { + if (slice_param_ != NULL) slice_param_->::caffe::SliceParameter::Clear(); + clear_has_slice_param(); +} +inline const ::caffe::SliceParameter& LayerParameter::slice_param() const { + // @@protoc_insertion_point(field_get:caffe.LayerParameter.slice_param) + return slice_param_ != NULL ? *slice_param_ + : *::caffe::SliceParameter::internal_default_instance(); +} +inline ::caffe::SliceParameter* LayerParameter::mutable_slice_param() { + set_has_slice_param(); + if (slice_param_ == NULL) { + slice_param_ = new ::caffe::SliceParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.LayerParameter.slice_param) + return slice_param_; +} +inline ::caffe::SliceParameter* LayerParameter::release_slice_param() { + // @@protoc_insertion_point(field_release:caffe.LayerParameter.slice_param) + clear_has_slice_param(); + ::caffe::SliceParameter* temp = slice_param_; + slice_param_ = NULL; + return temp; +} +inline void LayerParameter::set_allocated_slice_param(::caffe::SliceParameter* slice_param) { + delete slice_param_; + slice_param_ = slice_param; + if (slice_param) { + set_has_slice_param(); + } else { + clear_has_slice_param(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.slice_param) +} + // optional .caffe.TanHParameter tanh_param = 127; inline bool LayerParameter::has_tanh_param() const { - return (_has_bits_[1] & 0x00040000u) != 0; + return (_has_bits_[1] & 0x04000000u) != 0; } inline void LayerParameter::set_has_tanh_param() { - _has_bits_[1] |= 0x00040000u; + _has_bits_[1] |= 0x04000000u; } inline void LayerParameter::clear_has_tanh_param() { - _has_bits_[1] &= ~0x00040000u; + _has_bits_[1] &= ~0x04000000u; } inline void LayerParameter::clear_tanh_param() { if (tanh_param_ != NULL) tanh_param_->::caffe::TanHParameter::Clear(); @@ -16414,13 +18402,13 @@ inline void LayerParameter::set_allocated_tanh_param(::caffe::TanHParameter* tan // optional .caffe.ThresholdParameter threshold_param = 128; inline bool LayerParameter::has_threshold_param() const { - return (_has_bits_[1] & 0x00080000u) != 0; + return (_has_bits_[1] & 0x08000000u) != 0; } inline void LayerParameter::set_has_threshold_param() { - _has_bits_[1] |= 0x00080000u; + _has_bits_[1] |= 0x08000000u; } inline void LayerParameter::clear_has_threshold_param() { - _has_bits_[1] &= ~0x00080000u; + _has_bits_[1] &= ~0x08000000u; } inline void LayerParameter::clear_threshold_param() { if (threshold_param_ != NULL) threshold_param_->::caffe::ThresholdParameter::Clear(); @@ -16457,15 +18445,60 @@ inline void LayerParameter::set_allocated_threshold_param(::caffe::ThresholdPara // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.threshold_param) } +// optional .caffe.TileParameter tile_param = 138; +inline bool LayerParameter::has_tile_param() const { + return (_has_bits_[1] & 0x10000000u) != 0; +} +inline void LayerParameter::set_has_tile_param() { + _has_bits_[1] |= 0x10000000u; +} +inline void LayerParameter::clear_has_tile_param() { + _has_bits_[1] &= ~0x10000000u; +} +inline void LayerParameter::clear_tile_param() { + if (tile_param_ != NULL) tile_param_->::caffe::TileParameter::Clear(); + clear_has_tile_param(); +} +inline const ::caffe::TileParameter& LayerParameter::tile_param() const { + // @@protoc_insertion_point(field_get:caffe.LayerParameter.tile_param) + return tile_param_ != NULL ? *tile_param_ + : *::caffe::TileParameter::internal_default_instance(); +} +inline ::caffe::TileParameter* LayerParameter::mutable_tile_param() { + set_has_tile_param(); + if (tile_param_ == NULL) { + tile_param_ = new ::caffe::TileParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.LayerParameter.tile_param) + return tile_param_; +} +inline ::caffe::TileParameter* LayerParameter::release_tile_param() { + // @@protoc_insertion_point(field_release:caffe.LayerParameter.tile_param) + clear_has_tile_param(); + ::caffe::TileParameter* temp = tile_param_; + tile_param_ = NULL; + return temp; +} +inline void LayerParameter::set_allocated_tile_param(::caffe::TileParameter* tile_param) { + delete tile_param_; + tile_param_ = tile_param; + if (tile_param) { + set_has_tile_param(); + } else { + clear_has_tile_param(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.LayerParameter.tile_param) +} + // optional .caffe.WindowDataParameter window_data_param = 129; inline bool LayerParameter::has_window_data_param() const { - return (_has_bits_[1] & 0x00100000u) != 0; + return (_has_bits_[1] & 0x20000000u) != 0; } inline void LayerParameter::set_has_window_data_param() { - _has_bits_[1] |= 0x00100000u; + _has_bits_[1] |= 0x20000000u; } inline void LayerParameter::clear_has_window_data_param() { - _has_bits_[1] &= ~0x00100000u; + _has_bits_[1] &= ~0x20000000u; } inline void LayerParameter::clear_window_data_param() { if (window_data_param_ != NULL) window_data_param_->::caffe::WindowDataParameter::Clear(); @@ -16744,18 +18777,43 @@ inline void LossParameter::set_ignore_label(::google::protobuf::int32 value) { // @@protoc_insertion_point(field_set:caffe.LossParameter.ignore_label) } -// optional bool normalize = 2 [default = true]; -inline bool LossParameter::has_normalize() const { +// optional .caffe.LossParameter.NormalizationMode normalization = 3 [default = VALID]; +inline bool LossParameter::has_normalization() const { return (_has_bits_[0] & 0x00000002u) != 0; } -inline void LossParameter::set_has_normalize() { +inline void LossParameter::set_has_normalization() { _has_bits_[0] |= 0x00000002u; } -inline void LossParameter::clear_has_normalize() { +inline void LossParameter::clear_has_normalization() { _has_bits_[0] &= ~0x00000002u; } +inline void LossParameter::clear_normalization() { + normalization_ = 1; + clear_has_normalization(); +} +inline ::caffe::LossParameter_NormalizationMode LossParameter::normalization() const { + // @@protoc_insertion_point(field_get:caffe.LossParameter.normalization) + return static_cast< ::caffe::LossParameter_NormalizationMode >(normalization_); +} +inline void LossParameter::set_normalization(::caffe::LossParameter_NormalizationMode value) { + assert(::caffe::LossParameter_NormalizationMode_IsValid(value)); + set_has_normalization(); + normalization_ = value; + // @@protoc_insertion_point(field_set:caffe.LossParameter.normalization) +} + +// optional bool normalize = 2; +inline bool LossParameter::has_normalize() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void LossParameter::set_has_normalize() { + _has_bits_[0] |= 0x00000004u; +} +inline void LossParameter::clear_has_normalize() { + _has_bits_[0] &= ~0x00000004u; +} inline void LossParameter::clear_normalize() { - normalize_ = true; + normalize_ = false; clear_has_normalize(); } inline bool LossParameter::normalize() const { @@ -16896,10 +18954,34 @@ inline ::google::protobuf::uint32 ArgMaxParameter::top_k() const { // @@protoc_insertion_point(field_get:caffe.ArgMaxParameter.top_k) return top_k_; } -inline void ArgMaxParameter::set_top_k(::google::protobuf::uint32 value) { - set_has_top_k(); - top_k_ = value; - // @@protoc_insertion_point(field_set:caffe.ArgMaxParameter.top_k) +inline void ArgMaxParameter::set_top_k(::google::protobuf::uint32 value) { + set_has_top_k(); + top_k_ = value; + // @@protoc_insertion_point(field_set:caffe.ArgMaxParameter.top_k) +} + +// optional int32 axis = 3; +inline bool ArgMaxParameter::has_axis() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void ArgMaxParameter::set_has_axis() { + _has_bits_[0] |= 0x00000004u; +} +inline void ArgMaxParameter::clear_has_axis() { + _has_bits_[0] &= ~0x00000004u; +} +inline void ArgMaxParameter::clear_axis() { + axis_ = 0; + clear_has_axis(); +} +inline ::google::protobuf::int32 ArgMaxParameter::axis() const { + // @@protoc_insertion_point(field_get:caffe.ArgMaxParameter.axis) + return axis_; +} +inline void ArgMaxParameter::set_axis(::google::protobuf::int32 value) { + set_has_axis(); + axis_ = value; + // @@protoc_insertion_point(field_set:caffe.ArgMaxParameter.axis) } inline const ArgMaxParameter* ArgMaxParameter::internal_default_instance() { @@ -16962,6 +19044,185 @@ inline const ConcatParameter* ConcatParameter::internal_default_instance() { } // ------------------------------------------------------------------- +// BatchNormParameter + +// optional bool use_global_stats = 1; +inline bool BatchNormParameter::has_use_global_stats() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void BatchNormParameter::set_has_use_global_stats() { + _has_bits_[0] |= 0x00000001u; +} +inline void BatchNormParameter::clear_has_use_global_stats() { + _has_bits_[0] &= ~0x00000001u; +} +inline void BatchNormParameter::clear_use_global_stats() { + use_global_stats_ = false; + clear_has_use_global_stats(); +} +inline bool BatchNormParameter::use_global_stats() const { + // @@protoc_insertion_point(field_get:caffe.BatchNormParameter.use_global_stats) + return use_global_stats_; +} +inline void BatchNormParameter::set_use_global_stats(bool value) { + set_has_use_global_stats(); + use_global_stats_ = value; + // @@protoc_insertion_point(field_set:caffe.BatchNormParameter.use_global_stats) +} + +// optional float moving_average_fraction = 2 [default = 0.999]; +inline bool BatchNormParameter::has_moving_average_fraction() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void BatchNormParameter::set_has_moving_average_fraction() { + _has_bits_[0] |= 0x00000002u; +} +inline void BatchNormParameter::clear_has_moving_average_fraction() { + _has_bits_[0] &= ~0x00000002u; +} +inline void BatchNormParameter::clear_moving_average_fraction() { + moving_average_fraction_ = 0.999f; + clear_has_moving_average_fraction(); +} +inline float BatchNormParameter::moving_average_fraction() const { + // @@protoc_insertion_point(field_get:caffe.BatchNormParameter.moving_average_fraction) + return moving_average_fraction_; +} +inline void BatchNormParameter::set_moving_average_fraction(float value) { + set_has_moving_average_fraction(); + moving_average_fraction_ = value; + // @@protoc_insertion_point(field_set:caffe.BatchNormParameter.moving_average_fraction) +} + +// optional float eps = 3 [default = 1e-05]; +inline bool BatchNormParameter::has_eps() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void BatchNormParameter::set_has_eps() { + _has_bits_[0] |= 0x00000004u; +} +inline void BatchNormParameter::clear_has_eps() { + _has_bits_[0] &= ~0x00000004u; +} +inline void BatchNormParameter::clear_eps() { + eps_ = 1e-05f; + clear_has_eps(); +} +inline float BatchNormParameter::eps() const { + // @@protoc_insertion_point(field_get:caffe.BatchNormParameter.eps) + return eps_; +} +inline void BatchNormParameter::set_eps(float value) { + set_has_eps(); + eps_ = value; + // @@protoc_insertion_point(field_set:caffe.BatchNormParameter.eps) +} + +inline const BatchNormParameter* BatchNormParameter::internal_default_instance() { + return &BatchNormParameter_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// BiasParameter + +// optional int32 axis = 1 [default = 1]; +inline bool BiasParameter::has_axis() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void BiasParameter::set_has_axis() { + _has_bits_[0] |= 0x00000001u; +} +inline void BiasParameter::clear_has_axis() { + _has_bits_[0] &= ~0x00000001u; +} +inline void BiasParameter::clear_axis() { + axis_ = 1; + clear_has_axis(); +} +inline ::google::protobuf::int32 BiasParameter::axis() const { + // @@protoc_insertion_point(field_get:caffe.BiasParameter.axis) + return axis_; +} +inline void BiasParameter::set_axis(::google::protobuf::int32 value) { + set_has_axis(); + axis_ = value; + // @@protoc_insertion_point(field_set:caffe.BiasParameter.axis) +} + +// optional int32 num_axes = 2 [default = 1]; +inline bool BiasParameter::has_num_axes() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void BiasParameter::set_has_num_axes() { + _has_bits_[0] |= 0x00000002u; +} +inline void BiasParameter::clear_has_num_axes() { + _has_bits_[0] &= ~0x00000002u; +} +inline void BiasParameter::clear_num_axes() { + num_axes_ = 1; + clear_has_num_axes(); +} +inline ::google::protobuf::int32 BiasParameter::num_axes() const { + // @@protoc_insertion_point(field_get:caffe.BiasParameter.num_axes) + return num_axes_; +} +inline void BiasParameter::set_num_axes(::google::protobuf::int32 value) { + set_has_num_axes(); + num_axes_ = value; + // @@protoc_insertion_point(field_set:caffe.BiasParameter.num_axes) +} + +// optional .caffe.FillerParameter filler = 3; +inline bool BiasParameter::has_filler() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void BiasParameter::set_has_filler() { + _has_bits_[0] |= 0x00000004u; +} +inline void BiasParameter::clear_has_filler() { + _has_bits_[0] &= ~0x00000004u; +} +inline void BiasParameter::clear_filler() { + if (filler_ != NULL) filler_->::caffe::FillerParameter::Clear(); + clear_has_filler(); +} +inline const ::caffe::FillerParameter& BiasParameter::filler() const { + // @@protoc_insertion_point(field_get:caffe.BiasParameter.filler) + return filler_ != NULL ? *filler_ + : *::caffe::FillerParameter::internal_default_instance(); +} +inline ::caffe::FillerParameter* BiasParameter::mutable_filler() { + set_has_filler(); + if (filler_ == NULL) { + filler_ = new ::caffe::FillerParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.BiasParameter.filler) + return filler_; +} +inline ::caffe::FillerParameter* BiasParameter::release_filler() { + // @@protoc_insertion_point(field_release:caffe.BiasParameter.filler) + clear_has_filler(); + ::caffe::FillerParameter* temp = filler_; + filler_ = NULL; + return temp; +} +inline void BiasParameter::set_allocated_filler(::caffe::FillerParameter* filler) { + delete filler_; + filler_ = filler; + if (filler) { + set_has_filler(); + } else { + clear_has_filler(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.BiasParameter.filler) +} + +inline const BiasParameter* BiasParameter::internal_default_instance() { + return &BiasParameter_default_instance_.get(); +} +// ------------------------------------------------------------------- + // ContrastiveLossParameter // optional float margin = 1 [default = 1]; @@ -17067,39 +19328,135 @@ inline void ConvolutionParameter::set_bias_term(bool value) { // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.bias_term) } -// optional uint32 pad = 3 [default = 0]; -inline bool ConvolutionParameter::has_pad() const { - return (_has_bits_[0] & 0x00000004u) != 0; -} -inline void ConvolutionParameter::set_has_pad() { - _has_bits_[0] |= 0x00000004u; -} -inline void ConvolutionParameter::clear_has_pad() { - _has_bits_[0] &= ~0x00000004u; +// repeated uint32 pad = 3; +inline int ConvolutionParameter::pad_size() const { + return pad_.size(); } inline void ConvolutionParameter::clear_pad() { - pad_ = 0u; - clear_has_pad(); + pad_.Clear(); } -inline ::google::protobuf::uint32 ConvolutionParameter::pad() const { +inline ::google::protobuf::uint32 ConvolutionParameter::pad(int index) const { // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.pad) - return pad_; + return pad_.Get(index); } -inline void ConvolutionParameter::set_pad(::google::protobuf::uint32 value) { - set_has_pad(); - pad_ = value; +inline void ConvolutionParameter::set_pad(int index, ::google::protobuf::uint32 value) { + pad_.Set(index, value); // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.pad) } +inline void ConvolutionParameter::add_pad(::google::protobuf::uint32 value) { + pad_.Add(value); + // @@protoc_insertion_point(field_add:caffe.ConvolutionParameter.pad) +} +inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& +ConvolutionParameter::pad() const { + // @@protoc_insertion_point(field_list:caffe.ConvolutionParameter.pad) + return pad_; +} +inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* +ConvolutionParameter::mutable_pad() { + // @@protoc_insertion_point(field_mutable_list:caffe.ConvolutionParameter.pad) + return &pad_; +} + +// repeated uint32 kernel_size = 4; +inline int ConvolutionParameter::kernel_size_size() const { + return kernel_size_.size(); +} +inline void ConvolutionParameter::clear_kernel_size() { + kernel_size_.Clear(); +} +inline ::google::protobuf::uint32 ConvolutionParameter::kernel_size(int index) const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.kernel_size) + return kernel_size_.Get(index); +} +inline void ConvolutionParameter::set_kernel_size(int index, ::google::protobuf::uint32 value) { + kernel_size_.Set(index, value); + // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.kernel_size) +} +inline void ConvolutionParameter::add_kernel_size(::google::protobuf::uint32 value) { + kernel_size_.Add(value); + // @@protoc_insertion_point(field_add:caffe.ConvolutionParameter.kernel_size) +} +inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& +ConvolutionParameter::kernel_size() const { + // @@protoc_insertion_point(field_list:caffe.ConvolutionParameter.kernel_size) + return kernel_size_; +} +inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* +ConvolutionParameter::mutable_kernel_size() { + // @@protoc_insertion_point(field_mutable_list:caffe.ConvolutionParameter.kernel_size) + return &kernel_size_; +} + +// repeated uint32 stride = 6; +inline int ConvolutionParameter::stride_size() const { + return stride_.size(); +} +inline void ConvolutionParameter::clear_stride() { + stride_.Clear(); +} +inline ::google::protobuf::uint32 ConvolutionParameter::stride(int index) const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.stride) + return stride_.Get(index); +} +inline void ConvolutionParameter::set_stride(int index, ::google::protobuf::uint32 value) { + stride_.Set(index, value); + // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.stride) +} +inline void ConvolutionParameter::add_stride(::google::protobuf::uint32 value) { + stride_.Add(value); + // @@protoc_insertion_point(field_add:caffe.ConvolutionParameter.stride) +} +inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& +ConvolutionParameter::stride() const { + // @@protoc_insertion_point(field_list:caffe.ConvolutionParameter.stride) + return stride_; +} +inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* +ConvolutionParameter::mutable_stride() { + // @@protoc_insertion_point(field_mutable_list:caffe.ConvolutionParameter.stride) + return &stride_; +} + +// repeated uint32 dilation = 18; +inline int ConvolutionParameter::dilation_size() const { + return dilation_.size(); +} +inline void ConvolutionParameter::clear_dilation() { + dilation_.Clear(); +} +inline ::google::protobuf::uint32 ConvolutionParameter::dilation(int index) const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.dilation) + return dilation_.Get(index); +} +inline void ConvolutionParameter::set_dilation(int index, ::google::protobuf::uint32 value) { + dilation_.Set(index, value); + // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.dilation) +} +inline void ConvolutionParameter::add_dilation(::google::protobuf::uint32 value) { + dilation_.Add(value); + // @@protoc_insertion_point(field_add:caffe.ConvolutionParameter.dilation) +} +inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& +ConvolutionParameter::dilation() const { + // @@protoc_insertion_point(field_list:caffe.ConvolutionParameter.dilation) + return dilation_; +} +inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* +ConvolutionParameter::mutable_dilation() { + // @@protoc_insertion_point(field_mutable_list:caffe.ConvolutionParameter.dilation) + return &dilation_; +} // optional uint32 pad_h = 9 [default = 0]; inline bool ConvolutionParameter::has_pad_h() const { - return (_has_bits_[0] & 0x00000008u) != 0; + return (_has_bits_[0] & 0x00000040u) != 0; } inline void ConvolutionParameter::set_has_pad_h() { - _has_bits_[0] |= 0x00000008u; + _has_bits_[0] |= 0x00000040u; } inline void ConvolutionParameter::clear_has_pad_h() { - _has_bits_[0] &= ~0x00000008u; + _has_bits_[0] &= ~0x00000040u; } inline void ConvolutionParameter::clear_pad_h() { pad_h_ = 0u; @@ -17117,13 +19474,13 @@ inline void ConvolutionParameter::set_pad_h(::google::protobuf::uint32 value) { // optional uint32 pad_w = 10 [default = 0]; inline bool ConvolutionParameter::has_pad_w() const { - return (_has_bits_[0] & 0x00000010u) != 0; + return (_has_bits_[0] & 0x00000080u) != 0; } inline void ConvolutionParameter::set_has_pad_w() { - _has_bits_[0] |= 0x00000010u; + _has_bits_[0] |= 0x00000080u; } inline void ConvolutionParameter::clear_has_pad_w() { - _has_bits_[0] &= ~0x00000010u; + _has_bits_[0] &= ~0x00000080u; } inline void ConvolutionParameter::clear_pad_w() { pad_w_ = 0u; @@ -17139,39 +19496,15 @@ inline void ConvolutionParameter::set_pad_w(::google::protobuf::uint32 value) { // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.pad_w) } -// optional uint32 kernel_size = 4; -inline bool ConvolutionParameter::has_kernel_size() const { - return (_has_bits_[0] & 0x00000020u) != 0; -} -inline void ConvolutionParameter::set_has_kernel_size() { - _has_bits_[0] |= 0x00000020u; -} -inline void ConvolutionParameter::clear_has_kernel_size() { - _has_bits_[0] &= ~0x00000020u; -} -inline void ConvolutionParameter::clear_kernel_size() { - kernel_size_ = 0u; - clear_has_kernel_size(); -} -inline ::google::protobuf::uint32 ConvolutionParameter::kernel_size() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.kernel_size) - return kernel_size_; -} -inline void ConvolutionParameter::set_kernel_size(::google::protobuf::uint32 value) { - set_has_kernel_size(); - kernel_size_ = value; - // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.kernel_size) -} - // optional uint32 kernel_h = 11; inline bool ConvolutionParameter::has_kernel_h() const { - return (_has_bits_[0] & 0x00000040u) != 0; + return (_has_bits_[0] & 0x00000100u) != 0; } inline void ConvolutionParameter::set_has_kernel_h() { - _has_bits_[0] |= 0x00000040u; + _has_bits_[0] |= 0x00000100u; } inline void ConvolutionParameter::clear_has_kernel_h() { - _has_bits_[0] &= ~0x00000040u; + _has_bits_[0] &= ~0x00000100u; } inline void ConvolutionParameter::clear_kernel_h() { kernel_h_ = 0u; @@ -17189,13 +19522,13 @@ inline void ConvolutionParameter::set_kernel_h(::google::protobuf::uint32 value) // optional uint32 kernel_w = 12; inline bool ConvolutionParameter::has_kernel_w() const { - return (_has_bits_[0] & 0x00000080u) != 0; + return (_has_bits_[0] & 0x00000200u) != 0; } inline void ConvolutionParameter::set_has_kernel_w() { - _has_bits_[0] |= 0x00000080u; + _has_bits_[0] |= 0x00000200u; } inline void ConvolutionParameter::clear_has_kernel_w() { - _has_bits_[0] &= ~0x00000080u; + _has_bits_[0] &= ~0x00000200u; } inline void ConvolutionParameter::clear_kernel_w() { kernel_w_ = 0u; @@ -17208,55 +19541,7 @@ inline ::google::protobuf::uint32 ConvolutionParameter::kernel_w() const { inline void ConvolutionParameter::set_kernel_w(::google::protobuf::uint32 value) { set_has_kernel_w(); kernel_w_ = value; - // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.kernel_w) -} - -// optional uint32 group = 5 [default = 1]; -inline bool ConvolutionParameter::has_group() const { - return (_has_bits_[0] & 0x00000100u) != 0; -} -inline void ConvolutionParameter::set_has_group() { - _has_bits_[0] |= 0x00000100u; -} -inline void ConvolutionParameter::clear_has_group() { - _has_bits_[0] &= ~0x00000100u; -} -inline void ConvolutionParameter::clear_group() { - group_ = 1u; - clear_has_group(); -} -inline ::google::protobuf::uint32 ConvolutionParameter::group() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.group) - return group_; -} -inline void ConvolutionParameter::set_group(::google::protobuf::uint32 value) { - set_has_group(); - group_ = value; - // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.group) -} - -// optional uint32 stride = 6 [default = 1]; -inline bool ConvolutionParameter::has_stride() const { - return (_has_bits_[0] & 0x00000200u) != 0; -} -inline void ConvolutionParameter::set_has_stride() { - _has_bits_[0] |= 0x00000200u; -} -inline void ConvolutionParameter::clear_has_stride() { - _has_bits_[0] &= ~0x00000200u; -} -inline void ConvolutionParameter::clear_stride() { - stride_ = 1u; - clear_has_stride(); -} -inline ::google::protobuf::uint32 ConvolutionParameter::stride() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.stride) - return stride_; -} -inline void ConvolutionParameter::set_stride(::google::protobuf::uint32 value) { - set_has_stride(); - stride_ = value; - // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.stride) + // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.kernel_w) } // optional uint32 stride_h = 13; @@ -17307,15 +19592,39 @@ inline void ConvolutionParameter::set_stride_w(::google::protobuf::uint32 value) // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.stride_w) } +// optional uint32 group = 5 [default = 1]; +inline bool ConvolutionParameter::has_group() const { + return (_has_bits_[0] & 0x00001000u) != 0; +} +inline void ConvolutionParameter::set_has_group() { + _has_bits_[0] |= 0x00001000u; +} +inline void ConvolutionParameter::clear_has_group() { + _has_bits_[0] &= ~0x00001000u; +} +inline void ConvolutionParameter::clear_group() { + group_ = 1u; + clear_has_group(); +} +inline ::google::protobuf::uint32 ConvolutionParameter::group() const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.group) + return group_; +} +inline void ConvolutionParameter::set_group(::google::protobuf::uint32 value) { + set_has_group(); + group_ = value; + // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.group) +} + // optional .caffe.FillerParameter weight_filler = 7; inline bool ConvolutionParameter::has_weight_filler() const { - return (_has_bits_[0] & 0x00001000u) != 0; + return (_has_bits_[0] & 0x00002000u) != 0; } inline void ConvolutionParameter::set_has_weight_filler() { - _has_bits_[0] |= 0x00001000u; + _has_bits_[0] |= 0x00002000u; } inline void ConvolutionParameter::clear_has_weight_filler() { - _has_bits_[0] &= ~0x00001000u; + _has_bits_[0] &= ~0x00002000u; } inline void ConvolutionParameter::clear_weight_filler() { if (weight_filler_ != NULL) weight_filler_->::caffe::FillerParameter::Clear(); @@ -17354,13 +19663,13 @@ inline void ConvolutionParameter::set_allocated_weight_filler(::caffe::FillerPar // optional .caffe.FillerParameter bias_filler = 8; inline bool ConvolutionParameter::has_bias_filler() const { - return (_has_bits_[0] & 0x00002000u) != 0; + return (_has_bits_[0] & 0x00004000u) != 0; } inline void ConvolutionParameter::set_has_bias_filler() { - _has_bits_[0] |= 0x00002000u; + _has_bits_[0] |= 0x00004000u; } inline void ConvolutionParameter::clear_has_bias_filler() { - _has_bits_[0] &= ~0x00002000u; + _has_bits_[0] &= ~0x00004000u; } inline void ConvolutionParameter::clear_bias_filler() { if (bias_filler_ != NULL) bias_filler_->::caffe::FillerParameter::Clear(); @@ -17399,13 +19708,13 @@ inline void ConvolutionParameter::set_allocated_bias_filler(::caffe::FillerParam // optional .caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT]; inline bool ConvolutionParameter::has_engine() const { - return (_has_bits_[0] & 0x00004000u) != 0; + return (_has_bits_[0] & 0x00008000u) != 0; } inline void ConvolutionParameter::set_has_engine() { - _has_bits_[0] |= 0x00004000u; + _has_bits_[0] |= 0x00008000u; } inline void ConvolutionParameter::clear_has_engine() { - _has_bits_[0] &= ~0x00004000u; + _has_bits_[0] &= ~0x00008000u; } inline void ConvolutionParameter::clear_engine() { engine_ = 0; @@ -17422,76 +19731,52 @@ inline void ConvolutionParameter::set_engine(::caffe::ConvolutionParameter_Engin // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.engine) } -// optional uint32 dilation_h = 18; -inline bool ConvolutionParameter::has_dilation_h() const { - return (_has_bits_[0] & 0x00008000u) != 0; -} -inline void ConvolutionParameter::set_has_dilation_h() { - _has_bits_[0] |= 0x00008000u; -} -inline void ConvolutionParameter::clear_has_dilation_h() { - _has_bits_[0] &= ~0x00008000u; -} -inline void ConvolutionParameter::clear_dilation_h() { - dilation_h_ = 0u; - clear_has_dilation_h(); -} -inline ::google::protobuf::uint32 ConvolutionParameter::dilation_h() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.dilation_h) - return dilation_h_; -} -inline void ConvolutionParameter::set_dilation_h(::google::protobuf::uint32 value) { - set_has_dilation_h(); - dilation_h_ = value; - // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.dilation_h) -} - -// optional uint32 dilation_w = 19; -inline bool ConvolutionParameter::has_dilation_w() const { +// optional int32 axis = 16 [default = 1]; +inline bool ConvolutionParameter::has_axis() const { return (_has_bits_[0] & 0x00010000u) != 0; } -inline void ConvolutionParameter::set_has_dilation_w() { +inline void ConvolutionParameter::set_has_axis() { _has_bits_[0] |= 0x00010000u; } -inline void ConvolutionParameter::clear_has_dilation_w() { +inline void ConvolutionParameter::clear_has_axis() { _has_bits_[0] &= ~0x00010000u; } -inline void ConvolutionParameter::clear_dilation_w() { - dilation_w_ = 0u; - clear_has_dilation_w(); +inline void ConvolutionParameter::clear_axis() { + axis_ = 1; + clear_has_axis(); } -inline ::google::protobuf::uint32 ConvolutionParameter::dilation_w() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.dilation_w) - return dilation_w_; +inline ::google::protobuf::int32 ConvolutionParameter::axis() const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.axis) + return axis_; } -inline void ConvolutionParameter::set_dilation_w(::google::protobuf::uint32 value) { - set_has_dilation_w(); - dilation_w_ = value; - // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.dilation_w) +inline void ConvolutionParameter::set_axis(::google::protobuf::int32 value) { + set_has_axis(); + axis_ = value; + // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.axis) } -// optional uint32 dilation = 20; -inline bool ConvolutionParameter::has_dilation() const { +// optional bool force_nd_im2col = 17 [default = false]; +inline bool ConvolutionParameter::has_force_nd_im2col() const { return (_has_bits_[0] & 0x00020000u) != 0; } -inline void ConvolutionParameter::set_has_dilation() { +inline void ConvolutionParameter::set_has_force_nd_im2col() { _has_bits_[0] |= 0x00020000u; } -inline void ConvolutionParameter::clear_has_dilation() { +inline void ConvolutionParameter::clear_has_force_nd_im2col() { _has_bits_[0] &= ~0x00020000u; } -inline void ConvolutionParameter::clear_dilation() { - dilation_ = 0u; - clear_has_dilation(); +inline void ConvolutionParameter::clear_force_nd_im2col() { + force_nd_im2col_ = false; + clear_has_force_nd_im2col(); } -inline ::google::protobuf::uint32 ConvolutionParameter::dilation() const { - // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.dilation) - return dilation_; +inline bool ConvolutionParameter::force_nd_im2col() const { + // @@protoc_insertion_point(field_get:caffe.ConvolutionParameter.force_nd_im2col) + return force_nd_im2col_; } -inline void ConvolutionParameter::set_dilation(::google::protobuf::uint32 value) { - set_has_dilation(); - dilation_ = value; - // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.dilation) +inline void ConvolutionParameter::set_force_nd_im2col(bool value) { + set_has_force_nd_im2col(); + force_nd_im2col_ = value; + // @@protoc_insertion_point(field_set:caffe.ConvolutionParameter.force_nd_im2col) } inline const ConvolutionParameter* ConvolutionParameter::internal_default_instance() { @@ -17499,6 +19784,67 @@ inline const ConvolutionParameter* ConvolutionParameter::internal_default_instan } // ------------------------------------------------------------------- +// CropParameter + +// optional int32 axis = 1 [default = 2]; +inline bool CropParameter::has_axis() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void CropParameter::set_has_axis() { + _has_bits_[0] |= 0x00000001u; +} +inline void CropParameter::clear_has_axis() { + _has_bits_[0] &= ~0x00000001u; +} +inline void CropParameter::clear_axis() { + axis_ = 2; + clear_has_axis(); +} +inline ::google::protobuf::int32 CropParameter::axis() const { + // @@protoc_insertion_point(field_get:caffe.CropParameter.axis) + return axis_; +} +inline void CropParameter::set_axis(::google::protobuf::int32 value) { + set_has_axis(); + axis_ = value; + // @@protoc_insertion_point(field_set:caffe.CropParameter.axis) +} + +// repeated uint32 offset = 2; +inline int CropParameter::offset_size() const { + return offset_.size(); +} +inline void CropParameter::clear_offset() { + offset_.Clear(); +} +inline ::google::protobuf::uint32 CropParameter::offset(int index) const { + // @@protoc_insertion_point(field_get:caffe.CropParameter.offset) + return offset_.Get(index); +} +inline void CropParameter::set_offset(int index, ::google::protobuf::uint32 value) { + offset_.Set(index, value); + // @@protoc_insertion_point(field_set:caffe.CropParameter.offset) +} +inline void CropParameter::add_offset(::google::protobuf::uint32 value) { + offset_.Add(value); + // @@protoc_insertion_point(field_add:caffe.CropParameter.offset) +} +inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& +CropParameter::offset() const { + // @@protoc_insertion_point(field_list:caffe.CropParameter.offset) + return offset_; +} +inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* +CropParameter::mutable_offset() { + // @@protoc_insertion_point(field_mutable_list:caffe.CropParameter.offset) + return &offset_; +} + +inline const CropParameter* CropParameter::internal_default_instance() { + return &CropParameter_default_instance_.get(); +} +// ------------------------------------------------------------------- + // DataParameter // optional string source = 1; @@ -17778,6 +20124,30 @@ inline void DataParameter::set_force_encoded_color(bool value) { // @@protoc_insertion_point(field_set:caffe.DataParameter.force_encoded_color) } +// optional uint32 prefetch = 10 [default = 4]; +inline bool DataParameter::has_prefetch() const { + return (_has_bits_[0] & 0x00000200u) != 0; +} +inline void DataParameter::set_has_prefetch() { + _has_bits_[0] |= 0x00000200u; +} +inline void DataParameter::clear_has_prefetch() { + _has_bits_[0] &= ~0x00000200u; +} +inline void DataParameter::clear_prefetch() { + prefetch_ = 4u; + clear_has_prefetch(); +} +inline ::google::protobuf::uint32 DataParameter::prefetch() const { + // @@protoc_insertion_point(field_get:caffe.DataParameter.prefetch) + return prefetch_; +} +inline void DataParameter::set_prefetch(::google::protobuf::uint32 value) { + set_has_prefetch(); + prefetch_ = value; + // @@protoc_insertion_point(field_set:caffe.DataParameter.prefetch) +} + inline const DataParameter* DataParameter::internal_default_instance() { return &DataParameter_default_instance_.get(); } @@ -18082,8 +20452,208 @@ inline void EltwiseParameter::set_stable_prod_grad(bool value) { // @@protoc_insertion_point(field_set:caffe.EltwiseParameter.stable_prod_grad) } -inline const EltwiseParameter* EltwiseParameter::internal_default_instance() { - return &EltwiseParameter_default_instance_.get(); +inline const EltwiseParameter* EltwiseParameter::internal_default_instance() { + return &EltwiseParameter_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// ELUParameter + +// optional float alpha = 1 [default = 1]; +inline bool ELUParameter::has_alpha() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void ELUParameter::set_has_alpha() { + _has_bits_[0] |= 0x00000001u; +} +inline void ELUParameter::clear_has_alpha() { + _has_bits_[0] &= ~0x00000001u; +} +inline void ELUParameter::clear_alpha() { + alpha_ = 1; + clear_has_alpha(); +} +inline float ELUParameter::alpha() const { + // @@protoc_insertion_point(field_get:caffe.ELUParameter.alpha) + return alpha_; +} +inline void ELUParameter::set_alpha(float value) { + set_has_alpha(); + alpha_ = value; + // @@protoc_insertion_point(field_set:caffe.ELUParameter.alpha) +} + +inline const ELUParameter* ELUParameter::internal_default_instance() { + return &ELUParameter_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// EmbedParameter + +// optional uint32 num_output = 1; +inline bool EmbedParameter::has_num_output() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void EmbedParameter::set_has_num_output() { + _has_bits_[0] |= 0x00000001u; +} +inline void EmbedParameter::clear_has_num_output() { + _has_bits_[0] &= ~0x00000001u; +} +inline void EmbedParameter::clear_num_output() { + num_output_ = 0u; + clear_has_num_output(); +} +inline ::google::protobuf::uint32 EmbedParameter::num_output() const { + // @@protoc_insertion_point(field_get:caffe.EmbedParameter.num_output) + return num_output_; +} +inline void EmbedParameter::set_num_output(::google::protobuf::uint32 value) { + set_has_num_output(); + num_output_ = value; + // @@protoc_insertion_point(field_set:caffe.EmbedParameter.num_output) +} + +// optional uint32 input_dim = 2; +inline bool EmbedParameter::has_input_dim() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void EmbedParameter::set_has_input_dim() { + _has_bits_[0] |= 0x00000002u; +} +inline void EmbedParameter::clear_has_input_dim() { + _has_bits_[0] &= ~0x00000002u; +} +inline void EmbedParameter::clear_input_dim() { + input_dim_ = 0u; + clear_has_input_dim(); +} +inline ::google::protobuf::uint32 EmbedParameter::input_dim() const { + // @@protoc_insertion_point(field_get:caffe.EmbedParameter.input_dim) + return input_dim_; +} +inline void EmbedParameter::set_input_dim(::google::protobuf::uint32 value) { + set_has_input_dim(); + input_dim_ = value; + // @@protoc_insertion_point(field_set:caffe.EmbedParameter.input_dim) +} + +// optional bool bias_term = 3 [default = true]; +inline bool EmbedParameter::has_bias_term() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void EmbedParameter::set_has_bias_term() { + _has_bits_[0] |= 0x00000004u; +} +inline void EmbedParameter::clear_has_bias_term() { + _has_bits_[0] &= ~0x00000004u; +} +inline void EmbedParameter::clear_bias_term() { + bias_term_ = true; + clear_has_bias_term(); +} +inline bool EmbedParameter::bias_term() const { + // @@protoc_insertion_point(field_get:caffe.EmbedParameter.bias_term) + return bias_term_; +} +inline void EmbedParameter::set_bias_term(bool value) { + set_has_bias_term(); + bias_term_ = value; + // @@protoc_insertion_point(field_set:caffe.EmbedParameter.bias_term) +} + +// optional .caffe.FillerParameter weight_filler = 4; +inline bool EmbedParameter::has_weight_filler() const { + return (_has_bits_[0] & 0x00000008u) != 0; +} +inline void EmbedParameter::set_has_weight_filler() { + _has_bits_[0] |= 0x00000008u; +} +inline void EmbedParameter::clear_has_weight_filler() { + _has_bits_[0] &= ~0x00000008u; +} +inline void EmbedParameter::clear_weight_filler() { + if (weight_filler_ != NULL) weight_filler_->::caffe::FillerParameter::Clear(); + clear_has_weight_filler(); +} +inline const ::caffe::FillerParameter& EmbedParameter::weight_filler() const { + // @@protoc_insertion_point(field_get:caffe.EmbedParameter.weight_filler) + return weight_filler_ != NULL ? *weight_filler_ + : *::caffe::FillerParameter::internal_default_instance(); +} +inline ::caffe::FillerParameter* EmbedParameter::mutable_weight_filler() { + set_has_weight_filler(); + if (weight_filler_ == NULL) { + weight_filler_ = new ::caffe::FillerParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.EmbedParameter.weight_filler) + return weight_filler_; +} +inline ::caffe::FillerParameter* EmbedParameter::release_weight_filler() { + // @@protoc_insertion_point(field_release:caffe.EmbedParameter.weight_filler) + clear_has_weight_filler(); + ::caffe::FillerParameter* temp = weight_filler_; + weight_filler_ = NULL; + return temp; +} +inline void EmbedParameter::set_allocated_weight_filler(::caffe::FillerParameter* weight_filler) { + delete weight_filler_; + weight_filler_ = weight_filler; + if (weight_filler) { + set_has_weight_filler(); + } else { + clear_has_weight_filler(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.EmbedParameter.weight_filler) +} + +// optional .caffe.FillerParameter bias_filler = 5; +inline bool EmbedParameter::has_bias_filler() const { + return (_has_bits_[0] & 0x00000010u) != 0; +} +inline void EmbedParameter::set_has_bias_filler() { + _has_bits_[0] |= 0x00000010u; +} +inline void EmbedParameter::clear_has_bias_filler() { + _has_bits_[0] &= ~0x00000010u; +} +inline void EmbedParameter::clear_bias_filler() { + if (bias_filler_ != NULL) bias_filler_->::caffe::FillerParameter::Clear(); + clear_has_bias_filler(); +} +inline const ::caffe::FillerParameter& EmbedParameter::bias_filler() const { + // @@protoc_insertion_point(field_get:caffe.EmbedParameter.bias_filler) + return bias_filler_ != NULL ? *bias_filler_ + : *::caffe::FillerParameter::internal_default_instance(); +} +inline ::caffe::FillerParameter* EmbedParameter::mutable_bias_filler() { + set_has_bias_filler(); + if (bias_filler_ == NULL) { + bias_filler_ = new ::caffe::FillerParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.EmbedParameter.bias_filler) + return bias_filler_; +} +inline ::caffe::FillerParameter* EmbedParameter::release_bias_filler() { + // @@protoc_insertion_point(field_release:caffe.EmbedParameter.bias_filler) + clear_has_bias_filler(); + ::caffe::FillerParameter* temp = bias_filler_; + bias_filler_ = NULL; + return temp; +} +inline void EmbedParameter::set_allocated_bias_filler(::caffe::FillerParameter* bias_filler) { + delete bias_filler_; + bias_filler_ = bias_filler; + if (bias_filler) { + set_has_bias_filler(); + } else { + clear_has_bias_filler(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.EmbedParameter.bias_filler) +} + +inline const EmbedParameter* EmbedParameter::internal_default_instance() { + return &EmbedParameter_default_instance_.get(); } // ------------------------------------------------------------------- @@ -18479,7 +21049,7 @@ inline void ImageDataParameter::set_allocated_source(::std::string* source) { // @@protoc_insertion_point(field_set_allocated:caffe.ImageDataParameter.source) } -// optional uint32 batch_size = 4; +// optional uint32 batch_size = 4 [default = 1]; inline bool ImageDataParameter::has_batch_size() const { return (_has_bits_[0] & 0x00000002u) != 0; } @@ -18490,7 +21060,7 @@ inline void ImageDataParameter::clear_has_batch_size() { _has_bits_[0] &= ~0x00000002u; } inline void ImageDataParameter::clear_batch_size() { - batch_size_ = 0u; + batch_size_ = 1u; clear_has_batch_size(); } inline ::google::protobuf::uint32 ImageDataParameter::batch_size() const { @@ -19033,11 +21603,72 @@ inline void InnerProductParameter::set_axis(::google::protobuf::int32 value) { // @@protoc_insertion_point(field_set:caffe.InnerProductParameter.axis) } +// optional bool transpose = 6 [default = false]; +inline bool InnerProductParameter::has_transpose() const { + return (_has_bits_[0] & 0x00000020u) != 0; +} +inline void InnerProductParameter::set_has_transpose() { + _has_bits_[0] |= 0x00000020u; +} +inline void InnerProductParameter::clear_has_transpose() { + _has_bits_[0] &= ~0x00000020u; +} +inline void InnerProductParameter::clear_transpose() { + transpose_ = false; + clear_has_transpose(); +} +inline bool InnerProductParameter::transpose() const { + // @@protoc_insertion_point(field_get:caffe.InnerProductParameter.transpose) + return transpose_; +} +inline void InnerProductParameter::set_transpose(bool value) { + set_has_transpose(); + transpose_ = value; + // @@protoc_insertion_point(field_set:caffe.InnerProductParameter.transpose) +} + inline const InnerProductParameter* InnerProductParameter::internal_default_instance() { return &InnerProductParameter_default_instance_.get(); } // ------------------------------------------------------------------- +// InputParameter + +// repeated .caffe.BlobShape shape = 1; +inline int InputParameter::shape_size() const { + return shape_.size(); +} +inline void InputParameter::clear_shape() { + shape_.Clear(); +} +inline const ::caffe::BlobShape& InputParameter::shape(int index) const { + // @@protoc_insertion_point(field_get:caffe.InputParameter.shape) + return shape_.Get(index); +} +inline ::caffe::BlobShape* InputParameter::mutable_shape(int index) { + // @@protoc_insertion_point(field_mutable:caffe.InputParameter.shape) + return shape_.Mutable(index); +} +inline ::caffe::BlobShape* InputParameter::add_shape() { + // @@protoc_insertion_point(field_add:caffe.InputParameter.shape) + return shape_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::caffe::BlobShape >* +InputParameter::mutable_shape() { + // @@protoc_insertion_point(field_mutable_list:caffe.InputParameter.shape) + return &shape_; +} +inline const ::google::protobuf::RepeatedPtrField< ::caffe::BlobShape >& +InputParameter::shape() const { + // @@protoc_insertion_point(field_list:caffe.InputParameter.shape) + return shape_; +} + +inline const InputParameter* InputParameter::internal_default_instance() { + return &InputParameter_default_instance_.get(); +} +// ------------------------------------------------------------------- + // LogParameter // optional float base = 1 [default = -1]; @@ -19240,6 +21871,31 @@ inline void LRNParameter::set_k(float value) { // @@protoc_insertion_point(field_set:caffe.LRNParameter.k) } +// optional .caffe.LRNParameter.Engine engine = 6 [default = DEFAULT]; +inline bool LRNParameter::has_engine() const { + return (_has_bits_[0] & 0x00000020u) != 0; +} +inline void LRNParameter::set_has_engine() { + _has_bits_[0] |= 0x00000020u; +} +inline void LRNParameter::clear_has_engine() { + _has_bits_[0] &= ~0x00000020u; +} +inline void LRNParameter::clear_engine() { + engine_ = 0; + clear_has_engine(); +} +inline ::caffe::LRNParameter_Engine LRNParameter::engine() const { + // @@protoc_insertion_point(field_get:caffe.LRNParameter.engine) + return static_cast< ::caffe::LRNParameter_Engine >(engine_); +} +inline void LRNParameter::set_engine(::caffe::LRNParameter_Engine value) { + assert(::caffe::LRNParameter_Engine_IsValid(value)); + set_has_engine(); + engine_ = value; + // @@protoc_insertion_point(field_set:caffe.LRNParameter.engine) +} + inline const LRNParameter* LRNParameter::internal_default_instance() { return &LRNParameter_default_instance_.get(); } @@ -19427,6 +22083,58 @@ inline const MVNParameter* MVNParameter::internal_default_instance() { } // ------------------------------------------------------------------- +// ParameterParameter + +// optional .caffe.BlobShape shape = 1; +inline bool ParameterParameter::has_shape() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void ParameterParameter::set_has_shape() { + _has_bits_[0] |= 0x00000001u; +} +inline void ParameterParameter::clear_has_shape() { + _has_bits_[0] &= ~0x00000001u; +} +inline void ParameterParameter::clear_shape() { + if (shape_ != NULL) shape_->::caffe::BlobShape::Clear(); + clear_has_shape(); +} +inline const ::caffe::BlobShape& ParameterParameter::shape() const { + // @@protoc_insertion_point(field_get:caffe.ParameterParameter.shape) + return shape_ != NULL ? *shape_ + : *::caffe::BlobShape::internal_default_instance(); +} +inline ::caffe::BlobShape* ParameterParameter::mutable_shape() { + set_has_shape(); + if (shape_ == NULL) { + shape_ = new ::caffe::BlobShape; + } + // @@protoc_insertion_point(field_mutable:caffe.ParameterParameter.shape) + return shape_; +} +inline ::caffe::BlobShape* ParameterParameter::release_shape() { + // @@protoc_insertion_point(field_release:caffe.ParameterParameter.shape) + clear_has_shape(); + ::caffe::BlobShape* temp = shape_; + shape_ = NULL; + return temp; +} +inline void ParameterParameter::set_allocated_shape(::caffe::BlobShape* shape) { + delete shape_; + shape_ = shape; + if (shape) { + set_has_shape(); + } else { + clear_has_shape(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.ParameterParameter.shape) +} + +inline const ParameterParameter* ParameterParameter::internal_default_instance() { + return &ParameterParameter_default_instance_.get(); +} +// ------------------------------------------------------------------- + // PoolingParameter // optional .caffe.PoolingParameter.PoolMethod pool = 1 [default = MAX]; @@ -19839,82 +22547,329 @@ inline void PythonParameter::set_module(const char* value, size_t size) { ::std::string(reinterpret_cast(value), size)); // @@protoc_insertion_point(field_set_pointer:caffe.PythonParameter.module) } -inline ::std::string* PythonParameter::mutable_module() { - set_has_module(); - // @@protoc_insertion_point(field_mutable:caffe.PythonParameter.module) - return module_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +inline ::std::string* PythonParameter::mutable_module() { + set_has_module(); + // @@protoc_insertion_point(field_mutable:caffe.PythonParameter.module) + return module_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* PythonParameter::release_module() { + // @@protoc_insertion_point(field_release:caffe.PythonParameter.module) + clear_has_module(); + return module_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void PythonParameter::set_allocated_module(::std::string* module) { + if (module != NULL) { + set_has_module(); + } else { + clear_has_module(); + } + module_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), module); + // @@protoc_insertion_point(field_set_allocated:caffe.PythonParameter.module) +} + +// optional string layer = 2; +inline bool PythonParameter::has_layer() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void PythonParameter::set_has_layer() { + _has_bits_[0] |= 0x00000002u; +} +inline void PythonParameter::clear_has_layer() { + _has_bits_[0] &= ~0x00000002u; +} +inline void PythonParameter::clear_layer() { + layer_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_layer(); +} +inline const ::std::string& PythonParameter::layer() const { + // @@protoc_insertion_point(field_get:caffe.PythonParameter.layer) + return layer_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void PythonParameter::set_layer(const ::std::string& value) { + set_has_layer(); + layer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:caffe.PythonParameter.layer) +} +inline void PythonParameter::set_layer(const char* value) { + set_has_layer(); + layer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:caffe.PythonParameter.layer) +} +inline void PythonParameter::set_layer(const char* value, size_t size) { + set_has_layer(); + layer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:caffe.PythonParameter.layer) +} +inline ::std::string* PythonParameter::mutable_layer() { + set_has_layer(); + // @@protoc_insertion_point(field_mutable:caffe.PythonParameter.layer) + return layer_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* PythonParameter::release_layer() { + // @@protoc_insertion_point(field_release:caffe.PythonParameter.layer) + clear_has_layer(); + return layer_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void PythonParameter::set_allocated_layer(::std::string* layer) { + if (layer != NULL) { + set_has_layer(); + } else { + clear_has_layer(); + } + layer_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), layer); + // @@protoc_insertion_point(field_set_allocated:caffe.PythonParameter.layer) +} + +// optional string param_str = 3 [default = ""]; +inline bool PythonParameter::has_param_str() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void PythonParameter::set_has_param_str() { + _has_bits_[0] |= 0x00000004u; +} +inline void PythonParameter::clear_has_param_str() { + _has_bits_[0] &= ~0x00000004u; +} +inline void PythonParameter::clear_param_str() { + param_str_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_param_str(); +} +inline const ::std::string& PythonParameter::param_str() const { + // @@protoc_insertion_point(field_get:caffe.PythonParameter.param_str) + return param_str_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void PythonParameter::set_param_str(const ::std::string& value) { + set_has_param_str(); + param_str_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:caffe.PythonParameter.param_str) +} +inline void PythonParameter::set_param_str(const char* value) { + set_has_param_str(); + param_str_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:caffe.PythonParameter.param_str) +} +inline void PythonParameter::set_param_str(const char* value, size_t size) { + set_has_param_str(); + param_str_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:caffe.PythonParameter.param_str) +} +inline ::std::string* PythonParameter::mutable_param_str() { + set_has_param_str(); + // @@protoc_insertion_point(field_mutable:caffe.PythonParameter.param_str) + return param_str_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* PythonParameter::release_param_str() { + // @@protoc_insertion_point(field_release:caffe.PythonParameter.param_str) + clear_has_param_str(); + return param_str_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void PythonParameter::set_allocated_param_str(::std::string* param_str) { + if (param_str != NULL) { + set_has_param_str(); + } else { + clear_has_param_str(); + } + param_str_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), param_str); + // @@protoc_insertion_point(field_set_allocated:caffe.PythonParameter.param_str) +} + +// optional bool share_in_parallel = 4 [default = false]; +inline bool PythonParameter::has_share_in_parallel() const { + return (_has_bits_[0] & 0x00000008u) != 0; +} +inline void PythonParameter::set_has_share_in_parallel() { + _has_bits_[0] |= 0x00000008u; +} +inline void PythonParameter::clear_has_share_in_parallel() { + _has_bits_[0] &= ~0x00000008u; +} +inline void PythonParameter::clear_share_in_parallel() { + share_in_parallel_ = false; + clear_has_share_in_parallel(); +} +inline bool PythonParameter::share_in_parallel() const { + // @@protoc_insertion_point(field_get:caffe.PythonParameter.share_in_parallel) + return share_in_parallel_; +} +inline void PythonParameter::set_share_in_parallel(bool value) { + set_has_share_in_parallel(); + share_in_parallel_ = value; + // @@protoc_insertion_point(field_set:caffe.PythonParameter.share_in_parallel) +} + +inline const PythonParameter* PythonParameter::internal_default_instance() { + return &PythonParameter_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// RecurrentParameter + +// optional uint32 num_output = 1 [default = 0]; +inline bool RecurrentParameter::has_num_output() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void RecurrentParameter::set_has_num_output() { + _has_bits_[0] |= 0x00000001u; +} +inline void RecurrentParameter::clear_has_num_output() { + _has_bits_[0] &= ~0x00000001u; +} +inline void RecurrentParameter::clear_num_output() { + num_output_ = 0u; + clear_has_num_output(); +} +inline ::google::protobuf::uint32 RecurrentParameter::num_output() const { + // @@protoc_insertion_point(field_get:caffe.RecurrentParameter.num_output) + return num_output_; +} +inline void RecurrentParameter::set_num_output(::google::protobuf::uint32 value) { + set_has_num_output(); + num_output_ = value; + // @@protoc_insertion_point(field_set:caffe.RecurrentParameter.num_output) +} + +// optional .caffe.FillerParameter weight_filler = 2; +inline bool RecurrentParameter::has_weight_filler() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void RecurrentParameter::set_has_weight_filler() { + _has_bits_[0] |= 0x00000002u; +} +inline void RecurrentParameter::clear_has_weight_filler() { + _has_bits_[0] &= ~0x00000002u; +} +inline void RecurrentParameter::clear_weight_filler() { + if (weight_filler_ != NULL) weight_filler_->::caffe::FillerParameter::Clear(); + clear_has_weight_filler(); +} +inline const ::caffe::FillerParameter& RecurrentParameter::weight_filler() const { + // @@protoc_insertion_point(field_get:caffe.RecurrentParameter.weight_filler) + return weight_filler_ != NULL ? *weight_filler_ + : *::caffe::FillerParameter::internal_default_instance(); +} +inline ::caffe::FillerParameter* RecurrentParameter::mutable_weight_filler() { + set_has_weight_filler(); + if (weight_filler_ == NULL) { + weight_filler_ = new ::caffe::FillerParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.RecurrentParameter.weight_filler) + return weight_filler_; +} +inline ::caffe::FillerParameter* RecurrentParameter::release_weight_filler() { + // @@protoc_insertion_point(field_release:caffe.RecurrentParameter.weight_filler) + clear_has_weight_filler(); + ::caffe::FillerParameter* temp = weight_filler_; + weight_filler_ = NULL; + return temp; +} +inline void RecurrentParameter::set_allocated_weight_filler(::caffe::FillerParameter* weight_filler) { + delete weight_filler_; + weight_filler_ = weight_filler; + if (weight_filler) { + set_has_weight_filler(); + } else { + clear_has_weight_filler(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.RecurrentParameter.weight_filler) +} + +// optional .caffe.FillerParameter bias_filler = 3; +inline bool RecurrentParameter::has_bias_filler() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void RecurrentParameter::set_has_bias_filler() { + _has_bits_[0] |= 0x00000004u; +} +inline void RecurrentParameter::clear_has_bias_filler() { + _has_bits_[0] &= ~0x00000004u; +} +inline void RecurrentParameter::clear_bias_filler() { + if (bias_filler_ != NULL) bias_filler_->::caffe::FillerParameter::Clear(); + clear_has_bias_filler(); +} +inline const ::caffe::FillerParameter& RecurrentParameter::bias_filler() const { + // @@protoc_insertion_point(field_get:caffe.RecurrentParameter.bias_filler) + return bias_filler_ != NULL ? *bias_filler_ + : *::caffe::FillerParameter::internal_default_instance(); } -inline ::std::string* PythonParameter::release_module() { - // @@protoc_insertion_point(field_release:caffe.PythonParameter.module) - clear_has_module(); - return module_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +inline ::caffe::FillerParameter* RecurrentParameter::mutable_bias_filler() { + set_has_bias_filler(); + if (bias_filler_ == NULL) { + bias_filler_ = new ::caffe::FillerParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.RecurrentParameter.bias_filler) + return bias_filler_; } -inline void PythonParameter::set_allocated_module(::std::string* module) { - if (module != NULL) { - set_has_module(); +inline ::caffe::FillerParameter* RecurrentParameter::release_bias_filler() { + // @@protoc_insertion_point(field_release:caffe.RecurrentParameter.bias_filler) + clear_has_bias_filler(); + ::caffe::FillerParameter* temp = bias_filler_; + bias_filler_ = NULL; + return temp; +} +inline void RecurrentParameter::set_allocated_bias_filler(::caffe::FillerParameter* bias_filler) { + delete bias_filler_; + bias_filler_ = bias_filler; + if (bias_filler) { + set_has_bias_filler(); } else { - clear_has_module(); + clear_has_bias_filler(); } - module_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), module); - // @@protoc_insertion_point(field_set_allocated:caffe.PythonParameter.module) + // @@protoc_insertion_point(field_set_allocated:caffe.RecurrentParameter.bias_filler) } -// optional string layer = 2; -inline bool PythonParameter::has_layer() const { - return (_has_bits_[0] & 0x00000002u) != 0; +// optional bool debug_info = 4 [default = false]; +inline bool RecurrentParameter::has_debug_info() const { + return (_has_bits_[0] & 0x00000008u) != 0; } -inline void PythonParameter::set_has_layer() { - _has_bits_[0] |= 0x00000002u; +inline void RecurrentParameter::set_has_debug_info() { + _has_bits_[0] |= 0x00000008u; } -inline void PythonParameter::clear_has_layer() { - _has_bits_[0] &= ~0x00000002u; +inline void RecurrentParameter::clear_has_debug_info() { + _has_bits_[0] &= ~0x00000008u; } -inline void PythonParameter::clear_layer() { - layer_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - clear_has_layer(); +inline void RecurrentParameter::clear_debug_info() { + debug_info_ = false; + clear_has_debug_info(); } -inline const ::std::string& PythonParameter::layer() const { - // @@protoc_insertion_point(field_get:caffe.PythonParameter.layer) - return layer_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +inline bool RecurrentParameter::debug_info() const { + // @@protoc_insertion_point(field_get:caffe.RecurrentParameter.debug_info) + return debug_info_; } -inline void PythonParameter::set_layer(const ::std::string& value) { - set_has_layer(); - layer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); - // @@protoc_insertion_point(field_set:caffe.PythonParameter.layer) +inline void RecurrentParameter::set_debug_info(bool value) { + set_has_debug_info(); + debug_info_ = value; + // @@protoc_insertion_point(field_set:caffe.RecurrentParameter.debug_info) } -inline void PythonParameter::set_layer(const char* value) { - set_has_layer(); - layer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); - // @@protoc_insertion_point(field_set_char:caffe.PythonParameter.layer) + +// optional bool expose_hidden = 5 [default = false]; +inline bool RecurrentParameter::has_expose_hidden() const { + return (_has_bits_[0] & 0x00000010u) != 0; } -inline void PythonParameter::set_layer(const char* value, size_t size) { - set_has_layer(); - layer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), - ::std::string(reinterpret_cast(value), size)); - // @@protoc_insertion_point(field_set_pointer:caffe.PythonParameter.layer) +inline void RecurrentParameter::set_has_expose_hidden() { + _has_bits_[0] |= 0x00000010u; } -inline ::std::string* PythonParameter::mutable_layer() { - set_has_layer(); - // @@protoc_insertion_point(field_mutable:caffe.PythonParameter.layer) - return layer_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +inline void RecurrentParameter::clear_has_expose_hidden() { + _has_bits_[0] &= ~0x00000010u; } -inline ::std::string* PythonParameter::release_layer() { - // @@protoc_insertion_point(field_release:caffe.PythonParameter.layer) - clear_has_layer(); - return layer_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +inline void RecurrentParameter::clear_expose_hidden() { + expose_hidden_ = false; + clear_has_expose_hidden(); } -inline void PythonParameter::set_allocated_layer(::std::string* layer) { - if (layer != NULL) { - set_has_layer(); - } else { - clear_has_layer(); - } - layer_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), layer); - // @@protoc_insertion_point(field_set_allocated:caffe.PythonParameter.layer) +inline bool RecurrentParameter::expose_hidden() const { + // @@protoc_insertion_point(field_get:caffe.RecurrentParameter.expose_hidden) + return expose_hidden_; +} +inline void RecurrentParameter::set_expose_hidden(bool value) { + set_has_expose_hidden(); + expose_hidden_ = value; + // @@protoc_insertion_point(field_set:caffe.RecurrentParameter.expose_hidden) } -inline const PythonParameter* PythonParameter::internal_default_instance() { - return &PythonParameter_default_instance_.get(); +inline const RecurrentParameter* RecurrentParameter::internal_default_instance() { + return &RecurrentParameter_default_instance_.get(); } // ------------------------------------------------------------------- @@ -20154,6 +23109,175 @@ inline const ReshapeParameter* ReshapeParameter::internal_default_instance() { } // ------------------------------------------------------------------- +// ScaleParameter + +// optional int32 axis = 1 [default = 1]; +inline bool ScaleParameter::has_axis() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void ScaleParameter::set_has_axis() { + _has_bits_[0] |= 0x00000001u; +} +inline void ScaleParameter::clear_has_axis() { + _has_bits_[0] &= ~0x00000001u; +} +inline void ScaleParameter::clear_axis() { + axis_ = 1; + clear_has_axis(); +} +inline ::google::protobuf::int32 ScaleParameter::axis() const { + // @@protoc_insertion_point(field_get:caffe.ScaleParameter.axis) + return axis_; +} +inline void ScaleParameter::set_axis(::google::protobuf::int32 value) { + set_has_axis(); + axis_ = value; + // @@protoc_insertion_point(field_set:caffe.ScaleParameter.axis) +} + +// optional int32 num_axes = 2 [default = 1]; +inline bool ScaleParameter::has_num_axes() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void ScaleParameter::set_has_num_axes() { + _has_bits_[0] |= 0x00000002u; +} +inline void ScaleParameter::clear_has_num_axes() { + _has_bits_[0] &= ~0x00000002u; +} +inline void ScaleParameter::clear_num_axes() { + num_axes_ = 1; + clear_has_num_axes(); +} +inline ::google::protobuf::int32 ScaleParameter::num_axes() const { + // @@protoc_insertion_point(field_get:caffe.ScaleParameter.num_axes) + return num_axes_; +} +inline void ScaleParameter::set_num_axes(::google::protobuf::int32 value) { + set_has_num_axes(); + num_axes_ = value; + // @@protoc_insertion_point(field_set:caffe.ScaleParameter.num_axes) +} + +// optional .caffe.FillerParameter filler = 3; +inline bool ScaleParameter::has_filler() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void ScaleParameter::set_has_filler() { + _has_bits_[0] |= 0x00000004u; +} +inline void ScaleParameter::clear_has_filler() { + _has_bits_[0] &= ~0x00000004u; +} +inline void ScaleParameter::clear_filler() { + if (filler_ != NULL) filler_->::caffe::FillerParameter::Clear(); + clear_has_filler(); +} +inline const ::caffe::FillerParameter& ScaleParameter::filler() const { + // @@protoc_insertion_point(field_get:caffe.ScaleParameter.filler) + return filler_ != NULL ? *filler_ + : *::caffe::FillerParameter::internal_default_instance(); +} +inline ::caffe::FillerParameter* ScaleParameter::mutable_filler() { + set_has_filler(); + if (filler_ == NULL) { + filler_ = new ::caffe::FillerParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.ScaleParameter.filler) + return filler_; +} +inline ::caffe::FillerParameter* ScaleParameter::release_filler() { + // @@protoc_insertion_point(field_release:caffe.ScaleParameter.filler) + clear_has_filler(); + ::caffe::FillerParameter* temp = filler_; + filler_ = NULL; + return temp; +} +inline void ScaleParameter::set_allocated_filler(::caffe::FillerParameter* filler) { + delete filler_; + filler_ = filler; + if (filler) { + set_has_filler(); + } else { + clear_has_filler(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.ScaleParameter.filler) +} + +// optional bool bias_term = 4 [default = false]; +inline bool ScaleParameter::has_bias_term() const { + return (_has_bits_[0] & 0x00000008u) != 0; +} +inline void ScaleParameter::set_has_bias_term() { + _has_bits_[0] |= 0x00000008u; +} +inline void ScaleParameter::clear_has_bias_term() { + _has_bits_[0] &= ~0x00000008u; +} +inline void ScaleParameter::clear_bias_term() { + bias_term_ = false; + clear_has_bias_term(); +} +inline bool ScaleParameter::bias_term() const { + // @@protoc_insertion_point(field_get:caffe.ScaleParameter.bias_term) + return bias_term_; +} +inline void ScaleParameter::set_bias_term(bool value) { + set_has_bias_term(); + bias_term_ = value; + // @@protoc_insertion_point(field_set:caffe.ScaleParameter.bias_term) +} + +// optional .caffe.FillerParameter bias_filler = 5; +inline bool ScaleParameter::has_bias_filler() const { + return (_has_bits_[0] & 0x00000010u) != 0; +} +inline void ScaleParameter::set_has_bias_filler() { + _has_bits_[0] |= 0x00000010u; +} +inline void ScaleParameter::clear_has_bias_filler() { + _has_bits_[0] &= ~0x00000010u; +} +inline void ScaleParameter::clear_bias_filler() { + if (bias_filler_ != NULL) bias_filler_->::caffe::FillerParameter::Clear(); + clear_has_bias_filler(); +} +inline const ::caffe::FillerParameter& ScaleParameter::bias_filler() const { + // @@protoc_insertion_point(field_get:caffe.ScaleParameter.bias_filler) + return bias_filler_ != NULL ? *bias_filler_ + : *::caffe::FillerParameter::internal_default_instance(); +} +inline ::caffe::FillerParameter* ScaleParameter::mutable_bias_filler() { + set_has_bias_filler(); + if (bias_filler_ == NULL) { + bias_filler_ = new ::caffe::FillerParameter; + } + // @@protoc_insertion_point(field_mutable:caffe.ScaleParameter.bias_filler) + return bias_filler_; +} +inline ::caffe::FillerParameter* ScaleParameter::release_bias_filler() { + // @@protoc_insertion_point(field_release:caffe.ScaleParameter.bias_filler) + clear_has_bias_filler(); + ::caffe::FillerParameter* temp = bias_filler_; + bias_filler_ = NULL; + return temp; +} +inline void ScaleParameter::set_allocated_bias_filler(::caffe::FillerParameter* bias_filler) { + delete bias_filler_; + bias_filler_ = bias_filler; + if (bias_filler) { + set_has_bias_filler(); + } else { + clear_has_bias_filler(); + } + // @@protoc_insertion_point(field_set_allocated:caffe.ScaleParameter.bias_filler) +} + +inline const ScaleParameter* ScaleParameter::internal_default_instance() { + return &ScaleParameter_default_instance_.get(); +} +// ------------------------------------------------------------------- + // SigmoidParameter // optional .caffe.SigmoidParameter.Engine engine = 1 [default = DEFAULT]; @@ -20359,6 +23483,61 @@ inline const TanHParameter* TanHParameter::internal_default_instance() { } // ------------------------------------------------------------------- +// TileParameter + +// optional int32 axis = 1 [default = 1]; +inline bool TileParameter::has_axis() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void TileParameter::set_has_axis() { + _has_bits_[0] |= 0x00000001u; +} +inline void TileParameter::clear_has_axis() { + _has_bits_[0] &= ~0x00000001u; +} +inline void TileParameter::clear_axis() { + axis_ = 1; + clear_has_axis(); +} +inline ::google::protobuf::int32 TileParameter::axis() const { + // @@protoc_insertion_point(field_get:caffe.TileParameter.axis) + return axis_; +} +inline void TileParameter::set_axis(::google::protobuf::int32 value) { + set_has_axis(); + axis_ = value; + // @@protoc_insertion_point(field_set:caffe.TileParameter.axis) +} + +// optional int32 tiles = 2; +inline bool TileParameter::has_tiles() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void TileParameter::set_has_tiles() { + _has_bits_[0] |= 0x00000002u; +} +inline void TileParameter::clear_has_tiles() { + _has_bits_[0] &= ~0x00000002u; +} +inline void TileParameter::clear_tiles() { + tiles_ = 0; + clear_has_tiles(); +} +inline ::google::protobuf::int32 TileParameter::tiles() const { + // @@protoc_insertion_point(field_get:caffe.TileParameter.tiles) + return tiles_; +} +inline void TileParameter::set_tiles(::google::protobuf::int32 value) { + set_has_tiles(); + tiles_ = value; + // @@protoc_insertion_point(field_set:caffe.TileParameter.tiles) +} + +inline const TileParameter* TileParameter::internal_default_instance() { + return &TileParameter_default_instance_.get(); +} +// ------------------------------------------------------------------- + // ThresholdParameter // optional float threshold = 1 [default = 0]; @@ -24305,6 +27484,24 @@ inline const NormalizedBBox* NormalizedBBox::internal_default_instance() { // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) @@ -24324,6 +27521,11 @@ template <> inline const EnumDescriptor* GetEnumDescriptor< ::caffe::FillerParameter_VarianceNorm>() { return ::caffe::FillerParameter_VarianceNorm_descriptor(); } +template <> struct is_proto_enum< ::caffe::SolverParameter_SnapshotFormat> : ::google::protobuf::internal::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::caffe::SolverParameter_SnapshotFormat>() { + return ::caffe::SolverParameter_SnapshotFormat_descriptor(); +} template <> struct is_proto_enum< ::caffe::SolverParameter_SolverMode> : ::google::protobuf::internal::true_type {}; template <> inline const EnumDescriptor* GetEnumDescriptor< ::caffe::SolverParameter_SolverMode>() { @@ -24339,6 +27541,11 @@ template <> inline const EnumDescriptor* GetEnumDescriptor< ::caffe::ParamSpec_DimCheckMode>() { return ::caffe::ParamSpec_DimCheckMode_descriptor(); } +template <> struct is_proto_enum< ::caffe::LossParameter_NormalizationMode> : ::google::protobuf::internal::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::caffe::LossParameter_NormalizationMode>() { + return ::caffe::LossParameter_NormalizationMode_descriptor(); +} template <> struct is_proto_enum< ::caffe::ConvolutionParameter_Engine> : ::google::protobuf::internal::true_type {}; template <> inline const EnumDescriptor* GetEnumDescriptor< ::caffe::ConvolutionParameter_Engine>() { @@ -24364,6 +27571,11 @@ template <> inline const EnumDescriptor* GetEnumDescriptor< ::caffe::LRNParameter_NormRegion>() { return ::caffe::LRNParameter_NormRegion_descriptor(); } +template <> struct is_proto_enum< ::caffe::LRNParameter_Engine> : ::google::protobuf::internal::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::caffe::LRNParameter_Engine>() { + return ::caffe::LRNParameter_Engine_descriptor(); +} template <> struct is_proto_enum< ::caffe::PoolingParameter_PoolMethod> : ::google::protobuf::internal::true_type {}; template <> inline const EnumDescriptor* GetEnumDescriptor< ::caffe::PoolingParameter_PoolMethod>() { diff --git a/modules/dnn/src/caffe/caffe.proto b/modules/dnn/src/caffe/caffe.proto index c20098cff..620e69ad1 100644 --- a/modules/dnn/src/caffe/caffe.proto +++ b/modules/dnn/src/caffe/caffe.proto @@ -59,6 +59,8 @@ message BlobProto { optional BlobShape shape = 7; repeated float data = 5 [packed = true]; repeated float diff = 6 [packed = true]; + repeated double double_data = 8 [packed = true]; + repeated double double_diff = 9 [packed = true]; // 4D dimensions -- deprecated. Use "shape" instead. optional int32 num = 1 [default = 0]; @@ -73,24 +75,6 @@ message BlobProtoVector { repeated BlobProto blobs = 1; } -message CropParameter { - // To crop, elements of the first bottom are selected to fit the dimensions - // of the second, reference bottom. The crop is configured by - // - the crop `axis` to pick the dimensions for cropping - // - the crop `offset` to set the shift for all/each dimension - // to align the cropped bottom with the reference bottom. - // All dimensions up to but excluding `axis` are preserved, while - // the dimensions including and trailing `axis` are cropped. - // If only one `offset` is set, then all dimensions are offset by this amount. - // Otherwise, the number of offsets must equal the number of cropped axes to - // shift the crop in each dimension accordingly. - // Note: standard dimensions are N,C,H,W so the default is a spatial crop, - // and `axis` may be negative to index from the end (e.g., -1 for the last - // axis). - optional int32 axis = 1 [default = 2]; - repeated uint32 offset = 2; -} - message PermuteParameter { // The new orders of the axes of data. Notice it should be with // in the same range as the input data, and it starts from 0. @@ -196,12 +180,12 @@ message FillerParameter { message NetParameter { optional string name = 1; // consider giving the network a name - // The input blobs to the network. + // DEPRECATED. See InputParameter. The input blobs to the network. repeated string input = 3; - // The shape of the input blobs. + // DEPRECATED. See InputParameter. The shape of the input blobs. repeated BlobShape input_shape = 8; - // 4D input dimensions -- deprecated. Use "shape" instead. + // 4D input dimensions -- deprecated. Use "input_shape" instead. // If specified, for each input blob there should be four // values specifying the num, channels, height and width of the input blob. // Thus, there should be a total of (4 * #input) numbers. @@ -231,7 +215,7 @@ message NetParameter { // NOTE // Update the next available ID when you add a new SolverParameter field. // -// SolverParameter next available ID: 37 (last added: iter_size) +// SolverParameter next available ID: 41 (last added: type) message SolverParameter { ////////////////////////////////////////////////////////////////////////////// // Specifying the train and test networks @@ -286,7 +270,23 @@ message SolverParameter { optional int32 max_iter = 7; // the maximum number of iterations // accumulate gradients over `iter_size` x `batch_size` instances optional int32 iter_size = 36 [default = 1]; - optional string lr_policy = 8; // The learning rate decay policy. + + // The learning rate decay policy. The currently implemented learning rate + // policies are as follows: + // - fixed: always return base_lr. + // - step: return base_lr * gamma ^ (floor(iter / step)) + // - exp: return base_lr * gamma ^ iter + // - inv: return base_lr * (1 + gamma * iter) ^ (- power) + // - multistep: similar to step but it allows non uniform steps defined by + // stepvalue + // - poly: the effective learning rate follows a polynomial decay, to be + // zero by the max_iter. return base_lr (1 - iter/max_iter) ^ (power) + // - sigmoid: the effective learning rate follows a sigmod decay + // return base_lr ( 1/(1 + exp(-gamma * (iter - stepsize)))) + // + // where base_lr, max_iter, gamma, step, stepvalue and power are defined + // in the solver parameter protocol buffer, and iter is the current iteration. + optional string lr_policy = 8; optional float gamma = 9; // The parameter to compute the learning rate. optional float power = 10; // The parameter to compute the learning rate. optional float momentum = 11; // The momentum value. @@ -308,6 +308,11 @@ message SolverParameter { // whether to snapshot diff in the results or not. Snapshotting diff will help // debugging but the final protocol buffer size will be much larger. optional bool snapshot_diff = 16 [default = false]; + enum SnapshotFormat { + HDF5 = 0; + BINARYPROTO = 1; + } + optional SnapshotFormat snapshot_format = 37 [default = BINARYPROTO]; // the mode solver will use: 0 for CPU and 1 for GPU. Use GPU in default. enum SolverMode { CPU = 0; @@ -321,15 +326,17 @@ message SolverParameter { // (and by default) initialize using a seed derived from the system clock. optional int64 random_seed = 20 [default = -1]; - // Solver type - enum SolverType { - SGD = 0; - NESTEROV = 1; - ADAGRAD = 2; - } - optional SolverType solver_type = 30 [default = SGD]; - // numerical stability for AdaGrad + // type of the solver + optional string type = 40 [default = "SGD"]; + + // numerical stability for RMSProp, AdaGrad and AdaDelta and Adam optional float delta = 31 [default = 1e-8]; + // parameters for the Adam solver + optional float momentum2 = 39 [default = 0.999]; + + // RMSProp decay value + // MeanSquare(t) = rms_decay*MeanSquare(t-1) + (1-rms_decay)*SquareGradient(t) + optional float rms_decay = 38 [default = 0.99]; // If true, print information about the state of the net that may help with // debugging learning problems. @@ -337,6 +344,18 @@ message SolverParameter { // If false, don't save a snapshot after training finishes. optional bool snapshot_after_train = 28 [default = true]; + + // DEPRECATED: old solver enum types, use string instead + enum SolverType { + SGD = 0; + NESTEROV = 1; + ADAGRAD = 2; + RMSPROP = 3; + ADADELTA = 4; + ADAM = 5; + } + // DEPRECATED: use type instead of solver_type + optional SolverType solver_type = 30 [default = SGD]; } // A message that stores the solver snapshots @@ -404,7 +423,7 @@ message ParamSpec { // NOTE // Update the next available ID when you add a new LayerParameter field. // -// LayerParameter next available layer-specific ID: 142 (last added: detection_output_param) +// LayerParameter next available layer-specific ID: 147 (last added: recurrent_param) message LayerParameter { optional string name = 1; // the layer name optional string type = 2; // the layer type @@ -426,7 +445,12 @@ message LayerParameter { // The blobs containing the numeric parameters of the layer. repeated BlobProto blobs = 7; - // Specifies on which bottoms the backpropagation should be skipped. + // Specifies whether to backpropagate to each bottom. If unspecified, + // Caffe will automatically infer whether each input needs backpropagation + // to compute parameter gradients. If set to true for some inputs, + // backpropagation to those inputs is forced; if set false for some inputs, + // backpropagation to those inputs is skipped. + // // The size must be either 0 or equal to the number of bottoms. repeated bool propagate_down = 11; @@ -453,15 +477,19 @@ message LayerParameter { // The default for the engine is set by the ENGINE switch at compile-time. optional AccuracyParameter accuracy_param = 102; optional ArgMaxParameter argmax_param = 103; + optional BatchNormParameter batch_norm_param = 139; + optional BiasParameter bias_param = 141; optional ConcatParameter concat_param = 104; optional ContrastiveLossParameter contrastive_loss_param = 105; optional ConvolutionParameter convolution_param = 106; - optional CropParameter crop_param = 137; + optional CropParameter crop_param = 144; optional DataParameter data_param = 107; - optional DetectionOutputParameter detection_output_param = 141; + optional DetectionOutputParameter detection_output_param = 147; optional DropoutParameter dropout_param = 108; optional DummyDataParameter dummy_data_param = 109; optional EltwiseParameter eltwise_param = 110; + optional ELUParameter elu_param = 140; + optional EmbedParameter embed_param = 137; optional ExpParameter exp_param = 111; optional FlattenParameter flatten_param = 135; optional HDF5DataParameter hdf5_data_param = 112; @@ -470,26 +498,31 @@ message LayerParameter { optional ImageDataParameter image_data_param = 115; optional InfogainLossParameter infogain_loss_param = 116; optional InnerProductParameter inner_product_param = 117; + optional InputParameter input_param = 143; optional LogParameter log_param = 134; optional LRNParameter lrn_param = 118; optional MemoryDataParameter memory_data_param = 119; optional MVNParameter mvn_param = 120; - optional NormalizeBBoxParameter normalize_bbox_param = 139; - optional PermuteParameter permute_param = 138; + optional NormalizeBBoxParameter normalize_bbox_param = 149; + optional PermuteParameter permute_param = 148; + optional ParameterParameter parameter_param = 145; optional PoolingParameter pooling_param = 121; optional PowerParameter power_param = 122; optional PReLUParameter prelu_param = 131; - optional PriorBoxParameter prior_box_param = 140; + optional PriorBoxParameter prior_box_param = 150; optional PythonParameter python_param = 130; + optional RecurrentParameter recurrent_param = 146; optional ReductionParameter reduction_param = 136; optional ReLUParameter relu_param = 123; optional ReshapeParameter reshape_param = 133; + optional ScaleParameter scale_param = 142; optional SigmoidParameter sigmoid_param = 124; - optional SliceParameter slice_param = 126; optional SoftmaxParameter softmax_param = 125; optional SPPParameter spp_param = 132; + optional SliceParameter slice_param = 126; optional TanHParameter tanh_param = 127; optional ThresholdParameter threshold_param = 128; + optional TileParameter tile_param = 138; optional WindowDataParameter window_data_param = 129; } @@ -506,7 +539,7 @@ message TransformationParameter { optional uint32 crop_size = 3 [default = 0]; // mean_file and mean_value cannot be specified at the same time optional string mean_file = 4; - // if specified can be repeated once (would substract it from all the channels) + // if specified can be repeated once (would subtract it from all the channels) // or can be repeated the same number of times as channels // (would subtract them from the corresponding channel) repeated float mean_value = 5; @@ -520,9 +553,29 @@ message TransformationParameter { message LossParameter { // If specified, ignore instances with the given label. optional int32 ignore_label = 1; - // If true, normalize each batch across all instances (including spatial - // dimesions, but not ignored instances); else, divide by batch size only. - optional bool normalize = 2 [default = true]; + // How to normalize the loss for loss layers that aggregate across batches, + // spatial dimensions, or other dimensions. Currently only implemented in + // SoftmaxWithLoss and SigmoidCrossEntropyLoss layers. + enum NormalizationMode { + // Divide by the number of examples in the batch times spatial dimensions. + // Outputs that receive the ignore label will NOT be ignored in computing + // the normalization factor. + FULL = 0; + // Divide by the total number of output locations that do not take the + // ignore_label. If ignore_label is not set, this behaves like FULL. + VALID = 1; + // Divide by the batch size. + BATCH_SIZE = 2; + // Do not normalize the loss. + NONE = 3; + } + // For historical reasons, the default normalization for + // SigmoidCrossEntropyLoss is BATCH_SIZE and *not* VALID. + optional NormalizationMode normalization = 3 [default = VALID]; + // Deprecated. Ignored if normalization is specified. If normalization + // is not specified, then setting this to false will be equivalent to + // normalization = BATCH_SIZE to be consistent with previous behavior. + optional bool normalize = 2; } // Messages that store parameters used by individual layer types follow, in @@ -549,6 +602,11 @@ message ArgMaxParameter { // If true produce pairs (argmax, maxval) optional bool out_max_val = 1 [default = false]; optional uint32 top_k = 2 [default = 1]; + // The axis along which to maximise -- may be negative to index from the + // end (e.g., -1 for the last axis). + // By default ArgMaxLayer maximizes over the flattened trailing dimensions + // for each index of the first / num dimension. + optional int32 axis = 3; } message ConcatParameter { @@ -562,6 +620,50 @@ message ConcatParameter { optional uint32 concat_dim = 1 [default = 1]; } +message BatchNormParameter { + // If false, accumulate global mean/variance values via a moving average. If + // true, use those accumulated values instead of computing mean/variance + // across the batch. + optional bool use_global_stats = 1; + // How much does the moving average decay each iteration? + optional float moving_average_fraction = 2 [default = .999]; + // Small value to add to the variance estimate so that we don't divide by + // zero. + optional float eps = 3 [default = 1e-5]; +} + +message BiasParameter { + // The first axis of bottom[0] (the first input Blob) along which to apply + // bottom[1] (the second input Blob). May be negative to index from the end + // (e.g., -1 for the last axis). + // + // For example, if bottom[0] is 4D with shape 100x3x40x60, the output + // top[0] will have the same shape, and bottom[1] may have any of the + // following shapes (for the given value of axis): + // (axis == 0 == -4) 100; 100x3; 100x3x40; 100x3x40x60 + // (axis == 1 == -3) 3; 3x40; 3x40x60 + // (axis == 2 == -2) 40; 40x60 + // (axis == 3 == -1) 60 + // Furthermore, bottom[1] may have the empty shape (regardless of the value of + // "axis") -- a scalar bias. + optional int32 axis = 1 [default = 1]; + + // (num_axes is ignored unless just one bottom is given and the bias is + // a learned parameter of the layer. Otherwise, num_axes is determined by the + // number of axes by the second bottom.) + // The number of axes of the input (bottom[0]) covered by the bias + // parameter, or -1 to cover all axes of bottom[0] starting from `axis`. + // Set num_axes := 0, to add a zero-axis Blob: a scalar. + optional int32 num_axes = 2 [default = 1]; + + // (filler is ignored unless just one bottom is given and the bias is + // a learned parameter of the layer.) + // The initialization for the learned bias parameter. + // Default is the zero (0) initialization, resulting in the BiasLayer + // initially performing the identity operation. + optional FillerParameter filler = 3; +} + message ContrastiveLossParameter { // margin for dissimilar pair optional float margin = 1 [default = 1.0]; @@ -577,18 +679,28 @@ message ContrastiveLossParameter { message ConvolutionParameter { optional uint32 num_output = 1; // The number of outputs for the layer optional bool bias_term = 2 [default = true]; // whether to have bias terms + // Pad, kernel size, and stride are all given as a single value for equal - // dimensions in height and width or as Y, X pairs. - optional uint32 pad = 3 [default = 0]; // The padding size (equal in Y, X) - optional uint32 pad_h = 9 [default = 0]; // The padding height - optional uint32 pad_w = 10 [default = 0]; // The padding width - optional uint32 kernel_size = 4; // The kernel size (square) - optional uint32 kernel_h = 11; // The kernel height - optional uint32 kernel_w = 12; // The kernel width + // dimensions in all spatial dimensions, or once per spatial dimension. + repeated uint32 pad = 3; // The padding size; defaults to 0 + repeated uint32 kernel_size = 4; // The kernel size + repeated uint32 stride = 6; // The stride; defaults to 1 + // Factor used to dilate the kernel, (implicitly) zero-filling the resulting + // holes. (Kernel dilation is sometimes referred to by its use in the + // algorithme à trous from Holschneider et al. 1987.) + repeated uint32 dilation = 18; // The dilation; defaults to 1 + + // For 2D convolution only, the *_h and *_w versions may also be used to + // specify both spatial dimensions. + optional uint32 pad_h = 9 [default = 0]; // The padding height (2D only) + optional uint32 pad_w = 10 [default = 0]; // The padding width (2D only) + optional uint32 kernel_h = 11; // The kernel height (2D only) + optional uint32 kernel_w = 12; // The kernel width (2D only) + optional uint32 stride_h = 13; // The stride height (2D only) + optional uint32 stride_w = 14; // The stride width (2D only) + optional uint32 group = 5 [default = 1]; // The group size for group conv - optional uint32 stride = 6 [default = 1]; // The stride (equal in Y, X) - optional uint32 stride_h = 13; // The stride height - optional uint32 stride_w = 14; // The stride width + optional FillerParameter weight_filler = 7; // The filler for the weight optional FillerParameter bias_filler = 8; // The filler for the bias enum Engine { @@ -597,12 +709,42 @@ message ConvolutionParameter { CUDNN = 2; } optional Engine engine = 15 [default = DEFAULT]; - // Factor used to dilate the kernel, (implicitly) zero-filling the resulting - // holes. (Kernel dilation is sometimes referred to by its use in the - // algorithme a trous from Holschneider et al. 1987.) - optional uint32 dilation_h = 18; // The dilation height - optional uint32 dilation_w = 19; // The dilation width - optional uint32 dilation = 20; // The dilation; defaults to 1 + + // The axis to interpret as "channels" when performing convolution. + // Preceding dimensions are treated as independent inputs; + // succeeding dimensions are treated as "spatial". + // With (N, C, H, W) inputs, and axis == 1 (the default), we perform + // N independent 2D convolutions, sliding C-channel (or (C/g)-channels, for + // groups g>1) filters across the spatial axes (H, W) of the input. + // With (N, C, D, H, W) inputs, and axis == 1, we perform + // N independent 3D convolutions, sliding (C/g)-channels + // filters across the spatial axes (D, H, W) of the input. + optional int32 axis = 16 [default = 1]; + + // Whether to force use of the general ND convolution, even if a specific + // implementation for blobs of the appropriate number of spatial dimensions + // is available. (Currently, there is only a 2D-specific convolution + // implementation; for input blobs with num_axes != 2, this option is + // ignored and the ND implementation will be used.) + optional bool force_nd_im2col = 17 [default = false]; +} + +message CropParameter { + // To crop, elements of the first bottom are selected to fit the dimensions + // of the second, reference bottom. The crop is configured by + // - the crop `axis` to pick the dimensions for cropping + // - the crop `offset` to set the shift for all/each dimension + // to align the cropped bottom with the reference bottom. + // All dimensions up to but excluding `axis` are preserved, while + // the dimensions including and trailing `axis` are cropped. + // If only one `offset` is set, then all dimensions are offset by this amount. + // Otherwise, the number of offsets must equal the number of cropped axes to + // shift the crop in each dimension accordingly. + // Note: standard dimensions are N,C,H,W so the default is a spatial crop, + // and `axis` may be negative to index from the end (e.g., -1 for the last + // axis). + optional int32 axis = 1 [default = 2]; + repeated uint32 offset = 2; } message DataParameter { @@ -618,6 +760,7 @@ message DataParameter { // to avoid all asynchronous sgd clients to start at the same point. The skip // point would be set as rand_skip * rand(0,1). Note that rand_skip should not // be larger than the number of keys in the database. + // DEPRECATED. Each solver accesses a different subset of the database. optional uint32 rand_skip = 7 [default = 0]; optional DB backend = 8 [default = LEVELDB]; // DEPRECATED. See TransformationParameter. For data pre-processing, we can do @@ -633,6 +776,9 @@ message DataParameter { optional bool mirror = 6 [default = false]; // Force the encoded image to have 3 color channels optional bool force_encoded_color = 9 [default = false]; + // Prefetch queue (Number of batches to prefetch to host memory, increase if + // data access bandwidth varies). + optional uint32 prefetch = 10 [default = 4]; } message DropoutParameter { @@ -672,6 +818,29 @@ message EltwiseParameter { optional bool stable_prod_grad = 3 [default = true]; } +// Message that stores parameters used by ELULayer +message ELUParameter { + // Described in: + // Clevert, D.-A., Unterthiner, T., & Hochreiter, S. (2015). Fast and Accurate + // Deep Network Learning by Exponential Linear Units (ELUs). arXiv + optional float alpha = 1 [default = 1]; +} + +// Message that stores parameters used by EmbedLayer +message EmbedParameter { + optional uint32 num_output = 1; // The number of outputs for the layer + // The input is given as integers to be interpreted as one-hot + // vector indices with dimension num_input. Hence num_input should be + // 1 greater than the maximum possible input value. + optional uint32 input_dim = 2; + + optional bool bias_term = 3 [default = true]; // Whether to use a bias term + optional FillerParameter weight_filler = 4; // The filler for the weight + optional FillerParameter bias_filler = 5; // The filler for the bias + +} + +// Message that stores parameters used by ExpLayer message ExpParameter { // ExpLayer computes outputs y = base ^ (shift + scale * x), for base > 0. // Or if base is set to the default (-1), base is set to e, @@ -725,7 +894,7 @@ message ImageDataParameter { // Specify the data source. optional string source = 1; // Specify the batch size. - optional uint32 batch_size = 4; + optional uint32 batch_size = 4 [default = 1]; // The rand_skip variable is for the data layer to skip a few data points // to avoid all asynchronous sgd clients to start at the same point. The skip // point would be set as rand_skip * rand(0,1). Note that rand_skip should not @@ -767,6 +936,19 @@ message InnerProductParameter { // all preceding axes are retained in the output. // May be negative to index from the end (e.g., -1 for the last axis). optional int32 axis = 5 [default = 1]; + // Specify whether to transpose the weight matrix or not. + // If transpose == true, any operations will be performed on the transpose + // of the weight matrix. The weight matrix itself is not going to be transposed + // but rather the transfer flag of operations will be toggled accordingly. + optional bool transpose = 6 [default = false]; +} + +message InputParameter { + // This layer produces N >= 1 top blob(s) to be assigned manually. + // Define N shapes to set a shape for each top. + // Define 1 shape to set the same shape for every top. + // Define no shape to defer to reshaping manually. + repeated BlobShape shape = 1; } // Message that stores parameters used by LogLayer @@ -790,6 +972,12 @@ message LRNParameter { } optional NormRegion norm_region = 4 [default = ACROSS_CHANNELS]; optional float k = 5 [default = 1.]; + enum Engine { + DEFAULT = 0; + CAFFE = 1; + CUDNN = 2; + } + optional Engine engine = 6 [default = DEFAULT]; } message MemoryDataParameter { @@ -810,6 +998,10 @@ message MVNParameter { optional float eps = 3 [default = 1e-9]; } +message ParameterParameter { + optional BlobShape shape = 1; +} + message PoolingParameter { enum PoolMethod { MAX = 0; @@ -849,6 +1041,34 @@ message PowerParameter { message PythonParameter { optional string module = 1; optional string layer = 2; + // This value is set to the attribute `param_str` of the `PythonLayer` object + // in Python before calling the `setup()` method. This could be a number, + // string, dictionary in Python dict format, JSON, etc. You may parse this + // string in `setup` method and use it in `forward` and `backward`. + optional string param_str = 3 [default = '']; + // Whether this PythonLayer is shared among worker solvers during data parallelism. + // If true, each worker solver sequentially run forward from this layer. + // This value should be set true if you are using it as a data layer. + optional bool share_in_parallel = 4 [default = false]; +} + +// Message that stores parameters used by RecurrentLayer +message RecurrentParameter { + // The dimension of the output (and usually hidden state) representation -- + // must be explicitly set to non-zero. + optional uint32 num_output = 1 [default = 0]; + + optional FillerParameter weight_filler = 2; // The filler for the weight + optional FillerParameter bias_filler = 3; // The filler for the bias + + // Whether to enable displaying debug_info in the unrolled recurrent net. + optional bool debug_info = 4 [default = false]; + + // Whether to add as additional inputs (bottoms) the initial hidden state + // blobs, and add as additional outputs (tops) the final timestep hidden state + // blobs. The number of additional bottom/top blobs required depends on the + // recurrent architecture -- e.g., 1 for RNNs, 2 for LSTMs. + optional bool expose_hidden = 5 [default = false]; } // Message that stores parameters used by ReductionLayer @@ -915,7 +1135,7 @@ message ReshapeParameter { // reshape_param { shape { dim: 2 dim: 2 dim: 4 } } // reshape_param { shape { dim: 0 dim: 2 dim: 4 } } // reshape_param { shape { dim: 0 dim: 2 dim: -1 } } - // reshape_param { shape { dim: -1 dim: 0 dim: 2 } } + // reshape_param { shape { dim: 0 dim:-1 dim: 4 } } // optional BlobShape shape = 1; @@ -960,6 +1180,43 @@ message ReshapeParameter { optional int32 num_axes = 3 [default = -1]; } +message ScaleParameter { + // The first axis of bottom[0] (the first input Blob) along which to apply + // bottom[1] (the second input Blob). May be negative to index from the end + // (e.g., -1 for the last axis). + // + // For example, if bottom[0] is 4D with shape 100x3x40x60, the output + // top[0] will have the same shape, and bottom[1] may have any of the + // following shapes (for the given value of axis): + // (axis == 0 == -4) 100; 100x3; 100x3x40; 100x3x40x60 + // (axis == 1 == -3) 3; 3x40; 3x40x60 + // (axis == 2 == -2) 40; 40x60 + // (axis == 3 == -1) 60 + // Furthermore, bottom[1] may have the empty shape (regardless of the value of + // "axis") -- a scalar multiplier. + optional int32 axis = 1 [default = 1]; + + // (num_axes is ignored unless just one bottom is given and the scale is + // a learned parameter of the layer. Otherwise, num_axes is determined by the + // number of axes by the second bottom.) + // The number of axes of the input (bottom[0]) covered by the scale + // parameter, or -1 to cover all axes of bottom[0] starting from `axis`. + // Set num_axes := 0, to multiply with a zero-axis Blob: a scalar. + optional int32 num_axes = 2 [default = 1]; + + // (filler is ignored unless just one bottom is given and the scale is + // a learned parameter of the layer.) + // The initialization for the learned scale parameter. + // Default is the unit (1) initialization, resulting in the ScaleLayer + // initially performing the identity operation. + optional FillerParameter filler = 3; + + // Whether to also learn a bias (equivalent to a ScaleLayer+BiasLayer, but + // may be more efficient). Initialized with bias_filler (defaults to 0). + optional bool bias_term = 4 [default = false]; + optional FillerParameter bias_filler = 5; +} + message SigmoidParameter { enum Engine { DEFAULT = 0; @@ -1004,6 +1261,16 @@ message TanHParameter { optional Engine engine = 1 [default = DEFAULT]; } +// Message that stores parameters used by TileLayer +message TileParameter { + // The index of the axis to tile. + optional int32 axis = 1 [default = 1]; + + // The number of copies (tiles) of the blob to output. + optional int32 tiles = 2; +} + +// Message that stores parameters used by ThresholdLayer message ThresholdParameter { optional float threshold = 1 [default = 0]; // Strictly positive values } @@ -1250,7 +1517,7 @@ message PReLUParameter { // Initial value of a_i. Default is a_i=0.25 for all i. optional FillerParameter filler = 1; - // Whether or not slope paramters are shared across channels. + // Whether or not slope parameters are shared across channels. optional bool channel_shared = 2 [default = false]; } diff --git a/modules/dnn/src/caffe/caffe_io.cpp b/modules/dnn/src/caffe/caffe_io.cpp index 986271cd1..9934dacda 100644 --- a/modules/dnn/src/caffe/caffe_io.cpp +++ b/modules/dnn/src/caffe/caffe_io.cpp @@ -155,12 +155,17 @@ bool UpgradeV1LayerParameter(const V1LayerParameter& v1_layer_param, const char* UpgradeV1LayerType(const V1LayerParameter_LayerType type); +bool NetNeedsBatchNormUpgrade(const NetParameter& net_param); + +void UpgradeNetBatchNorm(NetParameter* net_param); + // Check for deprecations and upgrade the NetParameter as needed. bool UpgradeNetAsNeeded(const string& param_file, NetParameter* param); bool NetNeedsUpgrade(const NetParameter& net_param) { - return NetNeedsV0ToV1Upgrade(net_param) || NetNeedsV1ToV2Upgrade(net_param); + return NetNeedsV0ToV1Upgrade(net_param) || NetNeedsV1ToV2Upgrade(net_param) || + NetNeedsBatchNormUpgrade(net_param); } bool NetNeedsV0ToV1Upgrade(const NetParameter& net_param) { @@ -340,7 +345,7 @@ bool UpgradeV0LayerParameter(const V1LayerParameter& v0_layer_connection, } if (v0_layer_param.has_pad()) { if (type == "conv") { - layer_param->mutable_convolution_param()->set_pad(v0_layer_param.pad()); + layer_param->mutable_convolution_param()->add_pad(v0_layer_param.pad()); } else if (type == "pool") { layer_param->mutable_pooling_param()->set_pad(v0_layer_param.pad()); } else { @@ -350,7 +355,7 @@ bool UpgradeV0LayerParameter(const V1LayerParameter& v0_layer_connection, } if (v0_layer_param.has_kernelsize()) { if (type == "conv") { - layer_param->mutable_convolution_param()->set_kernel_size( + layer_param->mutable_convolution_param()->add_kernel_size( v0_layer_param.kernelsize()); } else if (type == "pool") { layer_param->mutable_pooling_param()->set_kernel_size( @@ -371,7 +376,7 @@ bool UpgradeV0LayerParameter(const V1LayerParameter& v0_layer_connection, } if (v0_layer_param.has_stride()) { if (type == "conv") { - layer_param->mutable_convolution_param()->set_stride( + layer_param->mutable_convolution_param()->add_stride( v0_layer_param.stride()); } else if (type == "pool") { layer_param->mutable_pooling_param()->set_stride( @@ -774,6 +779,14 @@ bool UpgradeNetAsNeeded(const string& param_file, NetParameter* param) { << "V1LayerParameter"; } } + // NetParameter uses old style batch norm layers; try to upgrade it. + if (NetNeedsBatchNormUpgrade(*param)) { + LOG(INFO) << "Attempting to upgrade batch norm layers using deprecated " + << "params: " << param_file; + UpgradeNetBatchNorm(param); + LOG(INFO) << "Successfully upgraded batch norm layers using deprecated " + << "params."; + } return success; } @@ -797,6 +810,29 @@ bool UpgradeV1Net(const NetParameter& v1_net_param, NetParameter* net_param) { return is_fully_compatible; } +bool NetNeedsBatchNormUpgrade(const NetParameter& net_param) { + for (int i = 0; i < net_param.layer_size(); ++i) { + // Check if BatchNorm layers declare three parameters, as required by + // the previous BatchNorm layer definition. + if (net_param.layer(i).type() == "BatchNorm" + && net_param.layer(i).param_size() == 3) { + return true; + } + } + return false; +} + +void UpgradeNetBatchNorm(NetParameter* net_param) { + for (int i = 0; i < net_param->layer_size(); ++i) { + // Check if BatchNorm layers declare three parameters, as required by + // the previous BatchNorm layer definition. + if (net_param->layer(i).type() == "BatchNorm" + && net_param->layer(i).param_size() == 3) { + net_param->mutable_layer(i)->clear_param(); + } + } +} + bool UpgradeV1LayerParameter(const V1LayerParameter& v1_layer_param, LayerParameter* layer_param) { layer_param->Clear(); diff --git a/modules/dnn/src/caffe/layer_loaders.cpp b/modules/dnn/src/caffe/layer_loaders.cpp index 8b3372003..a6edef749 100644 --- a/modules/dnn/src/caffe/layer_loaders.cpp +++ b/modules/dnn/src/caffe/layer_loaders.cpp @@ -286,13 +286,12 @@ template<> //BatchNormLayer specialization Ptr createLayerFromCaffe(LayerParams& params) { const std::vector &blobs = params.blobs; - CV_Assert(blobs.size() == 4); + CV_Assert(blobs.size() >= 3); - float eps = params.get("eps"); bool hasWeights = params.get("has_weight", false); bool hasBias = params.get("has_bias", false); - - Ptr l = BatchNormLayer::create(eps, hasWeights, hasBias); + float epsilon = params.get("eps", 1E-5); + Ptr l = BatchNormLayer::create(hasWeights, hasBias, epsilon); l->setParamsFrom(params); return Ptr(l); @@ -318,6 +317,15 @@ Ptr createLayerFromCaffe(LayerParams& params) return Ptr(l); } +template<> //ScaleLayer specialization +Ptr createLayerFromCaffe(LayerParams& params) +{ + Ptr l = ScaleLayer::create(params.get("bias_term", false)); + l->setParamsFrom(params); + + return Ptr(l); +} + //Explicit instantiation template Ptr createLayerFromCaffe(LayerParams&); template Ptr createLayerFromCaffe(LayerParams&); @@ -342,6 +350,6 @@ template Ptr createLayerFromCaffe(LayerParams&); template Ptr createLayerFromCaffe(LayerParams&); template Ptr createLayerFromCaffe(LayerParams&); template Ptr createLayerFromCaffe(LayerParams&); - +template Ptr createLayerFromCaffe(LayerParams&); } } diff --git a/modules/dnn/src/init.cpp b/modules/dnn/src/init.cpp index c10b21e62..8d92d61aa 100644 --- a/modules/dnn/src/init.cpp +++ b/modules/dnn/src/init.cpp @@ -52,6 +52,7 @@ #include "layers/normalize_bbox_layer.hpp" #include "layers/shift_layer.hpp" #include "layers/padding_layer.hpp" +#include "layers/scale_layer.hpp" namespace cv { @@ -109,6 +110,7 @@ void initModule() REG_RUNTIME_LAYER_CLASS(NormalizeBBox, NormalizeBBoxLayer); REG_RUNTIME_LAYER_CLASS(Shift, ShiftLayer); REG_RUNTIME_LAYER_CLASS(Padding, PaddingLayer); + REG_RUNTIME_LAYER_FUNC(Scale, createLayerFromCaffe); init.status = true; } diff --git a/modules/dnn/src/layers/batch_norm_layer.cpp b/modules/dnn/src/layers/batch_norm_layer.cpp index e2a651d66..7f9109e3a 100644 --- a/modules/dnn/src/layers/batch_norm_layer.cpp +++ b/modules/dnn/src/layers/batch_norm_layer.cpp @@ -16,19 +16,21 @@ namespace cv namespace dnn { -BatchNormLayerImpl::BatchNormLayerImpl(float eps_, bool hasWeights_, bool hasBias_): - eps(eps_), +BatchNormLayerImpl::BatchNormLayerImpl(bool hasWeights_, bool hasBias_, float epsilon_): hasWeights(hasWeights_), - hasBias(hasBias_) + hasBias(hasBias_), + epsilon(epsilon_) {} void BatchNormLayerImpl::allocate(const std::vector &inputs, std::vector &outputs) { - CV_Assert(blobs.size() == 4); + CV_Assert(blobs.size() >= 2); outputs.resize(inputs.size()); for (size_t i = 0; i < inputs.size(); i++) { + CV_Assert(blobs[0].total() == inputs[i]->channels()); + CV_Assert(blobs[1].total() == inputs[i]->channels()); outputs[i].create(inputs[i]->shape()); } } @@ -39,30 +41,46 @@ void BatchNormLayerImpl::forward(std::vector &inputs, std::vector & Blob &inpBlob = *inputs[0]; + int weightsBlobIndex = 2; + int biasBlobIndex = weightsBlobIndex + hasWeights; + + float varMeanScale = 1; + if (!hasWeights && !hasBias) { + varMeanScale = *blobs[2].ptrf(); + if (varMeanScale != 0) + varMeanScale = 1/varMeanScale; + } + + Mat invStdMat; + cv::pow(blobs[1].matRefConst()*varMeanScale + epsilon, -0.5, invStdMat); + for (size_t ii = 0; ii < outputs.size(); ii++) { Blob &outBlob = outputs[ii]; if (hasWeights) - CV_Assert(inpBlob.channels() == blobs[2].total()); + CV_Assert(inpBlob.channels() == blobs[weightsBlobIndex].total()); if (hasBias) - CV_Assert(inpBlob.channels() == blobs[3].total()); + CV_Assert(inpBlob.channels() == blobs[biasBlobIndex].total()); - for (int n = 0; n < inpBlob.channels(); n++) + for(int num = 0; num < outBlob.num(); num++) { - float mean = blobs[0].matRefConst().at(n); - float invstd = 1 / sqrt(blobs[1].matRefConst().at(n) + eps); - float w = hasWeights ? blobs[2].matRefConst().at(n) : 1; - float b = hasBias ? blobs[3].matRefConst().at(n) : 0; - outBlob.getPlane(0, n) = (inpBlob.getPlane(0, n) - mean)*(w*invstd) + b; + for (int n = 0; n < outBlob.channels(); n++) + { + float mean = blobs[0].matRefConst().at(n)*varMeanScale; + double invstd = invStdMat.at(n); + float w = hasWeights ? blobs[weightsBlobIndex].matRefConst().at(n) : 1; + float b = hasBias ? blobs[biasBlobIndex].matRefConst().at(n) : 0; + outBlob.getPlane(num, n) = (inpBlob.getPlane(num, n) - mean)*w*invstd + b; + } } } } -Ptr BatchNormLayer::create(float eps, bool has_weights, bool has_bias) +Ptr BatchNormLayer::create(bool hasWeights, bool hasBias, float epsilon) { - return Ptr(new BatchNormLayerImpl(eps, has_weights, has_bias)); + return Ptr(new BatchNormLayerImpl(hasWeights, hasBias, epsilon)); } } // namespace dnn diff --git a/modules/dnn/src/layers/batch_norm_layer.hpp b/modules/dnn/src/layers/batch_norm_layer.hpp index ebc69a336..1afa01476 100644 --- a/modules/dnn/src/layers/batch_norm_layer.hpp +++ b/modules/dnn/src/layers/batch_norm_layer.hpp @@ -21,17 +21,17 @@ namespace dnn class BatchNormLayerImpl : public BatchNormLayer { public: - BatchNormLayerImpl(float eps_, bool hasWeights_, bool hasBias_); + BatchNormLayerImpl(bool hasWeights_, bool hasBias_, float epsilon_); void allocate(const std::vector &inputs, std::vector &outputs); void forward(std::vector &inputs, std::vector &outputs); private: - float eps; bool hasWeights, hasBias; + float epsilon; }; } } -#endif // BATCH_NORM_LAYER_HPP +#endif // __OPENCV_DNN_LAYERS_BATCH_NORM_LAYER_HPP__ diff --git a/modules/dnn/src/layers/scale_layer.cpp b/modules/dnn/src/layers/scale_layer.cpp new file mode 100644 index 000000000..952856002 --- /dev/null +++ b/modules/dnn/src/layers/scale_layer.cpp @@ -0,0 +1,60 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +// Copyright (C) 2016, Intel Corporation, all rights reserved. +// Third party copyrights are property of their respective owners. + +/* +Implementation of Scale layer. +*/ + +#include "scale_layer.hpp" + +namespace cv +{ +namespace dnn +{ + +void ScaleLayerImpl::allocate(const std::vector &inputs, std::vector &outputs) +{ + CV_Assert(blobs.size() == 1 + hasBias); + + outputs.resize(inputs.size()); + for (size_t i = 0; i < inputs.size(); i++) + { + outputs[i].create(inputs[i]->shape()); + } +} + +void ScaleLayerImpl::forward(std::vector &inputs, std::vector &outputs) +{ + CV_Assert(inputs.size() == 1); + + Blob &inpBlob = *inputs[0]; + + for (size_t ii = 0; ii < outputs.size(); ii++) + { + Blob &outBlob = outputs[ii]; + + CV_Assert(inpBlob.channels() == blobs[0].total()); + + if (hasBias) + CV_Assert(inpBlob.channels() == blobs[1].total()); + + for (int n = 0; n < inpBlob.channels(); n++) + { + float w = blobs[0].matRefConst().at(n); + float b = hasBias ? blobs[1].matRefConst().at(n) : 0; + outBlob.getPlane(0, n) = w*inpBlob.getPlane(0, n) + b; + } + } +} + +Ptr ScaleLayer::create(bool hasBias) +{ + return Ptr(new ScaleLayerImpl(hasBias)); +} + +} // namespace dnn +} // namespace cv diff --git a/modules/dnn/src/layers/scale_layer.hpp b/modules/dnn/src/layers/scale_layer.hpp new file mode 100644 index 000000000..ee58af432 --- /dev/null +++ b/modules/dnn/src/layers/scale_layer.hpp @@ -0,0 +1,36 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +// Copyright (C) 2016, Intel Corporation, all rights reserved. +// Third party copyrights are property of their respective owners. + +/* +Declaration of scale layer, which multiplies and shifts channels in input blob. +*/ + + +#ifndef __OPENCV_DNN_LAYERS_SCALE_LAYER_HPP__ +#define __OPENCV_DNN_LAYERS_SCALE_LAYER_HPP__ +#include + +namespace cv +{ +namespace dnn +{ + +class ScaleLayerImpl : public ScaleLayer +{ +public: + ScaleLayerImpl(bool hasBias_): hasBias(hasBias_) {} + void allocate(const std::vector &inputs, std::vector &outputs); + void forward(std::vector &inputs, std::vector &outputs); + +private: + bool hasBias; +}; + +} +} + +#endif // __OPENCV_DNN_LAYERS_SCALE_LAYER_HPP__ diff --git a/modules/dnn/src/torch/torch_importer.cpp b/modules/dnn/src/torch/torch_importer.cpp index 2f0e06c02..fa49b4f64 100644 --- a/modules/dnn/src/torch/torch_importer.cpp +++ b/modules/dnn/src/torch/torch_importer.cpp @@ -575,21 +575,19 @@ struct TorchImporter : public ::cv::dnn::Importer layerParams.blobs.push_back(tensorParams["running_var"].second); CV_Assert(scalarParams.has("eps")); - layerParams.set("eps", float(scalarParams.get("eps"))); - - layerParams.blobs.push_back(Blob()); - layerParams.blobs.push_back(Blob()); + float eps = float(scalarParams.get("eps")); + layerParams.set("eps", eps); if (tensorParams.count("weight")) { layerParams.set("has_weight", true); - layerParams.blobs[2] = tensorParams["weight"].second; + layerParams.blobs.push_back(tensorParams["weight"].second); } if (tensorParams.count("bias")) { layerParams.set("has_bias", true); - layerParams.blobs[3] = tensorParams["bias"].second; + layerParams.blobs.push_back(tensorParams["bias"].second); } curModule->modules.push_back(newModule); diff --git a/modules/dnn/test/test_layers.cpp b/modules/dnn/test/test_layers.cpp index 9a5660b19..c4544499b 100644 --- a/modules/dnn/test/test_layers.cpp +++ b/modules/dnn/test/test_layers.cpp @@ -215,6 +215,11 @@ TEST(Layer_Test_Reshape, squeeze) EXPECT_EQ(outVec[0].shape(), BlobShape(4, 3, 2)); } +TEST(Layer_Test_BatchNorm, Accuracy) +{ + OCL_OFF(testLayerUsingCaffeModels("layer_batch_norm", true)); +} + //template //static void test_Layer_Concat() //{ diff --git a/modules/dnn/test/test_torch_importer.cpp b/modules/dnn/test/test_torch_importer.cpp index 9a2c65279..eccdb826f 100644 --- a/modules/dnn/test/test_torch_importer.cpp +++ b/modules/dnn/test/test_torch_importer.cpp @@ -135,6 +135,11 @@ TEST(Torch_Importer, run_deconv) runTorchNet("net_deconv", "", false); } +TEST(Torch_Importer, run_batch_norm) +{ + runTorchNet("net_batch_norm", "", false); +} + #if defined(ENABLE_TORCH_ENET_TESTS) TEST(Torch_Importer, ENet_accuracy) diff --git a/modules/dnn/testdata/dnn/torch/torch_gen_test_data.lua b/modules/dnn/testdata/dnn/torch/torch_gen_test_data.lua index ea3e7be37..bae2b0447 100644 --- a/modules/dnn/testdata/dnn/torch/torch_gen_test_data.lua +++ b/modules/dnn/testdata/dnn/torch/torch_gen_test_data.lua @@ -12,6 +12,9 @@ function fill_net(net) if net.bias then net.bias = torch.rand(net.bias:size()) end + if net.train then + net.train = 0 + end end function save(net, input, label) @@ -68,4 +71,8 @@ save(net_concat, torch.rand(2, 6, 4, 3) - 0.5, 'net_concat') local net_deconv = nn.Sequential() net_deconv:add(nn.SpatialFullConvolution(3, 9, 4, 5, 1, 2, 0, 1, 0, 1)) -save(net_deconv, torch.rand(2, 3, 4, 3) - 0.5, 'net_deconv') \ No newline at end of file +save(net_deconv, torch.rand(2, 3, 4, 3) - 0.5, 'net_deconv') + +local net_batch_norm = nn.Sequential() +net_batch_norm:add(nn.SpatialBatchNormalization(3)) +save(net_batch_norm, torch.rand(1, 3, 4, 3) - 0.5, 'net_batch_norm') \ No newline at end of file