Faster-RCNN models support
[platform/upstream/opencv.git] / modules / dnn / misc / caffe / opencv-caffe.pb.cc
1 // Generated by the protocol buffer compiler.  DO NOT EDIT!
2 // source: opencv-caffe.proto
3
4 #define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
5 #include "opencv-caffe.pb.h"
6
7 #include <algorithm>
8
9 #include <google/protobuf/stubs/common.h>
10 #include <google/protobuf/stubs/port.h>
11 #include <google/protobuf/stubs/once.h>
12 #include <google/protobuf/io/coded_stream.h>
13 #include <google/protobuf/wire_format_lite_inl.h>
14 #include <google/protobuf/descriptor.h>
15 #include <google/protobuf/generated_message_reflection.h>
16 #include <google/protobuf/reflection_ops.h>
17 #include <google/protobuf/wire_format.h>
18 // @@protoc_insertion_point(includes)
19
20 namespace opencv_caffe {
21
22 namespace {
23
24 const ::google::protobuf::Descriptor* BlobShape_descriptor_ = NULL;
25 const ::google::protobuf::internal::GeneratedMessageReflection*
26   BlobShape_reflection_ = NULL;
27 const ::google::protobuf::Descriptor* BlobProto_descriptor_ = NULL;
28 const ::google::protobuf::internal::GeneratedMessageReflection*
29   BlobProto_reflection_ = NULL;
30 const ::google::protobuf::Descriptor* BlobProtoVector_descriptor_ = NULL;
31 const ::google::protobuf::internal::GeneratedMessageReflection*
32   BlobProtoVector_reflection_ = NULL;
33 const ::google::protobuf::Descriptor* PermuteParameter_descriptor_ = NULL;
34 const ::google::protobuf::internal::GeneratedMessageReflection*
35   PermuteParameter_reflection_ = NULL;
36 const ::google::protobuf::Descriptor* NormalizeBBoxParameter_descriptor_ = NULL;
37 const ::google::protobuf::internal::GeneratedMessageReflection*
38   NormalizeBBoxParameter_reflection_ = NULL;
39 const ::google::protobuf::Descriptor* PriorBoxParameter_descriptor_ = NULL;
40 const ::google::protobuf::internal::GeneratedMessageReflection*
41   PriorBoxParameter_reflection_ = NULL;
42 const ::google::protobuf::EnumDescriptor* PriorBoxParameter_CodeType_descriptor_ = NULL;
43 const ::google::protobuf::Descriptor* DetectionOutputParameter_descriptor_ = NULL;
44 const ::google::protobuf::internal::GeneratedMessageReflection*
45   DetectionOutputParameter_reflection_ = NULL;
46 const ::google::protobuf::Descriptor* Datum_descriptor_ = NULL;
47 const ::google::protobuf::internal::GeneratedMessageReflection*
48   Datum_reflection_ = NULL;
49 const ::google::protobuf::Descriptor* FillerParameter_descriptor_ = NULL;
50 const ::google::protobuf::internal::GeneratedMessageReflection*
51   FillerParameter_reflection_ = NULL;
52 const ::google::protobuf::EnumDescriptor* FillerParameter_VarianceNorm_descriptor_ = NULL;
53 const ::google::protobuf::Descriptor* NetParameter_descriptor_ = NULL;
54 const ::google::protobuf::internal::GeneratedMessageReflection*
55   NetParameter_reflection_ = NULL;
56 const ::google::protobuf::Descriptor* SolverParameter_descriptor_ = NULL;
57 const ::google::protobuf::internal::GeneratedMessageReflection*
58   SolverParameter_reflection_ = NULL;
59 const ::google::protobuf::EnumDescriptor* SolverParameter_SnapshotFormat_descriptor_ = NULL;
60 const ::google::protobuf::EnumDescriptor* SolverParameter_SolverMode_descriptor_ = NULL;
61 const ::google::protobuf::EnumDescriptor* SolverParameter_SolverType_descriptor_ = NULL;
62 const ::google::protobuf::Descriptor* SolverState_descriptor_ = NULL;
63 const ::google::protobuf::internal::GeneratedMessageReflection*
64   SolverState_reflection_ = NULL;
65 const ::google::protobuf::Descriptor* NetState_descriptor_ = NULL;
66 const ::google::protobuf::internal::GeneratedMessageReflection*
67   NetState_reflection_ = NULL;
68 const ::google::protobuf::Descriptor* NetStateRule_descriptor_ = NULL;
69 const ::google::protobuf::internal::GeneratedMessageReflection*
70   NetStateRule_reflection_ = NULL;
71 const ::google::protobuf::Descriptor* ParamSpec_descriptor_ = NULL;
72 const ::google::protobuf::internal::GeneratedMessageReflection*
73   ParamSpec_reflection_ = NULL;
74 const ::google::protobuf::EnumDescriptor* ParamSpec_DimCheckMode_descriptor_ = NULL;
75 const ::google::protobuf::Descriptor* LayerParameter_descriptor_ = NULL;
76 const ::google::protobuf::internal::GeneratedMessageReflection*
77   LayerParameter_reflection_ = NULL;
78 const ::google::protobuf::Descriptor* TransformationParameter_descriptor_ = NULL;
79 const ::google::protobuf::internal::GeneratedMessageReflection*
80   TransformationParameter_reflection_ = NULL;
81 const ::google::protobuf::Descriptor* LossParameter_descriptor_ = NULL;
82 const ::google::protobuf::internal::GeneratedMessageReflection*
83   LossParameter_reflection_ = NULL;
84 const ::google::protobuf::EnumDescriptor* LossParameter_NormalizationMode_descriptor_ = NULL;
85 const ::google::protobuf::Descriptor* AccuracyParameter_descriptor_ = NULL;
86 const ::google::protobuf::internal::GeneratedMessageReflection*
87   AccuracyParameter_reflection_ = NULL;
88 const ::google::protobuf::Descriptor* ArgMaxParameter_descriptor_ = NULL;
89 const ::google::protobuf::internal::GeneratedMessageReflection*
90   ArgMaxParameter_reflection_ = NULL;
91 const ::google::protobuf::Descriptor* ConcatParameter_descriptor_ = NULL;
92 const ::google::protobuf::internal::GeneratedMessageReflection*
93   ConcatParameter_reflection_ = NULL;
94 const ::google::protobuf::Descriptor* BatchNormParameter_descriptor_ = NULL;
95 const ::google::protobuf::internal::GeneratedMessageReflection*
96   BatchNormParameter_reflection_ = NULL;
97 const ::google::protobuf::Descriptor* BiasParameter_descriptor_ = NULL;
98 const ::google::protobuf::internal::GeneratedMessageReflection*
99   BiasParameter_reflection_ = NULL;
100 const ::google::protobuf::Descriptor* ContrastiveLossParameter_descriptor_ = NULL;
101 const ::google::protobuf::internal::GeneratedMessageReflection*
102   ContrastiveLossParameter_reflection_ = NULL;
103 const ::google::protobuf::Descriptor* ConvolutionParameter_descriptor_ = NULL;
104 const ::google::protobuf::internal::GeneratedMessageReflection*
105   ConvolutionParameter_reflection_ = NULL;
106 const ::google::protobuf::EnumDescriptor* ConvolutionParameter_Engine_descriptor_ = NULL;
107 const ::google::protobuf::Descriptor* CropParameter_descriptor_ = NULL;
108 const ::google::protobuf::internal::GeneratedMessageReflection*
109   CropParameter_reflection_ = NULL;
110 const ::google::protobuf::Descriptor* DataParameter_descriptor_ = NULL;
111 const ::google::protobuf::internal::GeneratedMessageReflection*
112   DataParameter_reflection_ = NULL;
113 const ::google::protobuf::EnumDescriptor* DataParameter_DB_descriptor_ = NULL;
114 const ::google::protobuf::Descriptor* NonMaximumSuppressionParameter_descriptor_ = NULL;
115 const ::google::protobuf::internal::GeneratedMessageReflection*
116   NonMaximumSuppressionParameter_reflection_ = NULL;
117 const ::google::protobuf::Descriptor* SaveOutputParameter_descriptor_ = NULL;
118 const ::google::protobuf::internal::GeneratedMessageReflection*
119   SaveOutputParameter_reflection_ = NULL;
120 const ::google::protobuf::Descriptor* DropoutParameter_descriptor_ = NULL;
121 const ::google::protobuf::internal::GeneratedMessageReflection*
122   DropoutParameter_reflection_ = NULL;
123 const ::google::protobuf::Descriptor* DummyDataParameter_descriptor_ = NULL;
124 const ::google::protobuf::internal::GeneratedMessageReflection*
125   DummyDataParameter_reflection_ = NULL;
126 const ::google::protobuf::Descriptor* EltwiseParameter_descriptor_ = NULL;
127 const ::google::protobuf::internal::GeneratedMessageReflection*
128   EltwiseParameter_reflection_ = NULL;
129 const ::google::protobuf::EnumDescriptor* EltwiseParameter_EltwiseOp_descriptor_ = NULL;
130 const ::google::protobuf::Descriptor* ELUParameter_descriptor_ = NULL;
131 const ::google::protobuf::internal::GeneratedMessageReflection*
132   ELUParameter_reflection_ = NULL;
133 const ::google::protobuf::Descriptor* EmbedParameter_descriptor_ = NULL;
134 const ::google::protobuf::internal::GeneratedMessageReflection*
135   EmbedParameter_reflection_ = NULL;
136 const ::google::protobuf::Descriptor* ExpParameter_descriptor_ = NULL;
137 const ::google::protobuf::internal::GeneratedMessageReflection*
138   ExpParameter_reflection_ = NULL;
139 const ::google::protobuf::Descriptor* FlattenParameter_descriptor_ = NULL;
140 const ::google::protobuf::internal::GeneratedMessageReflection*
141   FlattenParameter_reflection_ = NULL;
142 const ::google::protobuf::Descriptor* HDF5DataParameter_descriptor_ = NULL;
143 const ::google::protobuf::internal::GeneratedMessageReflection*
144   HDF5DataParameter_reflection_ = NULL;
145 const ::google::protobuf::Descriptor* HDF5OutputParameter_descriptor_ = NULL;
146 const ::google::protobuf::internal::GeneratedMessageReflection*
147   HDF5OutputParameter_reflection_ = NULL;
148 const ::google::protobuf::Descriptor* HingeLossParameter_descriptor_ = NULL;
149 const ::google::protobuf::internal::GeneratedMessageReflection*
150   HingeLossParameter_reflection_ = NULL;
151 const ::google::protobuf::EnumDescriptor* HingeLossParameter_Norm_descriptor_ = NULL;
152 const ::google::protobuf::Descriptor* ImageDataParameter_descriptor_ = NULL;
153 const ::google::protobuf::internal::GeneratedMessageReflection*
154   ImageDataParameter_reflection_ = NULL;
155 const ::google::protobuf::Descriptor* InfogainLossParameter_descriptor_ = NULL;
156 const ::google::protobuf::internal::GeneratedMessageReflection*
157   InfogainLossParameter_reflection_ = NULL;
158 const ::google::protobuf::Descriptor* InnerProductParameter_descriptor_ = NULL;
159 const ::google::protobuf::internal::GeneratedMessageReflection*
160   InnerProductParameter_reflection_ = NULL;
161 const ::google::protobuf::Descriptor* InputParameter_descriptor_ = NULL;
162 const ::google::protobuf::internal::GeneratedMessageReflection*
163   InputParameter_reflection_ = NULL;
164 const ::google::protobuf::Descriptor* LogParameter_descriptor_ = NULL;
165 const ::google::protobuf::internal::GeneratedMessageReflection*
166   LogParameter_reflection_ = NULL;
167 const ::google::protobuf::Descriptor* LRNParameter_descriptor_ = NULL;
168 const ::google::protobuf::internal::GeneratedMessageReflection*
169   LRNParameter_reflection_ = NULL;
170 const ::google::protobuf::EnumDescriptor* LRNParameter_NormRegion_descriptor_ = NULL;
171 const ::google::protobuf::EnumDescriptor* LRNParameter_Engine_descriptor_ = NULL;
172 const ::google::protobuf::Descriptor* MemoryDataParameter_descriptor_ = NULL;
173 const ::google::protobuf::internal::GeneratedMessageReflection*
174   MemoryDataParameter_reflection_ = NULL;
175 const ::google::protobuf::Descriptor* MVNParameter_descriptor_ = NULL;
176 const ::google::protobuf::internal::GeneratedMessageReflection*
177   MVNParameter_reflection_ = NULL;
178 const ::google::protobuf::Descriptor* ParameterParameter_descriptor_ = NULL;
179 const ::google::protobuf::internal::GeneratedMessageReflection*
180   ParameterParameter_reflection_ = NULL;
181 const ::google::protobuf::Descriptor* PoolingParameter_descriptor_ = NULL;
182 const ::google::protobuf::internal::GeneratedMessageReflection*
183   PoolingParameter_reflection_ = NULL;
184 const ::google::protobuf::EnumDescriptor* PoolingParameter_PoolMethod_descriptor_ = NULL;
185 const ::google::protobuf::EnumDescriptor* PoolingParameter_Engine_descriptor_ = NULL;
186 const ::google::protobuf::Descriptor* PowerParameter_descriptor_ = NULL;
187 const ::google::protobuf::internal::GeneratedMessageReflection*
188   PowerParameter_reflection_ = NULL;
189 const ::google::protobuf::Descriptor* PythonParameter_descriptor_ = NULL;
190 const ::google::protobuf::internal::GeneratedMessageReflection*
191   PythonParameter_reflection_ = NULL;
192 const ::google::protobuf::Descriptor* RecurrentParameter_descriptor_ = NULL;
193 const ::google::protobuf::internal::GeneratedMessageReflection*
194   RecurrentParameter_reflection_ = NULL;
195 const ::google::protobuf::Descriptor* ReductionParameter_descriptor_ = NULL;
196 const ::google::protobuf::internal::GeneratedMessageReflection*
197   ReductionParameter_reflection_ = NULL;
198 const ::google::protobuf::EnumDescriptor* ReductionParameter_ReductionOp_descriptor_ = NULL;
199 const ::google::protobuf::Descriptor* ReLUParameter_descriptor_ = NULL;
200 const ::google::protobuf::internal::GeneratedMessageReflection*
201   ReLUParameter_reflection_ = NULL;
202 const ::google::protobuf::EnumDescriptor* ReLUParameter_Engine_descriptor_ = NULL;
203 const ::google::protobuf::Descriptor* ReshapeParameter_descriptor_ = NULL;
204 const ::google::protobuf::internal::GeneratedMessageReflection*
205   ReshapeParameter_reflection_ = NULL;
206 const ::google::protobuf::Descriptor* ScaleParameter_descriptor_ = NULL;
207 const ::google::protobuf::internal::GeneratedMessageReflection*
208   ScaleParameter_reflection_ = NULL;
209 const ::google::protobuf::Descriptor* SigmoidParameter_descriptor_ = NULL;
210 const ::google::protobuf::internal::GeneratedMessageReflection*
211   SigmoidParameter_reflection_ = NULL;
212 const ::google::protobuf::EnumDescriptor* SigmoidParameter_Engine_descriptor_ = NULL;
213 const ::google::protobuf::Descriptor* SliceParameter_descriptor_ = NULL;
214 const ::google::protobuf::internal::GeneratedMessageReflection*
215   SliceParameter_reflection_ = NULL;
216 const ::google::protobuf::Descriptor* SoftmaxParameter_descriptor_ = NULL;
217 const ::google::protobuf::internal::GeneratedMessageReflection*
218   SoftmaxParameter_reflection_ = NULL;
219 const ::google::protobuf::EnumDescriptor* SoftmaxParameter_Engine_descriptor_ = NULL;
220 const ::google::protobuf::Descriptor* TanHParameter_descriptor_ = NULL;
221 const ::google::protobuf::internal::GeneratedMessageReflection*
222   TanHParameter_reflection_ = NULL;
223 const ::google::protobuf::EnumDescriptor* TanHParameter_Engine_descriptor_ = NULL;
224 const ::google::protobuf::Descriptor* TileParameter_descriptor_ = NULL;
225 const ::google::protobuf::internal::GeneratedMessageReflection*
226   TileParameter_reflection_ = NULL;
227 const ::google::protobuf::Descriptor* ThresholdParameter_descriptor_ = NULL;
228 const ::google::protobuf::internal::GeneratedMessageReflection*
229   ThresholdParameter_reflection_ = NULL;
230 const ::google::protobuf::Descriptor* WindowDataParameter_descriptor_ = NULL;
231 const ::google::protobuf::internal::GeneratedMessageReflection*
232   WindowDataParameter_reflection_ = NULL;
233 const ::google::protobuf::Descriptor* SPPParameter_descriptor_ = NULL;
234 const ::google::protobuf::internal::GeneratedMessageReflection*
235   SPPParameter_reflection_ = NULL;
236 const ::google::protobuf::EnumDescriptor* SPPParameter_PoolMethod_descriptor_ = NULL;
237 const ::google::protobuf::EnumDescriptor* SPPParameter_Engine_descriptor_ = NULL;
238 const ::google::protobuf::Descriptor* V1LayerParameter_descriptor_ = NULL;
239 const ::google::protobuf::internal::GeneratedMessageReflection*
240   V1LayerParameter_reflection_ = NULL;
241 const ::google::protobuf::EnumDescriptor* V1LayerParameter_LayerType_descriptor_ = NULL;
242 const ::google::protobuf::EnumDescriptor* V1LayerParameter_DimCheckMode_descriptor_ = NULL;
243 const ::google::protobuf::Descriptor* V0LayerParameter_descriptor_ = NULL;
244 const ::google::protobuf::internal::GeneratedMessageReflection*
245   V0LayerParameter_reflection_ = NULL;
246 const ::google::protobuf::EnumDescriptor* V0LayerParameter_PoolMethod_descriptor_ = NULL;
247 const ::google::protobuf::Descriptor* PReLUParameter_descriptor_ = NULL;
248 const ::google::protobuf::internal::GeneratedMessageReflection*
249   PReLUParameter_reflection_ = NULL;
250 const ::google::protobuf::Descriptor* NormalizedBBox_descriptor_ = NULL;
251 const ::google::protobuf::internal::GeneratedMessageReflection*
252   NormalizedBBox_reflection_ = NULL;
253 const ::google::protobuf::Descriptor* ROIPoolingParameter_descriptor_ = NULL;
254 const ::google::protobuf::internal::GeneratedMessageReflection*
255   ROIPoolingParameter_reflection_ = NULL;
256 const ::google::protobuf::Descriptor* ProposalParameter_descriptor_ = NULL;
257 const ::google::protobuf::internal::GeneratedMessageReflection*
258   ProposalParameter_reflection_ = NULL;
259 const ::google::protobuf::EnumDescriptor* Type_descriptor_ = NULL;
260 const ::google::protobuf::EnumDescriptor* Phase_descriptor_ = NULL;
261
262 }  // namespace
263
264
265 void protobuf_AssignDesc_opencv_2dcaffe_2eproto() GOOGLE_ATTRIBUTE_COLD;
266 void protobuf_AssignDesc_opencv_2dcaffe_2eproto() {
267   protobuf_AddDesc_opencv_2dcaffe_2eproto();
268   const ::google::protobuf::FileDescriptor* file =
269     ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
270       "opencv-caffe.proto");
271   GOOGLE_CHECK(file != NULL);
272   BlobShape_descriptor_ = file->message_type(0);
273   static const int BlobShape_offsets_[1] = {
274     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobShape, dim_),
275   };
276   BlobShape_reflection_ =
277     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
278       BlobShape_descriptor_,
279       BlobShape::internal_default_instance(),
280       BlobShape_offsets_,
281       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobShape, _has_bits_),
282       -1,
283       -1,
284       sizeof(BlobShape),
285       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobShape, _internal_metadata_));
286   BlobProto_descriptor_ = file->message_type(1);
287   static const int BlobProto_offsets_[11] = {
288     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, shape_),
289     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, data_),
290     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, diff_),
291     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, double_data_),
292     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, double_diff_),
293     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, raw_data_type_),
294     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, raw_data_),
295     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, num_),
296     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, channels_),
297     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, height_),
298     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, width_),
299   };
300   BlobProto_reflection_ =
301     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
302       BlobProto_descriptor_,
303       BlobProto::internal_default_instance(),
304       BlobProto_offsets_,
305       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, _has_bits_),
306       -1,
307       -1,
308       sizeof(BlobProto),
309       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, _internal_metadata_));
310   BlobProtoVector_descriptor_ = file->message_type(2);
311   static const int BlobProtoVector_offsets_[1] = {
312     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProtoVector, blobs_),
313   };
314   BlobProtoVector_reflection_ =
315     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
316       BlobProtoVector_descriptor_,
317       BlobProtoVector::internal_default_instance(),
318       BlobProtoVector_offsets_,
319       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProtoVector, _has_bits_),
320       -1,
321       -1,
322       sizeof(BlobProtoVector),
323       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProtoVector, _internal_metadata_));
324   PermuteParameter_descriptor_ = file->message_type(3);
325   static const int PermuteParameter_offsets_[1] = {
326     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PermuteParameter, order_),
327   };
328   PermuteParameter_reflection_ =
329     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
330       PermuteParameter_descriptor_,
331       PermuteParameter::internal_default_instance(),
332       PermuteParameter_offsets_,
333       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PermuteParameter, _has_bits_),
334       -1,
335       -1,
336       sizeof(PermuteParameter),
337       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PermuteParameter, _internal_metadata_));
338   NormalizeBBoxParameter_descriptor_ = file->message_type(4);
339   static const int NormalizeBBoxParameter_offsets_[4] = {
340     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizeBBoxParameter, across_spatial_),
341     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizeBBoxParameter, scale_filler_),
342     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizeBBoxParameter, channel_shared_),
343     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizeBBoxParameter, eps_),
344   };
345   NormalizeBBoxParameter_reflection_ =
346     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
347       NormalizeBBoxParameter_descriptor_,
348       NormalizeBBoxParameter::internal_default_instance(),
349       NormalizeBBoxParameter_offsets_,
350       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizeBBoxParameter, _has_bits_),
351       -1,
352       -1,
353       sizeof(NormalizeBBoxParameter),
354       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizeBBoxParameter, _internal_metadata_));
355   PriorBoxParameter_descriptor_ = file->message_type(5);
356   static const int PriorBoxParameter_offsets_[17] = {
357     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, min_size_),
358     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, max_size_),
359     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, aspect_ratio_),
360     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, flip_),
361     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, clip_),
362     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, variance_),
363     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, img_size_),
364     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, img_h_),
365     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, img_w_),
366     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, step_),
367     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, step_h_),
368     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, step_w_),
369     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, offset_),
370     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, offset_h_),
371     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, offset_w_),
372     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, width_),
373     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, height_),
374   };
375   PriorBoxParameter_reflection_ =
376     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
377       PriorBoxParameter_descriptor_,
378       PriorBoxParameter::internal_default_instance(),
379       PriorBoxParameter_offsets_,
380       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, _has_bits_),
381       -1,
382       -1,
383       sizeof(PriorBoxParameter),
384       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, _internal_metadata_));
385   PriorBoxParameter_CodeType_descriptor_ = PriorBoxParameter_descriptor_->enum_type(0);
386   DetectionOutputParameter_descriptor_ = file->message_type(6);
387   static const int DetectionOutputParameter_offsets_[9] = {
388     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, num_classes_),
389     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, share_location_),
390     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, background_label_id_),
391     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, nms_param_),
392     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, save_output_param_),
393     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, code_type_),
394     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, variance_encoded_in_target_),
395     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, keep_top_k_),
396     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, confidence_threshold_),
397   };
398   DetectionOutputParameter_reflection_ =
399     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
400       DetectionOutputParameter_descriptor_,
401       DetectionOutputParameter::internal_default_instance(),
402       DetectionOutputParameter_offsets_,
403       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, _has_bits_),
404       -1,
405       -1,
406       sizeof(DetectionOutputParameter),
407       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, _internal_metadata_));
408   Datum_descriptor_ = file->message_type(7);
409   static const int Datum_offsets_[7] = {
410     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Datum, channels_),
411     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Datum, height_),
412     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Datum, width_),
413     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Datum, data_),
414     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Datum, label_),
415     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Datum, float_data_),
416     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Datum, encoded_),
417   };
418   Datum_reflection_ =
419     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
420       Datum_descriptor_,
421       Datum::internal_default_instance(),
422       Datum_offsets_,
423       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Datum, _has_bits_),
424       -1,
425       -1,
426       sizeof(Datum),
427       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Datum, _internal_metadata_));
428   FillerParameter_descriptor_ = file->message_type(8);
429   static const int FillerParameter_offsets_[8] = {
430     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FillerParameter, type_),
431     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FillerParameter, value_),
432     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FillerParameter, min_),
433     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FillerParameter, max_),
434     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FillerParameter, mean_),
435     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FillerParameter, std_),
436     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FillerParameter, sparse_),
437     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FillerParameter, variance_norm_),
438   };
439   FillerParameter_reflection_ =
440     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
441       FillerParameter_descriptor_,
442       FillerParameter::internal_default_instance(),
443       FillerParameter_offsets_,
444       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FillerParameter, _has_bits_),
445       -1,
446       -1,
447       sizeof(FillerParameter),
448       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FillerParameter, _internal_metadata_));
449   FillerParameter_VarianceNorm_descriptor_ = FillerParameter_descriptor_->enum_type(0);
450   NetParameter_descriptor_ = file->message_type(9);
451   static const int NetParameter_offsets_[9] = {
452     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, name_),
453     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, input_),
454     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, input_shape_),
455     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, input_dim_),
456     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, force_backward_),
457     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, state_),
458     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, debug_info_),
459     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, layer_),
460     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, layers_),
461   };
462   NetParameter_reflection_ =
463     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
464       NetParameter_descriptor_,
465       NetParameter::internal_default_instance(),
466       NetParameter_offsets_,
467       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, _has_bits_),
468       -1,
469       -1,
470       sizeof(NetParameter),
471       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, _internal_metadata_));
472   SolverParameter_descriptor_ = file->message_type(10);
473   static const int SolverParameter_offsets_[40] = {
474     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, net_),
475     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, net_param_),
476     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, train_net_),
477     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, test_net_),
478     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, train_net_param_),
479     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, test_net_param_),
480     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, train_state_),
481     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, test_state_),
482     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, test_iter_),
483     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, test_interval_),
484     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, test_compute_loss_),
485     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, test_initialization_),
486     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, base_lr_),
487     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, display_),
488     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, average_loss_),
489     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, max_iter_),
490     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, iter_size_),
491     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, lr_policy_),
492     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, gamma_),
493     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, power_),
494     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, momentum_),
495     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, weight_decay_),
496     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, regularization_type_),
497     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, stepsize_),
498     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, stepvalue_),
499     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, clip_gradients_),
500     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, snapshot_),
501     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, snapshot_prefix_),
502     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, snapshot_diff_),
503     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, snapshot_format_),
504     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, solver_mode_),
505     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, device_id_),
506     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, random_seed_),
507     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, type_),
508     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, delta_),
509     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, momentum2_),
510     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, rms_decay_),
511     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, debug_info_),
512     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, snapshot_after_train_),
513     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, solver_type_),
514   };
515   SolverParameter_reflection_ =
516     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
517       SolverParameter_descriptor_,
518       SolverParameter::internal_default_instance(),
519       SolverParameter_offsets_,
520       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, _has_bits_),
521       -1,
522       -1,
523       sizeof(SolverParameter),
524       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, _internal_metadata_));
525   SolverParameter_SnapshotFormat_descriptor_ = SolverParameter_descriptor_->enum_type(0);
526   SolverParameter_SolverMode_descriptor_ = SolverParameter_descriptor_->enum_type(1);
527   SolverParameter_SolverType_descriptor_ = SolverParameter_descriptor_->enum_type(2);
528   SolverState_descriptor_ = file->message_type(11);
529   static const int SolverState_offsets_[4] = {
530     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverState, iter_),
531     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverState, learned_net_),
532     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverState, history_),
533     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverState, current_step_),
534   };
535   SolverState_reflection_ =
536     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
537       SolverState_descriptor_,
538       SolverState::internal_default_instance(),
539       SolverState_offsets_,
540       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverState, _has_bits_),
541       -1,
542       -1,
543       sizeof(SolverState),
544       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverState, _internal_metadata_));
545   NetState_descriptor_ = file->message_type(12);
546   static const int NetState_offsets_[3] = {
547     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetState, phase_),
548     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetState, level_),
549     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetState, stage_),
550   };
551   NetState_reflection_ =
552     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
553       NetState_descriptor_,
554       NetState::internal_default_instance(),
555       NetState_offsets_,
556       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetState, _has_bits_),
557       -1,
558       -1,
559       sizeof(NetState),
560       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetState, _internal_metadata_));
561   NetStateRule_descriptor_ = file->message_type(13);
562   static const int NetStateRule_offsets_[5] = {
563     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetStateRule, phase_),
564     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetStateRule, min_level_),
565     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetStateRule, max_level_),
566     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetStateRule, stage_),
567     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetStateRule, not_stage_),
568   };
569   NetStateRule_reflection_ =
570     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
571       NetStateRule_descriptor_,
572       NetStateRule::internal_default_instance(),
573       NetStateRule_offsets_,
574       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetStateRule, _has_bits_),
575       -1,
576       -1,
577       sizeof(NetStateRule),
578       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetStateRule, _internal_metadata_));
579   ParamSpec_descriptor_ = file->message_type(14);
580   static const int ParamSpec_offsets_[4] = {
581     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParamSpec, name_),
582     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParamSpec, share_mode_),
583     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParamSpec, lr_mult_),
584     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParamSpec, decay_mult_),
585   };
586   ParamSpec_reflection_ =
587     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
588       ParamSpec_descriptor_,
589       ParamSpec::internal_default_instance(),
590       ParamSpec_offsets_,
591       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParamSpec, _has_bits_),
592       -1,
593       -1,
594       sizeof(ParamSpec),
595       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParamSpec, _internal_metadata_));
596   ParamSpec_DimCheckMode_descriptor_ = ParamSpec_descriptor_->enum_type(0);
597   LayerParameter_descriptor_ = file->message_type(15);
598   static const int LayerParameter_offsets_[64] = {
599     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, name_),
600     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, type_),
601     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, bottom_),
602     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, top_),
603     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, phase_),
604     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, loss_weight_),
605     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, param_),
606     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, blobs_),
607     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, propagate_down_),
608     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, include_),
609     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, exclude_),
610     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, transform_param_),
611     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, loss_param_),
612     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, accuracy_param_),
613     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, argmax_param_),
614     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, batch_norm_param_),
615     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, bias_param_),
616     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, concat_param_),
617     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, contrastive_loss_param_),
618     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, convolution_param_),
619     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, crop_param_),
620     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, data_param_),
621     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, detection_output_param_),
622     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, dropout_param_),
623     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, dummy_data_param_),
624     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, eltwise_param_),
625     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, elu_param_),
626     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, embed_param_),
627     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, exp_param_),
628     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, flatten_param_),
629     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, hdf5_data_param_),
630     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, hdf5_output_param_),
631     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, hinge_loss_param_),
632     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, image_data_param_),
633     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, infogain_loss_param_),
634     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, inner_product_param_),
635     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, input_param_),
636     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, log_param_),
637     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, lrn_param_),
638     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, memory_data_param_),
639     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, mvn_param_),
640     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, norm_param_),
641     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, permute_param_),
642     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, parameter_param_),
643     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, pooling_param_),
644     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, power_param_),
645     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, prelu_param_),
646     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, prior_box_param_),
647     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, proposal_param_),
648     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, python_param_),
649     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, recurrent_param_),
650     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, reduction_param_),
651     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, relu_param_),
652     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, reshape_param_),
653     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, roi_pooling_param_),
654     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, scale_param_),
655     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, sigmoid_param_),
656     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, softmax_param_),
657     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, spp_param_),
658     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, slice_param_),
659     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, tanh_param_),
660     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, threshold_param_),
661     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, tile_param_),
662     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, window_data_param_),
663   };
664   LayerParameter_reflection_ =
665     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
666       LayerParameter_descriptor_,
667       LayerParameter::internal_default_instance(),
668       LayerParameter_offsets_,
669       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, _has_bits_),
670       -1,
671       -1,
672       sizeof(LayerParameter),
673       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, _internal_metadata_));
674   TransformationParameter_descriptor_ = file->message_type(16);
675   static const int TransformationParameter_offsets_[7] = {
676     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TransformationParameter, scale_),
677     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TransformationParameter, mirror_),
678     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TransformationParameter, crop_size_),
679     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TransformationParameter, mean_file_),
680     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TransformationParameter, mean_value_),
681     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TransformationParameter, force_color_),
682     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TransformationParameter, force_gray_),
683   };
684   TransformationParameter_reflection_ =
685     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
686       TransformationParameter_descriptor_,
687       TransformationParameter::internal_default_instance(),
688       TransformationParameter_offsets_,
689       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TransformationParameter, _has_bits_),
690       -1,
691       -1,
692       sizeof(TransformationParameter),
693       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TransformationParameter, _internal_metadata_));
694   LossParameter_descriptor_ = file->message_type(17);
695   static const int LossParameter_offsets_[3] = {
696     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LossParameter, ignore_label_),
697     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LossParameter, normalization_),
698     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LossParameter, normalize_),
699   };
700   LossParameter_reflection_ =
701     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
702       LossParameter_descriptor_,
703       LossParameter::internal_default_instance(),
704       LossParameter_offsets_,
705       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LossParameter, _has_bits_),
706       -1,
707       -1,
708       sizeof(LossParameter),
709       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LossParameter, _internal_metadata_));
710   LossParameter_NormalizationMode_descriptor_ = LossParameter_descriptor_->enum_type(0);
711   AccuracyParameter_descriptor_ = file->message_type(18);
712   static const int AccuracyParameter_offsets_[3] = {
713     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AccuracyParameter, top_k_),
714     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AccuracyParameter, axis_),
715     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AccuracyParameter, ignore_label_),
716   };
717   AccuracyParameter_reflection_ =
718     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
719       AccuracyParameter_descriptor_,
720       AccuracyParameter::internal_default_instance(),
721       AccuracyParameter_offsets_,
722       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AccuracyParameter, _has_bits_),
723       -1,
724       -1,
725       sizeof(AccuracyParameter),
726       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AccuracyParameter, _internal_metadata_));
727   ArgMaxParameter_descriptor_ = file->message_type(19);
728   static const int ArgMaxParameter_offsets_[3] = {
729     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ArgMaxParameter, out_max_val_),
730     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ArgMaxParameter, top_k_),
731     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ArgMaxParameter, axis_),
732   };
733   ArgMaxParameter_reflection_ =
734     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
735       ArgMaxParameter_descriptor_,
736       ArgMaxParameter::internal_default_instance(),
737       ArgMaxParameter_offsets_,
738       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ArgMaxParameter, _has_bits_),
739       -1,
740       -1,
741       sizeof(ArgMaxParameter),
742       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ArgMaxParameter, _internal_metadata_));
743   ConcatParameter_descriptor_ = file->message_type(20);
744   static const int ConcatParameter_offsets_[2] = {
745     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConcatParameter, axis_),
746     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConcatParameter, concat_dim_),
747   };
748   ConcatParameter_reflection_ =
749     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
750       ConcatParameter_descriptor_,
751       ConcatParameter::internal_default_instance(),
752       ConcatParameter_offsets_,
753       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConcatParameter, _has_bits_),
754       -1,
755       -1,
756       sizeof(ConcatParameter),
757       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConcatParameter, _internal_metadata_));
758   BatchNormParameter_descriptor_ = file->message_type(21);
759   static const int BatchNormParameter_offsets_[3] = {
760     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BatchNormParameter, use_global_stats_),
761     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BatchNormParameter, moving_average_fraction_),
762     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BatchNormParameter, eps_),
763   };
764   BatchNormParameter_reflection_ =
765     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
766       BatchNormParameter_descriptor_,
767       BatchNormParameter::internal_default_instance(),
768       BatchNormParameter_offsets_,
769       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BatchNormParameter, _has_bits_),
770       -1,
771       -1,
772       sizeof(BatchNormParameter),
773       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BatchNormParameter, _internal_metadata_));
774   BiasParameter_descriptor_ = file->message_type(22);
775   static const int BiasParameter_offsets_[3] = {
776     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BiasParameter, axis_),
777     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BiasParameter, num_axes_),
778     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BiasParameter, filler_),
779   };
780   BiasParameter_reflection_ =
781     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
782       BiasParameter_descriptor_,
783       BiasParameter::internal_default_instance(),
784       BiasParameter_offsets_,
785       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BiasParameter, _has_bits_),
786       -1,
787       -1,
788       sizeof(BiasParameter),
789       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BiasParameter, _internal_metadata_));
790   ContrastiveLossParameter_descriptor_ = file->message_type(23);
791   static const int ContrastiveLossParameter_offsets_[2] = {
792     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ContrastiveLossParameter, margin_),
793     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ContrastiveLossParameter, legacy_version_),
794   };
795   ContrastiveLossParameter_reflection_ =
796     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
797       ContrastiveLossParameter_descriptor_,
798       ContrastiveLossParameter::internal_default_instance(),
799       ContrastiveLossParameter_offsets_,
800       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ContrastiveLossParameter, _has_bits_),
801       -1,
802       -1,
803       sizeof(ContrastiveLossParameter),
804       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ContrastiveLossParameter, _internal_metadata_));
805   ConvolutionParameter_descriptor_ = file->message_type(24);
806   static const int ConvolutionParameter_offsets_[18] = {
807     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, num_output_),
808     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, bias_term_),
809     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, pad_),
810     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, kernel_size_),
811     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, stride_),
812     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, dilation_),
813     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, pad_h_),
814     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, pad_w_),
815     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, kernel_h_),
816     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, kernel_w_),
817     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, stride_h_),
818     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, stride_w_),
819     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, group_),
820     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, weight_filler_),
821     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, bias_filler_),
822     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, engine_),
823     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, axis_),
824     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, force_nd_im2col_),
825   };
826   ConvolutionParameter_reflection_ =
827     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
828       ConvolutionParameter_descriptor_,
829       ConvolutionParameter::internal_default_instance(),
830       ConvolutionParameter_offsets_,
831       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, _has_bits_),
832       -1,
833       -1,
834       sizeof(ConvolutionParameter),
835       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, _internal_metadata_));
836   ConvolutionParameter_Engine_descriptor_ = ConvolutionParameter_descriptor_->enum_type(0);
837   CropParameter_descriptor_ = file->message_type(25);
838   static const int CropParameter_offsets_[2] = {
839     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CropParameter, axis_),
840     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CropParameter, offset_),
841   };
842   CropParameter_reflection_ =
843     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
844       CropParameter_descriptor_,
845       CropParameter::internal_default_instance(),
846       CropParameter_offsets_,
847       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CropParameter, _has_bits_),
848       -1,
849       -1,
850       sizeof(CropParameter),
851       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CropParameter, _internal_metadata_));
852   DataParameter_descriptor_ = file->message_type(26);
853   static const int DataParameter_offsets_[10] = {
854     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, source_),
855     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, batch_size_),
856     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, rand_skip_),
857     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, backend_),
858     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, scale_),
859     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, mean_file_),
860     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, crop_size_),
861     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, mirror_),
862     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, force_encoded_color_),
863     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, prefetch_),
864   };
865   DataParameter_reflection_ =
866     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
867       DataParameter_descriptor_,
868       DataParameter::internal_default_instance(),
869       DataParameter_offsets_,
870       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, _has_bits_),
871       -1,
872       -1,
873       sizeof(DataParameter),
874       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, _internal_metadata_));
875   DataParameter_DB_descriptor_ = DataParameter_descriptor_->enum_type(0);
876   NonMaximumSuppressionParameter_descriptor_ = file->message_type(27);
877   static const int NonMaximumSuppressionParameter_offsets_[3] = {
878     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NonMaximumSuppressionParameter, nms_threshold_),
879     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NonMaximumSuppressionParameter, top_k_),
880     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NonMaximumSuppressionParameter, eta_),
881   };
882   NonMaximumSuppressionParameter_reflection_ =
883     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
884       NonMaximumSuppressionParameter_descriptor_,
885       NonMaximumSuppressionParameter::internal_default_instance(),
886       NonMaximumSuppressionParameter_offsets_,
887       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NonMaximumSuppressionParameter, _has_bits_),
888       -1,
889       -1,
890       sizeof(NonMaximumSuppressionParameter),
891       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NonMaximumSuppressionParameter, _internal_metadata_));
892   SaveOutputParameter_descriptor_ = file->message_type(28);
893   static const int SaveOutputParameter_offsets_[6] = {
894     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SaveOutputParameter, output_directory_),
895     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SaveOutputParameter, output_name_prefix_),
896     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SaveOutputParameter, output_format_),
897     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SaveOutputParameter, label_map_file_),
898     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SaveOutputParameter, name_size_file_),
899     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SaveOutputParameter, num_test_image_),
900   };
901   SaveOutputParameter_reflection_ =
902     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
903       SaveOutputParameter_descriptor_,
904       SaveOutputParameter::internal_default_instance(),
905       SaveOutputParameter_offsets_,
906       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SaveOutputParameter, _has_bits_),
907       -1,
908       -1,
909       sizeof(SaveOutputParameter),
910       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SaveOutputParameter, _internal_metadata_));
911   DropoutParameter_descriptor_ = file->message_type(29);
912   static const int DropoutParameter_offsets_[2] = {
913     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DropoutParameter, dropout_ratio_),
914     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DropoutParameter, scale_train_),
915   };
916   DropoutParameter_reflection_ =
917     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
918       DropoutParameter_descriptor_,
919       DropoutParameter::internal_default_instance(),
920       DropoutParameter_offsets_,
921       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DropoutParameter, _has_bits_),
922       -1,
923       -1,
924       sizeof(DropoutParameter),
925       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DropoutParameter, _internal_metadata_));
926   DummyDataParameter_descriptor_ = file->message_type(30);
927   static const int DummyDataParameter_offsets_[6] = {
928     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DummyDataParameter, data_filler_),
929     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DummyDataParameter, shape_),
930     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DummyDataParameter, num_),
931     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DummyDataParameter, channels_),
932     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DummyDataParameter, height_),
933     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DummyDataParameter, width_),
934   };
935   DummyDataParameter_reflection_ =
936     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
937       DummyDataParameter_descriptor_,
938       DummyDataParameter::internal_default_instance(),
939       DummyDataParameter_offsets_,
940       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DummyDataParameter, _has_bits_),
941       -1,
942       -1,
943       sizeof(DummyDataParameter),
944       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DummyDataParameter, _internal_metadata_));
945   EltwiseParameter_descriptor_ = file->message_type(31);
946   static const int EltwiseParameter_offsets_[3] = {
947     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EltwiseParameter, operation_),
948     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EltwiseParameter, coeff_),
949     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EltwiseParameter, stable_prod_grad_),
950   };
951   EltwiseParameter_reflection_ =
952     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
953       EltwiseParameter_descriptor_,
954       EltwiseParameter::internal_default_instance(),
955       EltwiseParameter_offsets_,
956       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EltwiseParameter, _has_bits_),
957       -1,
958       -1,
959       sizeof(EltwiseParameter),
960       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EltwiseParameter, _internal_metadata_));
961   EltwiseParameter_EltwiseOp_descriptor_ = EltwiseParameter_descriptor_->enum_type(0);
962   ELUParameter_descriptor_ = file->message_type(32);
963   static const int ELUParameter_offsets_[1] = {
964     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ELUParameter, alpha_),
965   };
966   ELUParameter_reflection_ =
967     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
968       ELUParameter_descriptor_,
969       ELUParameter::internal_default_instance(),
970       ELUParameter_offsets_,
971       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ELUParameter, _has_bits_),
972       -1,
973       -1,
974       sizeof(ELUParameter),
975       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ELUParameter, _internal_metadata_));
976   EmbedParameter_descriptor_ = file->message_type(33);
977   static const int EmbedParameter_offsets_[5] = {
978     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EmbedParameter, num_output_),
979     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EmbedParameter, input_dim_),
980     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EmbedParameter, bias_term_),
981     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EmbedParameter, weight_filler_),
982     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EmbedParameter, bias_filler_),
983   };
984   EmbedParameter_reflection_ =
985     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
986       EmbedParameter_descriptor_,
987       EmbedParameter::internal_default_instance(),
988       EmbedParameter_offsets_,
989       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EmbedParameter, _has_bits_),
990       -1,
991       -1,
992       sizeof(EmbedParameter),
993       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EmbedParameter, _internal_metadata_));
994   ExpParameter_descriptor_ = file->message_type(34);
995   static const int ExpParameter_offsets_[3] = {
996     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExpParameter, base_),
997     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExpParameter, scale_),
998     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExpParameter, shift_),
999   };
1000   ExpParameter_reflection_ =
1001     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1002       ExpParameter_descriptor_,
1003       ExpParameter::internal_default_instance(),
1004       ExpParameter_offsets_,
1005       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExpParameter, _has_bits_),
1006       -1,
1007       -1,
1008       sizeof(ExpParameter),
1009       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExpParameter, _internal_metadata_));
1010   FlattenParameter_descriptor_ = file->message_type(35);
1011   static const int FlattenParameter_offsets_[2] = {
1012     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FlattenParameter, axis_),
1013     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FlattenParameter, end_axis_),
1014   };
1015   FlattenParameter_reflection_ =
1016     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1017       FlattenParameter_descriptor_,
1018       FlattenParameter::internal_default_instance(),
1019       FlattenParameter_offsets_,
1020       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FlattenParameter, _has_bits_),
1021       -1,
1022       -1,
1023       sizeof(FlattenParameter),
1024       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FlattenParameter, _internal_metadata_));
1025   HDF5DataParameter_descriptor_ = file->message_type(36);
1026   static const int HDF5DataParameter_offsets_[3] = {
1027     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HDF5DataParameter, source_),
1028     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HDF5DataParameter, batch_size_),
1029     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HDF5DataParameter, shuffle_),
1030   };
1031   HDF5DataParameter_reflection_ =
1032     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1033       HDF5DataParameter_descriptor_,
1034       HDF5DataParameter::internal_default_instance(),
1035       HDF5DataParameter_offsets_,
1036       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HDF5DataParameter, _has_bits_),
1037       -1,
1038       -1,
1039       sizeof(HDF5DataParameter),
1040       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HDF5DataParameter, _internal_metadata_));
1041   HDF5OutputParameter_descriptor_ = file->message_type(37);
1042   static const int HDF5OutputParameter_offsets_[1] = {
1043     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HDF5OutputParameter, file_name_),
1044   };
1045   HDF5OutputParameter_reflection_ =
1046     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1047       HDF5OutputParameter_descriptor_,
1048       HDF5OutputParameter::internal_default_instance(),
1049       HDF5OutputParameter_offsets_,
1050       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HDF5OutputParameter, _has_bits_),
1051       -1,
1052       -1,
1053       sizeof(HDF5OutputParameter),
1054       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HDF5OutputParameter, _internal_metadata_));
1055   HingeLossParameter_descriptor_ = file->message_type(38);
1056   static const int HingeLossParameter_offsets_[1] = {
1057     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HingeLossParameter, norm_),
1058   };
1059   HingeLossParameter_reflection_ =
1060     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1061       HingeLossParameter_descriptor_,
1062       HingeLossParameter::internal_default_instance(),
1063       HingeLossParameter_offsets_,
1064       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HingeLossParameter, _has_bits_),
1065       -1,
1066       -1,
1067       sizeof(HingeLossParameter),
1068       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HingeLossParameter, _internal_metadata_));
1069   HingeLossParameter_Norm_descriptor_ = HingeLossParameter_descriptor_->enum_type(0);
1070   ImageDataParameter_descriptor_ = file->message_type(39);
1071   static const int ImageDataParameter_offsets_[12] = {
1072     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, source_),
1073     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, batch_size_),
1074     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, rand_skip_),
1075     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, shuffle_),
1076     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, new_height_),
1077     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, new_width_),
1078     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, is_color_),
1079     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, scale_),
1080     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, mean_file_),
1081     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, crop_size_),
1082     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, mirror_),
1083     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, root_folder_),
1084   };
1085   ImageDataParameter_reflection_ =
1086     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1087       ImageDataParameter_descriptor_,
1088       ImageDataParameter::internal_default_instance(),
1089       ImageDataParameter_offsets_,
1090       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, _has_bits_),
1091       -1,
1092       -1,
1093       sizeof(ImageDataParameter),
1094       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, _internal_metadata_));
1095   InfogainLossParameter_descriptor_ = file->message_type(40);
1096   static const int InfogainLossParameter_offsets_[1] = {
1097     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InfogainLossParameter, source_),
1098   };
1099   InfogainLossParameter_reflection_ =
1100     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1101       InfogainLossParameter_descriptor_,
1102       InfogainLossParameter::internal_default_instance(),
1103       InfogainLossParameter_offsets_,
1104       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InfogainLossParameter, _has_bits_),
1105       -1,
1106       -1,
1107       sizeof(InfogainLossParameter),
1108       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InfogainLossParameter, _internal_metadata_));
1109   InnerProductParameter_descriptor_ = file->message_type(41);
1110   static const int InnerProductParameter_offsets_[6] = {
1111     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InnerProductParameter, num_output_),
1112     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InnerProductParameter, bias_term_),
1113     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InnerProductParameter, weight_filler_),
1114     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InnerProductParameter, bias_filler_),
1115     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InnerProductParameter, axis_),
1116     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InnerProductParameter, transpose_),
1117   };
1118   InnerProductParameter_reflection_ =
1119     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1120       InnerProductParameter_descriptor_,
1121       InnerProductParameter::internal_default_instance(),
1122       InnerProductParameter_offsets_,
1123       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InnerProductParameter, _has_bits_),
1124       -1,
1125       -1,
1126       sizeof(InnerProductParameter),
1127       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InnerProductParameter, _internal_metadata_));
1128   InputParameter_descriptor_ = file->message_type(42);
1129   static const int InputParameter_offsets_[1] = {
1130     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InputParameter, shape_),
1131   };
1132   InputParameter_reflection_ =
1133     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1134       InputParameter_descriptor_,
1135       InputParameter::internal_default_instance(),
1136       InputParameter_offsets_,
1137       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InputParameter, _has_bits_),
1138       -1,
1139       -1,
1140       sizeof(InputParameter),
1141       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InputParameter, _internal_metadata_));
1142   LogParameter_descriptor_ = file->message_type(43);
1143   static const int LogParameter_offsets_[3] = {
1144     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LogParameter, base_),
1145     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LogParameter, scale_),
1146     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LogParameter, shift_),
1147   };
1148   LogParameter_reflection_ =
1149     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1150       LogParameter_descriptor_,
1151       LogParameter::internal_default_instance(),
1152       LogParameter_offsets_,
1153       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LogParameter, _has_bits_),
1154       -1,
1155       -1,
1156       sizeof(LogParameter),
1157       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LogParameter, _internal_metadata_));
1158   LRNParameter_descriptor_ = file->message_type(44);
1159   static const int LRNParameter_offsets_[6] = {
1160     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LRNParameter, local_size_),
1161     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LRNParameter, alpha_),
1162     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LRNParameter, beta_),
1163     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LRNParameter, norm_region_),
1164     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LRNParameter, k_),
1165     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LRNParameter, engine_),
1166   };
1167   LRNParameter_reflection_ =
1168     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1169       LRNParameter_descriptor_,
1170       LRNParameter::internal_default_instance(),
1171       LRNParameter_offsets_,
1172       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LRNParameter, _has_bits_),
1173       -1,
1174       -1,
1175       sizeof(LRNParameter),
1176       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LRNParameter, _internal_metadata_));
1177   LRNParameter_NormRegion_descriptor_ = LRNParameter_descriptor_->enum_type(0);
1178   LRNParameter_Engine_descriptor_ = LRNParameter_descriptor_->enum_type(1);
1179   MemoryDataParameter_descriptor_ = file->message_type(45);
1180   static const int MemoryDataParameter_offsets_[4] = {
1181     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MemoryDataParameter, batch_size_),
1182     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MemoryDataParameter, channels_),
1183     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MemoryDataParameter, height_),
1184     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MemoryDataParameter, width_),
1185   };
1186   MemoryDataParameter_reflection_ =
1187     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1188       MemoryDataParameter_descriptor_,
1189       MemoryDataParameter::internal_default_instance(),
1190       MemoryDataParameter_offsets_,
1191       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MemoryDataParameter, _has_bits_),
1192       -1,
1193       -1,
1194       sizeof(MemoryDataParameter),
1195       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MemoryDataParameter, _internal_metadata_));
1196   MVNParameter_descriptor_ = file->message_type(46);
1197   static const int MVNParameter_offsets_[3] = {
1198     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MVNParameter, normalize_variance_),
1199     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MVNParameter, across_channels_),
1200     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MVNParameter, eps_),
1201   };
1202   MVNParameter_reflection_ =
1203     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1204       MVNParameter_descriptor_,
1205       MVNParameter::internal_default_instance(),
1206       MVNParameter_offsets_,
1207       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MVNParameter, _has_bits_),
1208       -1,
1209       -1,
1210       sizeof(MVNParameter),
1211       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MVNParameter, _internal_metadata_));
1212   ParameterParameter_descriptor_ = file->message_type(47);
1213   static const int ParameterParameter_offsets_[1] = {
1214     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParameterParameter, shape_),
1215   };
1216   ParameterParameter_reflection_ =
1217     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1218       ParameterParameter_descriptor_,
1219       ParameterParameter::internal_default_instance(),
1220       ParameterParameter_offsets_,
1221       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParameterParameter, _has_bits_),
1222       -1,
1223       -1,
1224       sizeof(ParameterParameter),
1225       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParameterParameter, _internal_metadata_));
1226   PoolingParameter_descriptor_ = file->message_type(48);
1227   static const int PoolingParameter_offsets_[13] = {
1228     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, pool_),
1229     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, pad_),
1230     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, pad_h_),
1231     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, pad_w_),
1232     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, kernel_size_),
1233     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, kernel_h_),
1234     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, kernel_w_),
1235     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, stride_),
1236     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, stride_h_),
1237     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, stride_w_),
1238     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, engine_),
1239     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, global_pooling_),
1240     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, ceil_mode_),
1241   };
1242   PoolingParameter_reflection_ =
1243     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1244       PoolingParameter_descriptor_,
1245       PoolingParameter::internal_default_instance(),
1246       PoolingParameter_offsets_,
1247       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, _has_bits_),
1248       -1,
1249       -1,
1250       sizeof(PoolingParameter),
1251       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, _internal_metadata_));
1252   PoolingParameter_PoolMethod_descriptor_ = PoolingParameter_descriptor_->enum_type(0);
1253   PoolingParameter_Engine_descriptor_ = PoolingParameter_descriptor_->enum_type(1);
1254   PowerParameter_descriptor_ = file->message_type(49);
1255   static const int PowerParameter_offsets_[3] = {
1256     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PowerParameter, power_),
1257     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PowerParameter, scale_),
1258     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PowerParameter, shift_),
1259   };
1260   PowerParameter_reflection_ =
1261     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1262       PowerParameter_descriptor_,
1263       PowerParameter::internal_default_instance(),
1264       PowerParameter_offsets_,
1265       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PowerParameter, _has_bits_),
1266       -1,
1267       -1,
1268       sizeof(PowerParameter),
1269       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PowerParameter, _internal_metadata_));
1270   PythonParameter_descriptor_ = file->message_type(50);
1271   static const int PythonParameter_offsets_[4] = {
1272     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PythonParameter, module_),
1273     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PythonParameter, layer_),
1274     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PythonParameter, param_str_),
1275     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PythonParameter, share_in_parallel_),
1276   };
1277   PythonParameter_reflection_ =
1278     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1279       PythonParameter_descriptor_,
1280       PythonParameter::internal_default_instance(),
1281       PythonParameter_offsets_,
1282       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PythonParameter, _has_bits_),
1283       -1,
1284       -1,
1285       sizeof(PythonParameter),
1286       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PythonParameter, _internal_metadata_));
1287   RecurrentParameter_descriptor_ = file->message_type(51);
1288   static const int RecurrentParameter_offsets_[5] = {
1289     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RecurrentParameter, num_output_),
1290     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RecurrentParameter, weight_filler_),
1291     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RecurrentParameter, bias_filler_),
1292     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RecurrentParameter, debug_info_),
1293     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RecurrentParameter, expose_hidden_),
1294   };
1295   RecurrentParameter_reflection_ =
1296     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1297       RecurrentParameter_descriptor_,
1298       RecurrentParameter::internal_default_instance(),
1299       RecurrentParameter_offsets_,
1300       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RecurrentParameter, _has_bits_),
1301       -1,
1302       -1,
1303       sizeof(RecurrentParameter),
1304       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RecurrentParameter, _internal_metadata_));
1305   ReductionParameter_descriptor_ = file->message_type(52);
1306   static const int ReductionParameter_offsets_[3] = {
1307     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReductionParameter, operation_),
1308     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReductionParameter, axis_),
1309     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReductionParameter, coeff_),
1310   };
1311   ReductionParameter_reflection_ =
1312     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1313       ReductionParameter_descriptor_,
1314       ReductionParameter::internal_default_instance(),
1315       ReductionParameter_offsets_,
1316       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReductionParameter, _has_bits_),
1317       -1,
1318       -1,
1319       sizeof(ReductionParameter),
1320       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReductionParameter, _internal_metadata_));
1321   ReductionParameter_ReductionOp_descriptor_ = ReductionParameter_descriptor_->enum_type(0);
1322   ReLUParameter_descriptor_ = file->message_type(53);
1323   static const int ReLUParameter_offsets_[2] = {
1324     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReLUParameter, negative_slope_),
1325     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReLUParameter, engine_),
1326   };
1327   ReLUParameter_reflection_ =
1328     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1329       ReLUParameter_descriptor_,
1330       ReLUParameter::internal_default_instance(),
1331       ReLUParameter_offsets_,
1332       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReLUParameter, _has_bits_),
1333       -1,
1334       -1,
1335       sizeof(ReLUParameter),
1336       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReLUParameter, _internal_metadata_));
1337   ReLUParameter_Engine_descriptor_ = ReLUParameter_descriptor_->enum_type(0);
1338   ReshapeParameter_descriptor_ = file->message_type(54);
1339   static const int ReshapeParameter_offsets_[3] = {
1340     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReshapeParameter, shape_),
1341     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReshapeParameter, axis_),
1342     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReshapeParameter, num_axes_),
1343   };
1344   ReshapeParameter_reflection_ =
1345     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1346       ReshapeParameter_descriptor_,
1347       ReshapeParameter::internal_default_instance(),
1348       ReshapeParameter_offsets_,
1349       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReshapeParameter, _has_bits_),
1350       -1,
1351       -1,
1352       sizeof(ReshapeParameter),
1353       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReshapeParameter, _internal_metadata_));
1354   ScaleParameter_descriptor_ = file->message_type(55);
1355   static const int ScaleParameter_offsets_[5] = {
1356     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ScaleParameter, axis_),
1357     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ScaleParameter, num_axes_),
1358     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ScaleParameter, filler_),
1359     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ScaleParameter, bias_term_),
1360     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ScaleParameter, bias_filler_),
1361   };
1362   ScaleParameter_reflection_ =
1363     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1364       ScaleParameter_descriptor_,
1365       ScaleParameter::internal_default_instance(),
1366       ScaleParameter_offsets_,
1367       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ScaleParameter, _has_bits_),
1368       -1,
1369       -1,
1370       sizeof(ScaleParameter),
1371       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ScaleParameter, _internal_metadata_));
1372   SigmoidParameter_descriptor_ = file->message_type(56);
1373   static const int SigmoidParameter_offsets_[1] = {
1374     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SigmoidParameter, engine_),
1375   };
1376   SigmoidParameter_reflection_ =
1377     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1378       SigmoidParameter_descriptor_,
1379       SigmoidParameter::internal_default_instance(),
1380       SigmoidParameter_offsets_,
1381       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SigmoidParameter, _has_bits_),
1382       -1,
1383       -1,
1384       sizeof(SigmoidParameter),
1385       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SigmoidParameter, _internal_metadata_));
1386   SigmoidParameter_Engine_descriptor_ = SigmoidParameter_descriptor_->enum_type(0);
1387   SliceParameter_descriptor_ = file->message_type(57);
1388   static const int SliceParameter_offsets_[3] = {
1389     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SliceParameter, axis_),
1390     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SliceParameter, slice_point_),
1391     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SliceParameter, slice_dim_),
1392   };
1393   SliceParameter_reflection_ =
1394     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1395       SliceParameter_descriptor_,
1396       SliceParameter::internal_default_instance(),
1397       SliceParameter_offsets_,
1398       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SliceParameter, _has_bits_),
1399       -1,
1400       -1,
1401       sizeof(SliceParameter),
1402       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SliceParameter, _internal_metadata_));
1403   SoftmaxParameter_descriptor_ = file->message_type(58);
1404   static const int SoftmaxParameter_offsets_[2] = {
1405     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SoftmaxParameter, engine_),
1406     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SoftmaxParameter, axis_),
1407   };
1408   SoftmaxParameter_reflection_ =
1409     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1410       SoftmaxParameter_descriptor_,
1411       SoftmaxParameter::internal_default_instance(),
1412       SoftmaxParameter_offsets_,
1413       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SoftmaxParameter, _has_bits_),
1414       -1,
1415       -1,
1416       sizeof(SoftmaxParameter),
1417       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SoftmaxParameter, _internal_metadata_));
1418   SoftmaxParameter_Engine_descriptor_ = SoftmaxParameter_descriptor_->enum_type(0);
1419   TanHParameter_descriptor_ = file->message_type(59);
1420   static const int TanHParameter_offsets_[1] = {
1421     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TanHParameter, engine_),
1422   };
1423   TanHParameter_reflection_ =
1424     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1425       TanHParameter_descriptor_,
1426       TanHParameter::internal_default_instance(),
1427       TanHParameter_offsets_,
1428       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TanHParameter, _has_bits_),
1429       -1,
1430       -1,
1431       sizeof(TanHParameter),
1432       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TanHParameter, _internal_metadata_));
1433   TanHParameter_Engine_descriptor_ = TanHParameter_descriptor_->enum_type(0);
1434   TileParameter_descriptor_ = file->message_type(60);
1435   static const int TileParameter_offsets_[2] = {
1436     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TileParameter, axis_),
1437     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TileParameter, tiles_),
1438   };
1439   TileParameter_reflection_ =
1440     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1441       TileParameter_descriptor_,
1442       TileParameter::internal_default_instance(),
1443       TileParameter_offsets_,
1444       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TileParameter, _has_bits_),
1445       -1,
1446       -1,
1447       sizeof(TileParameter),
1448       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TileParameter, _internal_metadata_));
1449   ThresholdParameter_descriptor_ = file->message_type(61);
1450   static const int ThresholdParameter_offsets_[1] = {
1451     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ThresholdParameter, threshold_),
1452   };
1453   ThresholdParameter_reflection_ =
1454     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1455       ThresholdParameter_descriptor_,
1456       ThresholdParameter::internal_default_instance(),
1457       ThresholdParameter_offsets_,
1458       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ThresholdParameter, _has_bits_),
1459       -1,
1460       -1,
1461       sizeof(ThresholdParameter),
1462       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ThresholdParameter, _internal_metadata_));
1463   WindowDataParameter_descriptor_ = file->message_type(62);
1464   static const int WindowDataParameter_offsets_[13] = {
1465     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, source_),
1466     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, scale_),
1467     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, mean_file_),
1468     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, batch_size_),
1469     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, crop_size_),
1470     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, mirror_),
1471     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, fg_threshold_),
1472     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, bg_threshold_),
1473     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, fg_fraction_),
1474     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, context_pad_),
1475     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, crop_mode_),
1476     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, cache_images_),
1477     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, root_folder_),
1478   };
1479   WindowDataParameter_reflection_ =
1480     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1481       WindowDataParameter_descriptor_,
1482       WindowDataParameter::internal_default_instance(),
1483       WindowDataParameter_offsets_,
1484       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, _has_bits_),
1485       -1,
1486       -1,
1487       sizeof(WindowDataParameter),
1488       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, _internal_metadata_));
1489   SPPParameter_descriptor_ = file->message_type(63);
1490   static const int SPPParameter_offsets_[3] = {
1491     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SPPParameter, pyramid_height_),
1492     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SPPParameter, pool_),
1493     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SPPParameter, engine_),
1494   };
1495   SPPParameter_reflection_ =
1496     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1497       SPPParameter_descriptor_,
1498       SPPParameter::internal_default_instance(),
1499       SPPParameter_offsets_,
1500       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SPPParameter, _has_bits_),
1501       -1,
1502       -1,
1503       sizeof(SPPParameter),
1504       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SPPParameter, _internal_metadata_));
1505   SPPParameter_PoolMethod_descriptor_ = SPPParameter_descriptor_->enum_type(0);
1506   SPPParameter_Engine_descriptor_ = SPPParameter_descriptor_->enum_type(1);
1507   V1LayerParameter_descriptor_ = file->message_type(64);
1508   static const int V1LayerParameter_offsets_[43] = {
1509     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, bottom_),
1510     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, top_),
1511     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, name_),
1512     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, include_),
1513     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, exclude_),
1514     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, type_),
1515     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, blobs_),
1516     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, param_),
1517     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, blob_share_mode_),
1518     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, blobs_lr_),
1519     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, weight_decay_),
1520     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, loss_weight_),
1521     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, accuracy_param_),
1522     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, argmax_param_),
1523     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, concat_param_),
1524     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, contrastive_loss_param_),
1525     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, convolution_param_),
1526     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, data_param_),
1527     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, dropout_param_),
1528     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, dummy_data_param_),
1529     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, eltwise_param_),
1530     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, exp_param_),
1531     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, hdf5_data_param_),
1532     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, hdf5_output_param_),
1533     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, hinge_loss_param_),
1534     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, image_data_param_),
1535     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, infogain_loss_param_),
1536     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, inner_product_param_),
1537     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, lrn_param_),
1538     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, memory_data_param_),
1539     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, mvn_param_),
1540     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, pooling_param_),
1541     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, power_param_),
1542     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, relu_param_),
1543     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, sigmoid_param_),
1544     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, softmax_param_),
1545     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, slice_param_),
1546     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, tanh_param_),
1547     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, threshold_param_),
1548     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, window_data_param_),
1549     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, transform_param_),
1550     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, loss_param_),
1551     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, layer_),
1552   };
1553   V1LayerParameter_reflection_ =
1554     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1555       V1LayerParameter_descriptor_,
1556       V1LayerParameter::internal_default_instance(),
1557       V1LayerParameter_offsets_,
1558       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, _has_bits_),
1559       -1,
1560       -1,
1561       sizeof(V1LayerParameter),
1562       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, _internal_metadata_));
1563   V1LayerParameter_LayerType_descriptor_ = V1LayerParameter_descriptor_->enum_type(0);
1564   V1LayerParameter_DimCheckMode_descriptor_ = V1LayerParameter_descriptor_->enum_type(1);
1565   V0LayerParameter_descriptor_ = file->message_type(65);
1566   static const int V0LayerParameter_offsets_[38] = {
1567     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, name_),
1568     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, type_),
1569     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, num_output_),
1570     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, biasterm_),
1571     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, weight_filler_),
1572     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, bias_filler_),
1573     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, pad_),
1574     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, kernelsize_),
1575     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, group_),
1576     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, stride_),
1577     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, pool_),
1578     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, dropout_ratio_),
1579     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, local_size_),
1580     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, alpha_),
1581     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, beta_),
1582     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, k_),
1583     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, source_),
1584     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, scale_),
1585     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, meanfile_),
1586     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, batchsize_),
1587     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, cropsize_),
1588     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, mirror_),
1589     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, blobs_),
1590     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, blobs_lr_),
1591     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, weight_decay_),
1592     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, rand_skip_),
1593     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, det_fg_threshold_),
1594     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, det_bg_threshold_),
1595     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, det_fg_fraction_),
1596     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, det_context_pad_),
1597     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, det_crop_mode_),
1598     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, new_num_),
1599     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, new_channels_),
1600     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, new_height_),
1601     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, new_width_),
1602     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, shuffle_images_),
1603     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, concat_dim_),
1604     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, hdf5_output_param_),
1605   };
1606   V0LayerParameter_reflection_ =
1607     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1608       V0LayerParameter_descriptor_,
1609       V0LayerParameter::internal_default_instance(),
1610       V0LayerParameter_offsets_,
1611       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, _has_bits_),
1612       -1,
1613       -1,
1614       sizeof(V0LayerParameter),
1615       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, _internal_metadata_));
1616   V0LayerParameter_PoolMethod_descriptor_ = V0LayerParameter_descriptor_->enum_type(0);
1617   PReLUParameter_descriptor_ = file->message_type(66);
1618   static const int PReLUParameter_offsets_[2] = {
1619     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PReLUParameter, filler_),
1620     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PReLUParameter, channel_shared_),
1621   };
1622   PReLUParameter_reflection_ =
1623     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1624       PReLUParameter_descriptor_,
1625       PReLUParameter::internal_default_instance(),
1626       PReLUParameter_offsets_,
1627       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PReLUParameter, _has_bits_),
1628       -1,
1629       -1,
1630       sizeof(PReLUParameter),
1631       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PReLUParameter, _internal_metadata_));
1632   NormalizedBBox_descriptor_ = file->message_type(67);
1633   static const int NormalizedBBox_offsets_[8] = {
1634     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizedBBox, xmin_),
1635     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizedBBox, ymin_),
1636     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizedBBox, xmax_),
1637     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizedBBox, ymax_),
1638     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizedBBox, label_),
1639     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizedBBox, difficult_),
1640     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizedBBox, score_),
1641     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizedBBox, size_),
1642   };
1643   NormalizedBBox_reflection_ =
1644     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1645       NormalizedBBox_descriptor_,
1646       NormalizedBBox::internal_default_instance(),
1647       NormalizedBBox_offsets_,
1648       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizedBBox, _has_bits_),
1649       -1,
1650       -1,
1651       sizeof(NormalizedBBox),
1652       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizedBBox, _internal_metadata_));
1653   ROIPoolingParameter_descriptor_ = file->message_type(68);
1654   static const int ROIPoolingParameter_offsets_[3] = {
1655     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ROIPoolingParameter, pooled_h_),
1656     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ROIPoolingParameter, pooled_w_),
1657     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ROIPoolingParameter, spatial_scale_),
1658   };
1659   ROIPoolingParameter_reflection_ =
1660     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1661       ROIPoolingParameter_descriptor_,
1662       ROIPoolingParameter::internal_default_instance(),
1663       ROIPoolingParameter_offsets_,
1664       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ROIPoolingParameter, _has_bits_),
1665       -1,
1666       -1,
1667       sizeof(ROIPoolingParameter),
1668       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ROIPoolingParameter, _internal_metadata_));
1669   ProposalParameter_descriptor_ = file->message_type(69);
1670   static const int ProposalParameter_offsets_[8] = {
1671     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ProposalParameter, feat_stride_),
1672     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ProposalParameter, base_size_),
1673     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ProposalParameter, min_size_),
1674     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ProposalParameter, ratio_),
1675     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ProposalParameter, scale_),
1676     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ProposalParameter, pre_nms_topn_),
1677     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ProposalParameter, post_nms_topn_),
1678     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ProposalParameter, nms_thresh_),
1679   };
1680   ProposalParameter_reflection_ =
1681     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1682       ProposalParameter_descriptor_,
1683       ProposalParameter::internal_default_instance(),
1684       ProposalParameter_offsets_,
1685       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ProposalParameter, _has_bits_),
1686       -1,
1687       -1,
1688       sizeof(ProposalParameter),
1689       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ProposalParameter, _internal_metadata_));
1690   Type_descriptor_ = file->enum_type(0);
1691   Phase_descriptor_ = file->enum_type(1);
1692 }
1693
1694 namespace {
1695
1696 GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
1697 void protobuf_AssignDescriptorsOnce() {
1698   ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
1699                  &protobuf_AssignDesc_opencv_2dcaffe_2eproto);
1700 }
1701
1702 void protobuf_RegisterTypes(const ::std::string&) GOOGLE_ATTRIBUTE_COLD;
1703 void protobuf_RegisterTypes(const ::std::string&) {
1704   protobuf_AssignDescriptorsOnce();
1705   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1706       BlobShape_descriptor_, BlobShape::internal_default_instance());
1707   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1708       BlobProto_descriptor_, BlobProto::internal_default_instance());
1709   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1710       BlobProtoVector_descriptor_, BlobProtoVector::internal_default_instance());
1711   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1712       PermuteParameter_descriptor_, PermuteParameter::internal_default_instance());
1713   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1714       NormalizeBBoxParameter_descriptor_, NormalizeBBoxParameter::internal_default_instance());
1715   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1716       PriorBoxParameter_descriptor_, PriorBoxParameter::internal_default_instance());
1717   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1718       DetectionOutputParameter_descriptor_, DetectionOutputParameter::internal_default_instance());
1719   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1720       Datum_descriptor_, Datum::internal_default_instance());
1721   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1722       FillerParameter_descriptor_, FillerParameter::internal_default_instance());
1723   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1724       NetParameter_descriptor_, NetParameter::internal_default_instance());
1725   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1726       SolverParameter_descriptor_, SolverParameter::internal_default_instance());
1727   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1728       SolverState_descriptor_, SolverState::internal_default_instance());
1729   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1730       NetState_descriptor_, NetState::internal_default_instance());
1731   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1732       NetStateRule_descriptor_, NetStateRule::internal_default_instance());
1733   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1734       ParamSpec_descriptor_, ParamSpec::internal_default_instance());
1735   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1736       LayerParameter_descriptor_, LayerParameter::internal_default_instance());
1737   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1738       TransformationParameter_descriptor_, TransformationParameter::internal_default_instance());
1739   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1740       LossParameter_descriptor_, LossParameter::internal_default_instance());
1741   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1742       AccuracyParameter_descriptor_, AccuracyParameter::internal_default_instance());
1743   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1744       ArgMaxParameter_descriptor_, ArgMaxParameter::internal_default_instance());
1745   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1746       ConcatParameter_descriptor_, ConcatParameter::internal_default_instance());
1747   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1748       BatchNormParameter_descriptor_, BatchNormParameter::internal_default_instance());
1749   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1750       BiasParameter_descriptor_, BiasParameter::internal_default_instance());
1751   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1752       ContrastiveLossParameter_descriptor_, ContrastiveLossParameter::internal_default_instance());
1753   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1754       ConvolutionParameter_descriptor_, ConvolutionParameter::internal_default_instance());
1755   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1756       CropParameter_descriptor_, CropParameter::internal_default_instance());
1757   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1758       DataParameter_descriptor_, DataParameter::internal_default_instance());
1759   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1760       NonMaximumSuppressionParameter_descriptor_, NonMaximumSuppressionParameter::internal_default_instance());
1761   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1762       SaveOutputParameter_descriptor_, SaveOutputParameter::internal_default_instance());
1763   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1764       DropoutParameter_descriptor_, DropoutParameter::internal_default_instance());
1765   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1766       DummyDataParameter_descriptor_, DummyDataParameter::internal_default_instance());
1767   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1768       EltwiseParameter_descriptor_, EltwiseParameter::internal_default_instance());
1769   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1770       ELUParameter_descriptor_, ELUParameter::internal_default_instance());
1771   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1772       EmbedParameter_descriptor_, EmbedParameter::internal_default_instance());
1773   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1774       ExpParameter_descriptor_, ExpParameter::internal_default_instance());
1775   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1776       FlattenParameter_descriptor_, FlattenParameter::internal_default_instance());
1777   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1778       HDF5DataParameter_descriptor_, HDF5DataParameter::internal_default_instance());
1779   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1780       HDF5OutputParameter_descriptor_, HDF5OutputParameter::internal_default_instance());
1781   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1782       HingeLossParameter_descriptor_, HingeLossParameter::internal_default_instance());
1783   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1784       ImageDataParameter_descriptor_, ImageDataParameter::internal_default_instance());
1785   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1786       InfogainLossParameter_descriptor_, InfogainLossParameter::internal_default_instance());
1787   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1788       InnerProductParameter_descriptor_, InnerProductParameter::internal_default_instance());
1789   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1790       InputParameter_descriptor_, InputParameter::internal_default_instance());
1791   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1792       LogParameter_descriptor_, LogParameter::internal_default_instance());
1793   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1794       LRNParameter_descriptor_, LRNParameter::internal_default_instance());
1795   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1796       MemoryDataParameter_descriptor_, MemoryDataParameter::internal_default_instance());
1797   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1798       MVNParameter_descriptor_, MVNParameter::internal_default_instance());
1799   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1800       ParameterParameter_descriptor_, ParameterParameter::internal_default_instance());
1801   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1802       PoolingParameter_descriptor_, PoolingParameter::internal_default_instance());
1803   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1804       PowerParameter_descriptor_, PowerParameter::internal_default_instance());
1805   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1806       PythonParameter_descriptor_, PythonParameter::internal_default_instance());
1807   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1808       RecurrentParameter_descriptor_, RecurrentParameter::internal_default_instance());
1809   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1810       ReductionParameter_descriptor_, ReductionParameter::internal_default_instance());
1811   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1812       ReLUParameter_descriptor_, ReLUParameter::internal_default_instance());
1813   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1814       ReshapeParameter_descriptor_, ReshapeParameter::internal_default_instance());
1815   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1816       ScaleParameter_descriptor_, ScaleParameter::internal_default_instance());
1817   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1818       SigmoidParameter_descriptor_, SigmoidParameter::internal_default_instance());
1819   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1820       SliceParameter_descriptor_, SliceParameter::internal_default_instance());
1821   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1822       SoftmaxParameter_descriptor_, SoftmaxParameter::internal_default_instance());
1823   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1824       TanHParameter_descriptor_, TanHParameter::internal_default_instance());
1825   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1826       TileParameter_descriptor_, TileParameter::internal_default_instance());
1827   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1828       ThresholdParameter_descriptor_, ThresholdParameter::internal_default_instance());
1829   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1830       WindowDataParameter_descriptor_, WindowDataParameter::internal_default_instance());
1831   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1832       SPPParameter_descriptor_, SPPParameter::internal_default_instance());
1833   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1834       V1LayerParameter_descriptor_, V1LayerParameter::internal_default_instance());
1835   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1836       V0LayerParameter_descriptor_, V0LayerParameter::internal_default_instance());
1837   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1838       PReLUParameter_descriptor_, PReLUParameter::internal_default_instance());
1839   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1840       NormalizedBBox_descriptor_, NormalizedBBox::internal_default_instance());
1841   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1842       ROIPoolingParameter_descriptor_, ROIPoolingParameter::internal_default_instance());
1843   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1844       ProposalParameter_descriptor_, ProposalParameter::internal_default_instance());
1845 }
1846
1847 }  // namespace
1848
1849 void protobuf_ShutdownFile_opencv_2dcaffe_2eproto() {
1850   BlobShape_default_instance_.Shutdown();
1851   delete BlobShape_reflection_;
1852   BlobProto_default_instance_.Shutdown();
1853   delete BlobProto_reflection_;
1854   BlobProtoVector_default_instance_.Shutdown();
1855   delete BlobProtoVector_reflection_;
1856   PermuteParameter_default_instance_.Shutdown();
1857   delete PermuteParameter_reflection_;
1858   NormalizeBBoxParameter_default_instance_.Shutdown();
1859   delete NormalizeBBoxParameter_reflection_;
1860   PriorBoxParameter_default_instance_.Shutdown();
1861   delete PriorBoxParameter_reflection_;
1862   DetectionOutputParameter_default_instance_.Shutdown();
1863   delete DetectionOutputParameter_reflection_;
1864   Datum_default_instance_.Shutdown();
1865   delete Datum_reflection_;
1866   FillerParameter_default_instance_.Shutdown();
1867   delete FillerParameter_reflection_;
1868   delete FillerParameter::_default_type_;
1869   NetParameter_default_instance_.Shutdown();
1870   delete NetParameter_reflection_;
1871   SolverParameter_default_instance_.Shutdown();
1872   delete SolverParameter_reflection_;
1873   delete SolverParameter::_default_regularization_type_;
1874   delete SolverParameter::_default_type_;
1875   SolverState_default_instance_.Shutdown();
1876   delete SolverState_reflection_;
1877   NetState_default_instance_.Shutdown();
1878   delete NetState_reflection_;
1879   NetStateRule_default_instance_.Shutdown();
1880   delete NetStateRule_reflection_;
1881   ParamSpec_default_instance_.Shutdown();
1882   delete ParamSpec_reflection_;
1883   LayerParameter_default_instance_.Shutdown();
1884   delete LayerParameter_reflection_;
1885   TransformationParameter_default_instance_.Shutdown();
1886   delete TransformationParameter_reflection_;
1887   LossParameter_default_instance_.Shutdown();
1888   delete LossParameter_reflection_;
1889   AccuracyParameter_default_instance_.Shutdown();
1890   delete AccuracyParameter_reflection_;
1891   ArgMaxParameter_default_instance_.Shutdown();
1892   delete ArgMaxParameter_reflection_;
1893   ConcatParameter_default_instance_.Shutdown();
1894   delete ConcatParameter_reflection_;
1895   BatchNormParameter_default_instance_.Shutdown();
1896   delete BatchNormParameter_reflection_;
1897   BiasParameter_default_instance_.Shutdown();
1898   delete BiasParameter_reflection_;
1899   ContrastiveLossParameter_default_instance_.Shutdown();
1900   delete ContrastiveLossParameter_reflection_;
1901   ConvolutionParameter_default_instance_.Shutdown();
1902   delete ConvolutionParameter_reflection_;
1903   CropParameter_default_instance_.Shutdown();
1904   delete CropParameter_reflection_;
1905   DataParameter_default_instance_.Shutdown();
1906   delete DataParameter_reflection_;
1907   NonMaximumSuppressionParameter_default_instance_.Shutdown();
1908   delete NonMaximumSuppressionParameter_reflection_;
1909   SaveOutputParameter_default_instance_.Shutdown();
1910   delete SaveOutputParameter_reflection_;
1911   DropoutParameter_default_instance_.Shutdown();
1912   delete DropoutParameter_reflection_;
1913   DummyDataParameter_default_instance_.Shutdown();
1914   delete DummyDataParameter_reflection_;
1915   EltwiseParameter_default_instance_.Shutdown();
1916   delete EltwiseParameter_reflection_;
1917   ELUParameter_default_instance_.Shutdown();
1918   delete ELUParameter_reflection_;
1919   EmbedParameter_default_instance_.Shutdown();
1920   delete EmbedParameter_reflection_;
1921   ExpParameter_default_instance_.Shutdown();
1922   delete ExpParameter_reflection_;
1923   FlattenParameter_default_instance_.Shutdown();
1924   delete FlattenParameter_reflection_;
1925   HDF5DataParameter_default_instance_.Shutdown();
1926   delete HDF5DataParameter_reflection_;
1927   HDF5OutputParameter_default_instance_.Shutdown();
1928   delete HDF5OutputParameter_reflection_;
1929   HingeLossParameter_default_instance_.Shutdown();
1930   delete HingeLossParameter_reflection_;
1931   ImageDataParameter_default_instance_.Shutdown();
1932   delete ImageDataParameter_reflection_;
1933   InfogainLossParameter_default_instance_.Shutdown();
1934   delete InfogainLossParameter_reflection_;
1935   InnerProductParameter_default_instance_.Shutdown();
1936   delete InnerProductParameter_reflection_;
1937   InputParameter_default_instance_.Shutdown();
1938   delete InputParameter_reflection_;
1939   LogParameter_default_instance_.Shutdown();
1940   delete LogParameter_reflection_;
1941   LRNParameter_default_instance_.Shutdown();
1942   delete LRNParameter_reflection_;
1943   MemoryDataParameter_default_instance_.Shutdown();
1944   delete MemoryDataParameter_reflection_;
1945   MVNParameter_default_instance_.Shutdown();
1946   delete MVNParameter_reflection_;
1947   ParameterParameter_default_instance_.Shutdown();
1948   delete ParameterParameter_reflection_;
1949   PoolingParameter_default_instance_.Shutdown();
1950   delete PoolingParameter_reflection_;
1951   PowerParameter_default_instance_.Shutdown();
1952   delete PowerParameter_reflection_;
1953   PythonParameter_default_instance_.Shutdown();
1954   delete PythonParameter_reflection_;
1955   RecurrentParameter_default_instance_.Shutdown();
1956   delete RecurrentParameter_reflection_;
1957   ReductionParameter_default_instance_.Shutdown();
1958   delete ReductionParameter_reflection_;
1959   ReLUParameter_default_instance_.Shutdown();
1960   delete ReLUParameter_reflection_;
1961   ReshapeParameter_default_instance_.Shutdown();
1962   delete ReshapeParameter_reflection_;
1963   ScaleParameter_default_instance_.Shutdown();
1964   delete ScaleParameter_reflection_;
1965   SigmoidParameter_default_instance_.Shutdown();
1966   delete SigmoidParameter_reflection_;
1967   SliceParameter_default_instance_.Shutdown();
1968   delete SliceParameter_reflection_;
1969   SoftmaxParameter_default_instance_.Shutdown();
1970   delete SoftmaxParameter_reflection_;
1971   TanHParameter_default_instance_.Shutdown();
1972   delete TanHParameter_reflection_;
1973   TileParameter_default_instance_.Shutdown();
1974   delete TileParameter_reflection_;
1975   ThresholdParameter_default_instance_.Shutdown();
1976   delete ThresholdParameter_reflection_;
1977   WindowDataParameter_default_instance_.Shutdown();
1978   delete WindowDataParameter_reflection_;
1979   delete WindowDataParameter::_default_crop_mode_;
1980   SPPParameter_default_instance_.Shutdown();
1981   delete SPPParameter_reflection_;
1982   V1LayerParameter_default_instance_.Shutdown();
1983   delete V1LayerParameter_reflection_;
1984   V0LayerParameter_default_instance_.Shutdown();
1985   delete V0LayerParameter_reflection_;
1986   delete V0LayerParameter::_default_det_crop_mode_;
1987   PReLUParameter_default_instance_.Shutdown();
1988   delete PReLUParameter_reflection_;
1989   NormalizedBBox_default_instance_.Shutdown();
1990   delete NormalizedBBox_reflection_;
1991   ROIPoolingParameter_default_instance_.Shutdown();
1992   delete ROIPoolingParameter_reflection_;
1993   ProposalParameter_default_instance_.Shutdown();
1994   delete ProposalParameter_reflection_;
1995 }
1996
1997 void protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl() {
1998   GOOGLE_PROTOBUF_VERIFY_VERSION;
1999
2000   BlobShape_default_instance_.DefaultConstruct();
2001   ::google::protobuf::internal::GetEmptyString();
2002   BlobProto_default_instance_.DefaultConstruct();
2003   BlobProtoVector_default_instance_.DefaultConstruct();
2004   PermuteParameter_default_instance_.DefaultConstruct();
2005   NormalizeBBoxParameter_default_instance_.DefaultConstruct();
2006   PriorBoxParameter_default_instance_.DefaultConstruct();
2007   DetectionOutputParameter_default_instance_.DefaultConstruct();
2008   ::google::protobuf::internal::GetEmptyString();
2009   Datum_default_instance_.DefaultConstruct();
2010   ::google::protobuf::internal::GetEmptyString();
2011   FillerParameter::_default_type_ =
2012       new ::std::string("constant", 8);
2013   FillerParameter_default_instance_.DefaultConstruct();
2014   ::google::protobuf::internal::GetEmptyString();
2015   NetParameter_default_instance_.DefaultConstruct();
2016   ::google::protobuf::internal::GetEmptyString();
2017   SolverParameter::_default_regularization_type_ =
2018       new ::std::string("L2", 2);
2019   SolverParameter::_default_type_ =
2020       new ::std::string("SGD", 3);
2021   SolverParameter_default_instance_.DefaultConstruct();
2022   ::google::protobuf::internal::GetEmptyString();
2023   SolverState_default_instance_.DefaultConstruct();
2024   ::google::protobuf::internal::GetEmptyString();
2025   NetState_default_instance_.DefaultConstruct();
2026   ::google::protobuf::internal::GetEmptyString();
2027   NetStateRule_default_instance_.DefaultConstruct();
2028   ::google::protobuf::internal::GetEmptyString();
2029   ParamSpec_default_instance_.DefaultConstruct();
2030   ::google::protobuf::internal::GetEmptyString();
2031   LayerParameter_default_instance_.DefaultConstruct();
2032   ::google::protobuf::internal::GetEmptyString();
2033   TransformationParameter_default_instance_.DefaultConstruct();
2034   LossParameter_default_instance_.DefaultConstruct();
2035   AccuracyParameter_default_instance_.DefaultConstruct();
2036   ArgMaxParameter_default_instance_.DefaultConstruct();
2037   ConcatParameter_default_instance_.DefaultConstruct();
2038   BatchNormParameter_default_instance_.DefaultConstruct();
2039   BiasParameter_default_instance_.DefaultConstruct();
2040   ContrastiveLossParameter_default_instance_.DefaultConstruct();
2041   ConvolutionParameter_default_instance_.DefaultConstruct();
2042   CropParameter_default_instance_.DefaultConstruct();
2043   ::google::protobuf::internal::GetEmptyString();
2044   DataParameter_default_instance_.DefaultConstruct();
2045   NonMaximumSuppressionParameter_default_instance_.DefaultConstruct();
2046   ::google::protobuf::internal::GetEmptyString();
2047   SaveOutputParameter_default_instance_.DefaultConstruct();
2048   DropoutParameter_default_instance_.DefaultConstruct();
2049   DummyDataParameter_default_instance_.DefaultConstruct();
2050   EltwiseParameter_default_instance_.DefaultConstruct();
2051   ELUParameter_default_instance_.DefaultConstruct();
2052   EmbedParameter_default_instance_.DefaultConstruct();
2053   ExpParameter_default_instance_.DefaultConstruct();
2054   FlattenParameter_default_instance_.DefaultConstruct();
2055   ::google::protobuf::internal::GetEmptyString();
2056   HDF5DataParameter_default_instance_.DefaultConstruct();
2057   ::google::protobuf::internal::GetEmptyString();
2058   HDF5OutputParameter_default_instance_.DefaultConstruct();
2059   HingeLossParameter_default_instance_.DefaultConstruct();
2060   ::google::protobuf::internal::GetEmptyString();
2061   ImageDataParameter_default_instance_.DefaultConstruct();
2062   ::google::protobuf::internal::GetEmptyString();
2063   InfogainLossParameter_default_instance_.DefaultConstruct();
2064   InnerProductParameter_default_instance_.DefaultConstruct();
2065   InputParameter_default_instance_.DefaultConstruct();
2066   LogParameter_default_instance_.DefaultConstruct();
2067   LRNParameter_default_instance_.DefaultConstruct();
2068   MemoryDataParameter_default_instance_.DefaultConstruct();
2069   MVNParameter_default_instance_.DefaultConstruct();
2070   ParameterParameter_default_instance_.DefaultConstruct();
2071   PoolingParameter_default_instance_.DefaultConstruct();
2072   PowerParameter_default_instance_.DefaultConstruct();
2073   ::google::protobuf::internal::GetEmptyString();
2074   PythonParameter_default_instance_.DefaultConstruct();
2075   RecurrentParameter_default_instance_.DefaultConstruct();
2076   ReductionParameter_default_instance_.DefaultConstruct();
2077   ReLUParameter_default_instance_.DefaultConstruct();
2078   ReshapeParameter_default_instance_.DefaultConstruct();
2079   ScaleParameter_default_instance_.DefaultConstruct();
2080   SigmoidParameter_default_instance_.DefaultConstruct();
2081   SliceParameter_default_instance_.DefaultConstruct();
2082   SoftmaxParameter_default_instance_.DefaultConstruct();
2083   TanHParameter_default_instance_.DefaultConstruct();
2084   TileParameter_default_instance_.DefaultConstruct();
2085   ThresholdParameter_default_instance_.DefaultConstruct();
2086   ::google::protobuf::internal::GetEmptyString();
2087   WindowDataParameter::_default_crop_mode_ =
2088       new ::std::string("warp", 4);
2089   WindowDataParameter_default_instance_.DefaultConstruct();
2090   SPPParameter_default_instance_.DefaultConstruct();
2091   ::google::protobuf::internal::GetEmptyString();
2092   V1LayerParameter_default_instance_.DefaultConstruct();
2093   ::google::protobuf::internal::GetEmptyString();
2094   V0LayerParameter::_default_det_crop_mode_ =
2095       new ::std::string("warp", 4);
2096   V0LayerParameter_default_instance_.DefaultConstruct();
2097   PReLUParameter_default_instance_.DefaultConstruct();
2098   NormalizedBBox_default_instance_.DefaultConstruct();
2099   ROIPoolingParameter_default_instance_.DefaultConstruct();
2100   ProposalParameter_default_instance_.DefaultConstruct();
2101   BlobShape_default_instance_.get_mutable()->InitAsDefaultInstance();
2102   BlobProto_default_instance_.get_mutable()->InitAsDefaultInstance();
2103   BlobProtoVector_default_instance_.get_mutable()->InitAsDefaultInstance();
2104   PermuteParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2105   NormalizeBBoxParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2106   PriorBoxParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2107   DetectionOutputParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2108   Datum_default_instance_.get_mutable()->InitAsDefaultInstance();
2109   FillerParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2110   NetParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2111   SolverParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2112   SolverState_default_instance_.get_mutable()->InitAsDefaultInstance();
2113   NetState_default_instance_.get_mutable()->InitAsDefaultInstance();
2114   NetStateRule_default_instance_.get_mutable()->InitAsDefaultInstance();
2115   ParamSpec_default_instance_.get_mutable()->InitAsDefaultInstance();
2116   LayerParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2117   TransformationParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2118   LossParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2119   AccuracyParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2120   ArgMaxParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2121   ConcatParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2122   BatchNormParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2123   BiasParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2124   ContrastiveLossParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2125   ConvolutionParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2126   CropParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2127   DataParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2128   NonMaximumSuppressionParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2129   SaveOutputParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2130   DropoutParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2131   DummyDataParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2132   EltwiseParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2133   ELUParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2134   EmbedParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2135   ExpParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2136   FlattenParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2137   HDF5DataParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2138   HDF5OutputParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2139   HingeLossParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2140   ImageDataParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2141   InfogainLossParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2142   InnerProductParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2143   InputParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2144   LogParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2145   LRNParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2146   MemoryDataParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2147   MVNParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2148   ParameterParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2149   PoolingParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2150   PowerParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2151   PythonParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2152   RecurrentParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2153   ReductionParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2154   ReLUParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2155   ReshapeParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2156   ScaleParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2157   SigmoidParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2158   SliceParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2159   SoftmaxParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2160   TanHParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2161   TileParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2162   ThresholdParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2163   WindowDataParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2164   SPPParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2165   V1LayerParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2166   V0LayerParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2167   PReLUParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2168   NormalizedBBox_default_instance_.get_mutable()->InitAsDefaultInstance();
2169   ROIPoolingParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2170   ProposalParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2171 }
2172
2173 GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_InitDefaults_opencv_2dcaffe_2eproto_once_);
2174 void protobuf_InitDefaults_opencv_2dcaffe_2eproto() {
2175   ::google::protobuf::GoogleOnceInit(&protobuf_InitDefaults_opencv_2dcaffe_2eproto_once_,
2176                  &protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl);
2177 }
2178 void protobuf_AddDesc_opencv_2dcaffe_2eproto_impl() {
2179   GOOGLE_PROTOBUF_VERIFY_VERSION;
2180
2181   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
2182   ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
2183     "\n\022opencv-caffe.proto\022\014opencv_caffe\"\034\n\tBl"
2184     "obShape\022\017\n\003dim\030\001 \003(\003B\002\020\001\"\224\002\n\tBlobProto\022&"
2185     "\n\005shape\030\007 \001(\0132\027.opencv_caffe.BlobShape\022\020"
2186     "\n\004data\030\005 \003(\002B\002\020\001\022\020\n\004diff\030\006 \003(\002B\002\020\001\022\027\n\013do"
2187     "uble_data\030\010 \003(\001B\002\020\001\022\027\n\013double_diff\030\t \003(\001"
2188     "B\002\020\001\022)\n\rraw_data_type\030\n \001(\0162\022.opencv_caf"
2189     "fe.Type\022\024\n\010raw_data\030\014 \001(\014B\002\020\000\022\016\n\003num\030\001 \001"
2190     "(\005:\0010\022\023\n\010channels\030\002 \001(\005:\0010\022\021\n\006height\030\003 \001"
2191     "(\005:\0010\022\020\n\005width\030\004 \001(\005:\0010\"9\n\017BlobProtoVect"
2192     "or\022&\n\005blobs\030\001 \003(\0132\027.opencv_caffe.BlobPro"
2193     "to\"!\n\020PermuteParameter\022\r\n\005order\030\001 \003(\r\"\235\001"
2194     "\n\026NormalizeBBoxParameter\022\034\n\016across_spati"
2195     "al\030\001 \001(\010:\004true\0223\n\014scale_filler\030\002 \001(\0132\035.o"
2196     "pencv_caffe.FillerParameter\022\034\n\016channel_s"
2197     "hared\030\003 \001(\010:\004true\022\022\n\003eps\030\004 \001(\002:\0051e-10\"\346\002"
2198     "\n\021PriorBoxParameter\022\020\n\010min_size\030\001 \001(\002\022\020\n"
2199     "\010max_size\030\002 \001(\002\022\024\n\014aspect_ratio\030\003 \003(\002\022\022\n"
2200     "\004flip\030\004 \001(\010:\004true\022\022\n\004clip\030\005 \001(\010:\004true\022\020\n"
2201     "\010variance\030\006 \003(\002\022\020\n\010img_size\030\007 \001(\r\022\r\n\005img"
2202     "_h\030\010 \001(\r\022\r\n\005img_w\030\t \001(\r\022\014\n\004step\030\n \001(\002\022\016\n"
2203     "\006step_h\030\013 \001(\002\022\016\n\006step_w\030\014 \001(\002\022\023\n\006offset\030"
2204     "\r \001(\002:\0030.5\022\020\n\010offset_h\030\016 \003(\002\022\020\n\010offset_w"
2205     "\030\017 \003(\002\022\r\n\005width\030\020 \003(\002\022\016\n\006height\030\021 \003(\002\"\'\n"
2206     "\010CodeType\022\n\n\006CORNER\020\001\022\017\n\013CENTER_SIZE\020\002\"\222"
2207     "\003\n\030DetectionOutputParameter\022\023\n\013num_class"
2208     "es\030\001 \001(\r\022\034\n\016share_location\030\002 \001(\010:\004true\022\036"
2209     "\n\023background_label_id\030\003 \001(\005:\0010\022\?\n\tnms_pa"
2210     "ram\030\004 \001(\0132,.opencv_caffe.NonMaximumSuppr"
2211     "essionParameter\022<\n\021save_output_param\030\005 \001"
2212     "(\0132!.opencv_caffe.SaveOutputParameter\022C\n"
2213     "\tcode_type\030\006 \001(\0162(.opencv_caffe.PriorBox"
2214     "Parameter.CodeType:\006CORNER\022)\n\032variance_e"
2215     "ncoded_in_target\030\010 \001(\010:\005false\022\026\n\nkeep_to"
2216     "p_k\030\007 \001(\005:\002-1\022\034\n\024confidence_threshold\030\t "
2217     "\001(\002\"\201\001\n\005Datum\022\020\n\010channels\030\001 \001(\005\022\016\n\006heigh"
2218     "t\030\002 \001(\005\022\r\n\005width\030\003 \001(\005\022\014\n\004data\030\004 \001(\014\022\r\n\005"
2219     "label\030\005 \001(\005\022\022\n\nfloat_data\030\006 \003(\002\022\026\n\007encod"
2220     "ed\030\007 \001(\010:\005false\"\221\002\n\017FillerParameter\022\026\n\004t"
2221     "ype\030\001 \001(\t:\010constant\022\020\n\005value\030\002 \001(\002:\0010\022\016\n"
2222     "\003min\030\003 \001(\002:\0010\022\016\n\003max\030\004 \001(\002:\0011\022\017\n\004mean\030\005 "
2223     "\001(\002:\0010\022\016\n\003std\030\006 \001(\002:\0011\022\022\n\006sparse\030\007 \001(\005:\002"
2224     "-1\022I\n\rvariance_norm\030\010 \001(\0162*.opencv_caffe"
2225     ".FillerParameter.VarianceNorm:\006FAN_IN\"4\n"
2226     "\014VarianceNorm\022\n\n\006FAN_IN\020\000\022\013\n\007FAN_OUT\020\001\022\013"
2227     "\n\007AVERAGE\020\002\"\252\002\n\014NetParameter\022\014\n\004name\030\001 \001"
2228     "(\t\022\r\n\005input\030\003 \003(\t\022,\n\013input_shape\030\010 \003(\0132\027"
2229     ".opencv_caffe.BlobShape\022\021\n\tinput_dim\030\004 \003"
2230     "(\005\022\035\n\016force_backward\030\005 \001(\010:\005false\022%\n\005sta"
2231     "te\030\006 \001(\0132\026.opencv_caffe.NetState\022\031\n\ndebu"
2232     "g_info\030\007 \001(\010:\005false\022+\n\005layer\030d \003(\0132\034.ope"
2233     "ncv_caffe.LayerParameter\022.\n\006layers\030\002 \003(\013"
2234     "2\036.opencv_caffe.V1LayerParameter\"\332\n\n\017Sol"
2235     "verParameter\022\013\n\003net\030\030 \001(\t\022-\n\tnet_param\030\031"
2236     " \001(\0132\032.opencv_caffe.NetParameter\022\021\n\ttrai"
2237     "n_net\030\001 \001(\t\022\020\n\010test_net\030\002 \003(\t\0223\n\017train_n"
2238     "et_param\030\025 \001(\0132\032.opencv_caffe.NetParamet"
2239     "er\0222\n\016test_net_param\030\026 \003(\0132\032.opencv_caff"
2240     "e.NetParameter\022+\n\013train_state\030\032 \001(\0132\026.op"
2241     "encv_caffe.NetState\022*\n\ntest_state\030\033 \003(\0132"
2242     "\026.opencv_caffe.NetState\022\021\n\ttest_iter\030\003 \003"
2243     "(\005\022\030\n\rtest_interval\030\004 \001(\005:\0010\022 \n\021test_com"
2244     "pute_loss\030\023 \001(\010:\005false\022!\n\023test_initializ"
2245     "ation\030  \001(\010:\004true\022\017\n\007base_lr\030\005 \001(\002\022\017\n\007di"
2246     "splay\030\006 \001(\005\022\027\n\014average_loss\030! \001(\005:\0011\022\020\n\010"
2247     "max_iter\030\007 \001(\005\022\024\n\titer_size\030$ \001(\005:\0011\022\021\n\t"
2248     "lr_policy\030\010 \001(\t\022\r\n\005gamma\030\t \001(\002\022\r\n\005power\030"
2249     "\n \001(\002\022\020\n\010momentum\030\013 \001(\002\022\024\n\014weight_decay\030"
2250     "\014 \001(\002\022\037\n\023regularization_type\030\035 \001(\t:\002L2\022\020"
2251     "\n\010stepsize\030\r \001(\005\022\021\n\tstepvalue\030\" \003(\005\022\032\n\016c"
2252     "lip_gradients\030# \001(\002:\002-1\022\023\n\010snapshot\030\016 \001("
2253     "\005:\0010\022\027\n\017snapshot_prefix\030\017 \001(\t\022\034\n\rsnapsho"
2254     "t_diff\030\020 \001(\010:\005false\022R\n\017snapshot_format\030%"
2255     " \001(\0162,.opencv_caffe.SolverParameter.Snap"
2256     "shotFormat:\013BINARYPROTO\022B\n\013solver_mode\030\021"
2257     " \001(\0162(.opencv_caffe.SolverParameter.Solv"
2258     "erMode:\003GPU\022\024\n\tdevice_id\030\022 \001(\005:\0010\022\027\n\013ran"
2259     "dom_seed\030\024 \001(\003:\002-1\022\021\n\004type\030( \001(\t:\003SGD\022\024\n"
2260     "\005delta\030\037 \001(\002:\0051e-08\022\030\n\tmomentum2\030\' \001(\002:\005"
2261     "0.999\022\027\n\trms_decay\030& \001(\002:\0040.99\022\031\n\ndebug_"
2262     "info\030\027 \001(\010:\005false\022\"\n\024snapshot_after_trai"
2263     "n\030\034 \001(\010:\004true\022B\n\013solver_type\030\036 \001(\0162(.ope"
2264     "ncv_caffe.SolverParameter.SolverType:\003SG"
2265     "D\"+\n\016SnapshotFormat\022\010\n\004HDF5\020\000\022\017\n\013BINARYP"
2266     "ROTO\020\001\"\036\n\nSolverMode\022\007\n\003CPU\020\000\022\007\n\003GPU\020\001\"U"
2267     "\n\nSolverType\022\007\n\003SGD\020\000\022\014\n\010NESTEROV\020\001\022\013\n\007A"
2268     "DAGRAD\020\002\022\013\n\007RMSPROP\020\003\022\014\n\010ADADELTA\020\004\022\010\n\004A"
2269     "DAM\020\005\"s\n\013SolverState\022\014\n\004iter\030\001 \001(\005\022\023\n\013le"
2270     "arned_net\030\002 \001(\t\022(\n\007history\030\003 \003(\0132\027.openc"
2271     "v_caffe.BlobProto\022\027\n\014current_step\030\004 \001(\005:"
2272     "\0010\"U\n\010NetState\022(\n\005phase\030\001 \001(\0162\023.opencv_c"
2273     "affe.Phase:\004TEST\022\020\n\005level\030\002 \001(\005:\0010\022\r\n\005st"
2274     "age\030\003 \003(\t\"z\n\014NetStateRule\022\"\n\005phase\030\001 \001(\016"
2275     "2\023.opencv_caffe.Phase\022\021\n\tmin_level\030\002 \001(\005"
2276     "\022\021\n\tmax_level\030\003 \001(\005\022\r\n\005stage\030\004 \003(\t\022\021\n\tno"
2277     "t_stage\030\005 \003(\t\"\252\001\n\tParamSpec\022\014\n\004name\030\001 \001("
2278     "\t\0228\n\nshare_mode\030\002 \001(\0162$.opencv_caffe.Par"
2279     "amSpec.DimCheckMode\022\022\n\007lr_mult\030\003 \001(\002:\0011\022"
2280     "\025\n\ndecay_mult\030\004 \001(\002:\0011\"*\n\014DimCheckMode\022\n"
2281     "\n\006STRICT\020\000\022\016\n\nPERMISSIVE\020\001\"\340\031\n\016LayerPara"
2282     "meter\022\014\n\004name\030\001 \001(\t\022\014\n\004type\030\002 \001(\t\022\016\n\006bot"
2283     "tom\030\003 \003(\t\022\013\n\003top\030\004 \003(\t\022\"\n\005phase\030\n \001(\0162\023."
2284     "opencv_caffe.Phase\022\023\n\013loss_weight\030\005 \003(\002\022"
2285     "&\n\005param\030\006 \003(\0132\027.opencv_caffe.ParamSpec\022"
2286     "&\n\005blobs\030\007 \003(\0132\027.opencv_caffe.BlobProto\022"
2287     "\026\n\016propagate_down\030\013 \003(\010\022+\n\007include\030\010 \003(\013"
2288     "2\032.opencv_caffe.NetStateRule\022+\n\007exclude\030"
2289     "\t \003(\0132\032.opencv_caffe.NetStateRule\022>\n\017tra"
2290     "nsform_param\030d \001(\0132%.opencv_caffe.Transf"
2291     "ormationParameter\022/\n\nloss_param\030e \001(\0132\033."
2292     "opencv_caffe.LossParameter\0227\n\016accuracy_p"
2293     "aram\030f \001(\0132\037.opencv_caffe.AccuracyParame"
2294     "ter\0223\n\014argmax_param\030g \001(\0132\035.opencv_caffe"
2295     ".ArgMaxParameter\022;\n\020batch_norm_param\030\213\001 "
2296     "\001(\0132 .opencv_caffe.BatchNormParameter\0220\n"
2297     "\nbias_param\030\215\001 \001(\0132\033.opencv_caffe.BiasPa"
2298     "rameter\0223\n\014concat_param\030h \001(\0132\035.opencv_c"
2299     "affe.ConcatParameter\022F\n\026contrastive_loss"
2300     "_param\030i \001(\0132&.opencv_caffe.ContrastiveL"
2301     "ossParameter\022=\n\021convolution_param\030j \001(\0132"
2302     "\".opencv_caffe.ConvolutionParameter\0220\n\nc"
2303     "rop_param\030\220\001 \001(\0132\033.opencv_caffe.CropPara"
2304     "meter\022/\n\ndata_param\030k \001(\0132\033.opencv_caffe"
2305     ".DataParameter\022G\n\026detection_output_param"
2306     "\030\223\001 \001(\0132&.opencv_caffe.DetectionOutputPa"
2307     "rameter\0225\n\rdropout_param\030l \001(\0132\036.opencv_"
2308     "caffe.DropoutParameter\022:\n\020dummy_data_par"
2309     "am\030m \001(\0132 .opencv_caffe.DummyDataParamet"
2310     "er\0225\n\reltwise_param\030n \001(\0132\036.opencv_caffe"
2311     ".EltwiseParameter\022.\n\telu_param\030\214\001 \001(\0132\032."
2312     "opencv_caffe.ELUParameter\0222\n\013embed_param"
2313     "\030\211\001 \001(\0132\034.opencv_caffe.EmbedParameter\022-\n"
2314     "\texp_param\030o \001(\0132\032.opencv_caffe.ExpParam"
2315     "eter\0226\n\rflatten_param\030\207\001 \001(\0132\036.opencv_ca"
2316     "ffe.FlattenParameter\0228\n\017hdf5_data_param\030"
2317     "p \001(\0132\037.opencv_caffe.HDF5DataParameter\022<"
2318     "\n\021hdf5_output_param\030q \001(\0132!.opencv_caffe"
2319     ".HDF5OutputParameter\022:\n\020hinge_loss_param"
2320     "\030r \001(\0132 .opencv_caffe.HingeLossParameter"
2321     "\022:\n\020image_data_param\030s \001(\0132 .opencv_caff"
2322     "e.ImageDataParameter\022@\n\023infogain_loss_pa"
2323     "ram\030t \001(\0132#.opencv_caffe.InfogainLossPar"
2324     "ameter\022@\n\023inner_product_param\030u \001(\0132#.op"
2325     "encv_caffe.InnerProductParameter\0222\n\013inpu"
2326     "t_param\030\217\001 \001(\0132\034.opencv_caffe.InputParam"
2327     "eter\022.\n\tlog_param\030\206\001 \001(\0132\032.opencv_caffe."
2328     "LogParameter\022-\n\tlrn_param\030v \001(\0132\032.opencv"
2329     "_caffe.LRNParameter\022<\n\021memory_data_param"
2330     "\030w \001(\0132!.opencv_caffe.MemoryDataParamete"
2331     "r\022-\n\tmvn_param\030x \001(\0132\032.opencv_caffe.MVNP"
2332     "arameter\0229\n\nnorm_param\030\225\001 \001(\0132$.opencv_c"
2333     "affe.NormalizeBBoxParameter\0226\n\rpermute_p"
2334     "aram\030\224\001 \001(\0132\036.opencv_caffe.PermuteParame"
2335     "ter\022:\n\017parameter_param\030\221\001 \001(\0132 .opencv_c"
2336     "affe.ParameterParameter\0225\n\rpooling_param"
2337     "\030y \001(\0132\036.opencv_caffe.PoolingParameter\0221"
2338     "\n\013power_param\030z \001(\0132\034.opencv_caffe.Power"
2339     "Parameter\0222\n\013prelu_param\030\203\001 \001(\0132\034.opencv"
2340     "_caffe.PReLUParameter\0229\n\017prior_box_param"
2341     "\030\226\001 \001(\0132\037.opencv_caffe.PriorBoxParameter"
2342     "\0228\n\016proposal_param\030\311\001 \001(\0132\037.opencv_caffe"
2343     ".ProposalParameter\0224\n\014python_param\030\202\001 \001("
2344     "\0132\035.opencv_caffe.PythonParameter\022:\n\017recu"
2345     "rrent_param\030\222\001 \001(\0132 .opencv_caffe.Recurr"
2346     "entParameter\022:\n\017reduction_param\030\210\001 \001(\0132 "
2347     ".opencv_caffe.ReductionParameter\022/\n\nrelu"
2348     "_param\030{ \001(\0132\033.opencv_caffe.ReLUParamete"
2349     "r\0226\n\rreshape_param\030\205\001 \001(\0132\036.opencv_caffe"
2350     ".ReshapeParameter\022\?\n\021roi_pooling_param\030\327"
2351     "\307\370\003 \001(\0132!.opencv_caffe.ROIPoolingParamet"
2352     "er\0222\n\013scale_param\030\216\001 \001(\0132\034.opencv_caffe."
2353     "ScaleParameter\0225\n\rsigmoid_param\030| \001(\0132\036."
2354     "opencv_caffe.SigmoidParameter\0225\n\rsoftmax"
2355     "_param\030} \001(\0132\036.opencv_caffe.SoftmaxParam"
2356     "eter\022.\n\tspp_param\030\204\001 \001(\0132\032.opencv_caffe."
2357     "SPPParameter\0221\n\013slice_param\030~ \001(\0132\034.open"
2358     "cv_caffe.SliceParameter\022/\n\ntanh_param\030\177 "
2359     "\001(\0132\033.opencv_caffe.TanHParameter\022:\n\017thre"
2360     "shold_param\030\200\001 \001(\0132 .opencv_caffe.Thresh"
2361     "oldParameter\0220\n\ntile_param\030\212\001 \001(\0132\033.open"
2362     "cv_caffe.TileParameter\022=\n\021window_data_pa"
2363     "ram\030\201\001 \001(\0132!.opencv_caffe.WindowDataPara"
2364     "meter\"\266\001\n\027TransformationParameter\022\020\n\005sca"
2365     "le\030\001 \001(\002:\0011\022\025\n\006mirror\030\002 \001(\010:\005false\022\024\n\tcr"
2366     "op_size\030\003 \001(\r:\0010\022\021\n\tmean_file\030\004 \001(\t\022\022\n\nm"
2367     "ean_value\030\005 \003(\002\022\032\n\013force_color\030\006 \001(\010:\005fa"
2368     "lse\022\031\n\nforce_gray\030\007 \001(\010:\005false\"\311\001\n\rLossP"
2369     "arameter\022\024\n\014ignore_label\030\001 \001(\005\022K\n\rnormal"
2370     "ization\030\003 \001(\0162-.opencv_caffe.LossParamet"
2371     "er.NormalizationMode:\005VALID\022\021\n\tnormalize"
2372     "\030\002 \001(\010\"B\n\021NormalizationMode\022\010\n\004FULL\020\000\022\t\n"
2373     "\005VALID\020\001\022\016\n\nBATCH_SIZE\020\002\022\010\n\004NONE\020\003\"L\n\021Ac"
2374     "curacyParameter\022\020\n\005top_k\030\001 \001(\r:\0011\022\017\n\004axi"
2375     "s\030\002 \001(\005:\0011\022\024\n\014ignore_label\030\003 \001(\005\"M\n\017ArgM"
2376     "axParameter\022\032\n\013out_max_val\030\001 \001(\010:\005false\022"
2377     "\020\n\005top_k\030\002 \001(\r:\0011\022\014\n\004axis\030\003 \001(\005\"9\n\017Conca"
2378     "tParameter\022\017\n\004axis\030\002 \001(\005:\0011\022\025\n\nconcat_di"
2379     "m\030\001 \001(\r:\0011\"j\n\022BatchNormParameter\022\030\n\020use_"
2380     "global_stats\030\001 \001(\010\022&\n\027moving_average_fra"
2381     "ction\030\002 \001(\002:\0050.999\022\022\n\003eps\030\003 \001(\002:\0051e-05\"d"
2382     "\n\rBiasParameter\022\017\n\004axis\030\001 \001(\005:\0011\022\023\n\010num_"
2383     "axes\030\002 \001(\005:\0011\022-\n\006filler\030\003 \001(\0132\035.opencv_c"
2384     "affe.FillerParameter\"L\n\030ContrastiveLossP"
2385     "arameter\022\021\n\006margin\030\001 \001(\002:\0011\022\035\n\016legacy_ve"
2386     "rsion\030\002 \001(\010:\005false\"\221\004\n\024ConvolutionParame"
2387     "ter\022\022\n\nnum_output\030\001 \001(\r\022\027\n\tbias_term\030\002 \001"
2388     "(\010:\004true\022\013\n\003pad\030\003 \003(\r\022\023\n\013kernel_size\030\004 \003"
2389     "(\r\022\016\n\006stride\030\006 \003(\r\022\020\n\010dilation\030\022 \003(\r\022\020\n\005"
2390     "pad_h\030\t \001(\r:\0010\022\020\n\005pad_w\030\n \001(\r:\0010\022\020\n\010kern"
2391     "el_h\030\013 \001(\r\022\020\n\010kernel_w\030\014 \001(\r\022\020\n\010stride_h"
2392     "\030\r \001(\r\022\020\n\010stride_w\030\016 \001(\r\022\020\n\005group\030\005 \001(\r:"
2393     "\0011\0224\n\rweight_filler\030\007 \001(\0132\035.opencv_caffe"
2394     ".FillerParameter\0222\n\013bias_filler\030\010 \001(\0132\035."
2395     "opencv_caffe.FillerParameter\022B\n\006engine\030\017"
2396     " \001(\0162).opencv_caffe.ConvolutionParameter"
2397     ".Engine:\007DEFAULT\022\017\n\004axis\030\020 \001(\005:\0011\022\036\n\017for"
2398     "ce_nd_im2col\030\021 \001(\010:\005false\"+\n\006Engine\022\013\n\007D"
2399     "EFAULT\020\000\022\t\n\005CAFFE\020\001\022\t\n\005CUDNN\020\002\"0\n\rCropPa"
2400     "rameter\022\017\n\004axis\030\001 \001(\005:\0012\022\016\n\006offset\030\002 \003(\r"
2401     "\"\253\002\n\rDataParameter\022\016\n\006source\030\001 \001(\t\022\022\n\nba"
2402     "tch_size\030\004 \001(\r\022\024\n\trand_skip\030\007 \001(\r:\0010\0228\n\007"
2403     "backend\030\010 \001(\0162\036.opencv_caffe.DataParamet"
2404     "er.DB:\007LEVELDB\022\020\n\005scale\030\002 \001(\002:\0011\022\021\n\tmean"
2405     "_file\030\003 \001(\t\022\024\n\tcrop_size\030\005 \001(\r:\0010\022\025\n\006mir"
2406     "ror\030\006 \001(\010:\005false\022\"\n\023force_encoded_color\030"
2407     "\t \001(\010:\005false\022\023\n\010prefetch\030\n \001(\r:\0014\"\033\n\002DB\022"
2408     "\013\n\007LEVELDB\020\000\022\010\n\004LMDB\020\001\"[\n\036NonMaximumSupp"
2409     "ressionParameter\022\032\n\rnms_threshold\030\001 \001(\002:"
2410     "\0030.3\022\r\n\005top_k\030\002 \001(\005\022\016\n\003eta\030\003 \001(\002:\0011\"\252\001\n\023"
2411     "SaveOutputParameter\022\030\n\020output_directory\030"
2412     "\001 \001(\t\022\032\n\022output_name_prefix\030\002 \001(\t\022\025\n\rout"
2413     "put_format\030\003 \001(\t\022\026\n\016label_map_file\030\004 \001(\t"
2414     "\022\026\n\016name_size_file\030\005 \001(\t\022\026\n\016num_test_ima"
2415     "ge\030\006 \001(\r\"I\n\020DropoutParameter\022\032\n\rdropout_"
2416     "ratio\030\001 \001(\002:\0030.5\022\031\n\013scale_train\030\002 \001(\010:\004t"
2417     "rue\"\256\001\n\022DummyDataParameter\0222\n\013data_fille"
2418     "r\030\001 \003(\0132\035.opencv_caffe.FillerParameter\022&"
2419     "\n\005shape\030\006 \003(\0132\027.opencv_caffe.BlobShape\022\013"
2420     "\n\003num\030\002 \003(\r\022\020\n\010channels\030\003 \003(\r\022\016\n\006height\030"
2421     "\004 \003(\r\022\r\n\005width\030\005 \003(\r\"\254\001\n\020EltwiseParamete"
2422     "r\022@\n\toperation\030\001 \001(\0162(.opencv_caffe.Eltw"
2423     "iseParameter.EltwiseOp:\003SUM\022\r\n\005coeff\030\002 \003"
2424     "(\002\022\036\n\020stable_prod_grad\030\003 \001(\010:\004true\"\'\n\tEl"
2425     "twiseOp\022\010\n\004PROD\020\000\022\007\n\003SUM\020\001\022\007\n\003MAX\020\002\" \n\014E"
2426     "LUParameter\022\020\n\005alpha\030\001 \001(\002:\0011\"\272\001\n\016EmbedP"
2427     "arameter\022\022\n\nnum_output\030\001 \001(\r\022\021\n\tinput_di"
2428     "m\030\002 \001(\r\022\027\n\tbias_term\030\003 \001(\010:\004true\0224\n\rweig"
2429     "ht_filler\030\004 \001(\0132\035.opencv_caffe.FillerPar"
2430     "ameter\0222\n\013bias_filler\030\005 \001(\0132\035.opencv_caf"
2431     "fe.FillerParameter\"D\n\014ExpParameter\022\020\n\004ba"
2432     "se\030\001 \001(\002:\002-1\022\020\n\005scale\030\002 \001(\002:\0011\022\020\n\005shift\030"
2433     "\003 \001(\002:\0010\"9\n\020FlattenParameter\022\017\n\004axis\030\001 \001"
2434     "(\005:\0011\022\024\n\010end_axis\030\002 \001(\005:\002-1\"O\n\021HDF5DataP"
2435     "arameter\022\016\n\006source\030\001 \001(\t\022\022\n\nbatch_size\030\002"
2436     " \001(\r\022\026\n\007shuffle\030\003 \001(\010:\005false\"(\n\023HDF5Outp"
2437     "utParameter\022\021\n\tfile_name\030\001 \001(\t\"e\n\022HingeL"
2438     "ossParameter\0227\n\004norm\030\001 \001(\0162%.opencv_caff"
2439     "e.HingeLossParameter.Norm:\002L1\"\026\n\004Norm\022\006\n"
2440     "\002L1\020\001\022\006\n\002L2\020\002\"\227\002\n\022ImageDataParameter\022\016\n\006"
2441     "source\030\001 \001(\t\022\025\n\nbatch_size\030\004 \001(\r:\0011\022\024\n\tr"
2442     "and_skip\030\007 \001(\r:\0010\022\026\n\007shuffle\030\010 \001(\010:\005fals"
2443     "e\022\025\n\nnew_height\030\t \001(\r:\0010\022\024\n\tnew_width\030\n "
2444     "\001(\r:\0010\022\026\n\010is_color\030\013 \001(\010:\004true\022\020\n\005scale\030"
2445     "\002 \001(\002:\0011\022\021\n\tmean_file\030\003 \001(\t\022\024\n\tcrop_size"
2446     "\030\005 \001(\r:\0010\022\025\n\006mirror\030\006 \001(\010:\005false\022\025\n\013root"
2447     "_folder\030\014 \001(\t:\000\"\'\n\025InfogainLossParameter"
2448     "\022\016\n\006source\030\001 \001(\t\"\331\001\n\025InnerProductParamet"
2449     "er\022\022\n\nnum_output\030\001 \001(\r\022\027\n\tbias_term\030\002 \001("
2450     "\010:\004true\0224\n\rweight_filler\030\003 \001(\0132\035.opencv_"
2451     "caffe.FillerParameter\0222\n\013bias_filler\030\004 \001"
2452     "(\0132\035.opencv_caffe.FillerParameter\022\017\n\004axi"
2453     "s\030\005 \001(\005:\0011\022\030\n\ttranspose\030\006 \001(\010:\005false\"8\n\016"
2454     "InputParameter\022&\n\005shape\030\001 \003(\0132\027.opencv_c"
2455     "affe.BlobShape\"D\n\014LogParameter\022\020\n\004base\030\001"
2456     " \001(\002:\002-1\022\020\n\005scale\030\002 \001(\002:\0011\022\020\n\005shift\030\003 \001("
2457     "\002:\0010\"\306\002\n\014LRNParameter\022\025\n\nlocal_size\030\001 \001("
2458     "\r:\0015\022\020\n\005alpha\030\002 \001(\002:\0011\022\022\n\004beta\030\003 \001(\002:\0040."
2459     "75\022K\n\013norm_region\030\004 \001(\0162%.opencv_caffe.L"
2460     "RNParameter.NormRegion:\017ACROSS_CHANNELS\022"
2461     "\014\n\001k\030\005 \001(\002:\0011\022:\n\006engine\030\006 \001(\0162!.opencv_c"
2462     "affe.LRNParameter.Engine:\007DEFAULT\"5\n\nNor"
2463     "mRegion\022\023\n\017ACROSS_CHANNELS\020\000\022\022\n\016WITHIN_C"
2464     "HANNEL\020\001\"+\n\006Engine\022\013\n\007DEFAULT\020\000\022\t\n\005CAFFE"
2465     "\020\001\022\t\n\005CUDNN\020\002\"Z\n\023MemoryDataParameter\022\022\n\n"
2466     "batch_size\030\001 \001(\r\022\020\n\010channels\030\002 \001(\r\022\016\n\006he"
2467     "ight\030\003 \001(\r\022\r\n\005width\030\004 \001(\r\"d\n\014MVNParamete"
2468     "r\022 \n\022normalize_variance\030\001 \001(\010:\004true\022\036\n\017a"
2469     "cross_channels\030\002 \001(\010:\005false\022\022\n\003eps\030\003 \001(\002"
2470     ":\0051e-09\"<\n\022ParameterParameter\022&\n\005shape\030\001"
2471     " \001(\0132\027.opencv_caffe.BlobShape\"\311\003\n\020Poolin"
2472     "gParameter\022<\n\004pool\030\001 \001(\0162).opencv_caffe."
2473     "PoolingParameter.PoolMethod:\003MAX\022\016\n\003pad\030"
2474     "\004 \001(\r:\0010\022\020\n\005pad_h\030\t \001(\r:\0010\022\020\n\005pad_w\030\n \001("
2475     "\r:\0010\022\023\n\013kernel_size\030\002 \001(\r\022\020\n\010kernel_h\030\005 "
2476     "\001(\r\022\020\n\010kernel_w\030\006 \001(\r\022\021\n\006stride\030\003 \001(\r:\0011"
2477     "\022\020\n\010stride_h\030\007 \001(\r\022\020\n\010stride_w\030\010 \001(\r\022>\n\006"
2478     "engine\030\013 \001(\0162%.opencv_caffe.PoolingParam"
2479     "eter.Engine:\007DEFAULT\022\035\n\016global_pooling\030\014"
2480     " \001(\010:\005false\022\027\n\tceil_mode\030\r \001(\010:\004true\".\n\n"
2481     "PoolMethod\022\007\n\003MAX\020\000\022\007\n\003AVE\020\001\022\016\n\nSTOCHAST"
2482     "IC\020\002\"+\n\006Engine\022\013\n\007DEFAULT\020\000\022\t\n\005CAFFE\020\001\022\t"
2483     "\n\005CUDNN\020\002\"F\n\016PowerParameter\022\020\n\005power\030\001 \001"
2484     "(\002:\0011\022\020\n\005scale\030\002 \001(\002:\0011\022\020\n\005shift\030\003 \001(\002:\001"
2485     "0\"g\n\017PythonParameter\022\016\n\006module\030\001 \001(\t\022\r\n\005"
2486     "layer\030\002 \001(\t\022\023\n\tparam_str\030\003 \001(\t:\000\022 \n\021shar"
2487     "e_in_parallel\030\004 \001(\010:\005false\"\316\001\n\022Recurrent"
2488     "Parameter\022\025\n\nnum_output\030\001 \001(\r:\0010\0224\n\rweig"
2489     "ht_filler\030\002 \001(\0132\035.opencv_caffe.FillerPar"
2490     "ameter\0222\n\013bias_filler\030\003 \001(\0132\035.opencv_caf"
2491     "fe.FillerParameter\022\031\n\ndebug_info\030\004 \001(\010:\005"
2492     "false\022\034\n\rexpose_hidden\030\005 \001(\010:\005false\"\264\001\n\022"
2493     "ReductionParameter\022D\n\toperation\030\001 \001(\0162,."
2494     "opencv_caffe.ReductionParameter.Reductio"
2495     "nOp:\003SUM\022\017\n\004axis\030\002 \001(\005:\0010\022\020\n\005coeff\030\003 \001(\002"
2496     ":\0011\"5\n\013ReductionOp\022\007\n\003SUM\020\001\022\010\n\004ASUM\020\002\022\t\n"
2497     "\005SUMSQ\020\003\022\010\n\004MEAN\020\004\"\224\001\n\rReLUParameter\022\031\n\016"
2498     "negative_slope\030\001 \001(\002:\0010\022;\n\006engine\030\002 \001(\0162"
2499     "\".opencv_caffe.ReLUParameter.Engine:\007DEF"
2500     "AULT\"+\n\006Engine\022\013\n\007DEFAULT\020\000\022\t\n\005CAFFE\020\001\022\t"
2501     "\n\005CUDNN\020\002\"a\n\020ReshapeParameter\022&\n\005shape\030\001"
2502     " \001(\0132\027.opencv_caffe.BlobShape\022\017\n\004axis\030\002 "
2503     "\001(\005:\0010\022\024\n\010num_axes\030\003 \001(\005:\002-1\"\263\001\n\016ScalePa"
2504     "rameter\022\017\n\004axis\030\001 \001(\005:\0011\022\023\n\010num_axes\030\002 \001"
2505     "(\005:\0011\022-\n\006filler\030\003 \001(\0132\035.opencv_caffe.Fil"
2506     "lerParameter\022\030\n\tbias_term\030\004 \001(\010:\005false\0222"
2507     "\n\013bias_filler\030\005 \001(\0132\035.opencv_caffe.Fille"
2508     "rParameter\"\177\n\020SigmoidParameter\022>\n\006engine"
2509     "\030\001 \001(\0162%.opencv_caffe.SigmoidParameter.E"
2510     "ngine:\007DEFAULT\"+\n\006Engine\022\013\n\007DEFAULT\020\000\022\t\n"
2511     "\005CAFFE\020\001\022\t\n\005CUDNN\020\002\"L\n\016SliceParameter\022\017\n"
2512     "\004axis\030\003 \001(\005:\0011\022\023\n\013slice_point\030\002 \003(\r\022\024\n\ts"
2513     "lice_dim\030\001 \001(\r:\0011\"\220\001\n\020SoftmaxParameter\022>"
2514     "\n\006engine\030\001 \001(\0162%.opencv_caffe.SoftmaxPar"
2515     "ameter.Engine:\007DEFAULT\022\017\n\004axis\030\002 \001(\005:\0011\""
2516     "+\n\006Engine\022\013\n\007DEFAULT\020\000\022\t\n\005CAFFE\020\001\022\t\n\005CUD"
2517     "NN\020\002\"y\n\rTanHParameter\022;\n\006engine\030\001 \001(\0162\"."
2518     "opencv_caffe.TanHParameter.Engine:\007DEFAU"
2519     "LT\"+\n\006Engine\022\013\n\007DEFAULT\020\000\022\t\n\005CAFFE\020\001\022\t\n\005"
2520     "CUDNN\020\002\"/\n\rTileParameter\022\017\n\004axis\030\001 \001(\005:\001"
2521     "1\022\r\n\005tiles\030\002 \001(\005\"*\n\022ThresholdParameter\022\024"
2522     "\n\tthreshold\030\001 \001(\002:\0010\"\301\002\n\023WindowDataParam"
2523     "eter\022\016\n\006source\030\001 \001(\t\022\020\n\005scale\030\002 \001(\002:\0011\022\021"
2524     "\n\tmean_file\030\003 \001(\t\022\022\n\nbatch_size\030\004 \001(\r\022\024\n"
2525     "\tcrop_size\030\005 \001(\r:\0010\022\025\n\006mirror\030\006 \001(\010:\005fal"
2526     "se\022\031\n\014fg_threshold\030\007 \001(\002:\0030.5\022\031\n\014bg_thre"
2527     "shold\030\010 \001(\002:\0030.5\022\031\n\013fg_fraction\030\t \001(\002:\0040"
2528     ".25\022\026\n\013context_pad\030\n \001(\r:\0010\022\027\n\tcrop_mode"
2529     "\030\013 \001(\t:\004warp\022\033\n\014cache_images\030\014 \001(\010:\005fals"
2530     "e\022\025\n\013root_folder\030\r \001(\t:\000\"\371\001\n\014SPPParamete"
2531     "r\022\026\n\016pyramid_height\030\001 \001(\r\0228\n\004pool\030\002 \001(\0162"
2532     "%.opencv_caffe.SPPParameter.PoolMethod:\003"
2533     "MAX\022:\n\006engine\030\006 \001(\0162!.opencv_caffe.SPPPa"
2534     "rameter.Engine:\007DEFAULT\".\n\nPoolMethod\022\007\n"
2535     "\003MAX\020\000\022\007\n\003AVE\020\001\022\016\n\nSTOCHASTIC\020\002\"+\n\006Engin"
2536     "e\022\013\n\007DEFAULT\020\000\022\t\n\005CAFFE\020\001\022\t\n\005CUDNN\020\002\"\334\025\n"
2537     "\020V1LayerParameter\022\016\n\006bottom\030\002 \003(\t\022\013\n\003top"
2538     "\030\003 \003(\t\022\014\n\004name\030\004 \001(\t\022+\n\007include\030  \003(\0132\032."
2539     "opencv_caffe.NetStateRule\022+\n\007exclude\030! \003"
2540     "(\0132\032.opencv_caffe.NetStateRule\0226\n\004type\030\005"
2541     " \001(\0162(.opencv_caffe.V1LayerParameter.Lay"
2542     "erType\022&\n\005blobs\030\006 \003(\0132\027.opencv_caffe.Blo"
2543     "bProto\022\016\n\005param\030\351\007 \003(\t\022E\n\017blob_share_mod"
2544     "e\030\352\007 \003(\0162+.opencv_caffe.V1LayerParameter"
2545     ".DimCheckMode\022\020\n\010blobs_lr\030\007 \003(\002\022\024\n\014weigh"
2546     "t_decay\030\010 \003(\002\022\023\n\013loss_weight\030# \003(\002\0227\n\016ac"
2547     "curacy_param\030\033 \001(\0132\037.opencv_caffe.Accura"
2548     "cyParameter\0223\n\014argmax_param\030\027 \001(\0132\035.open"
2549     "cv_caffe.ArgMaxParameter\0223\n\014concat_param"
2550     "\030\t \001(\0132\035.opencv_caffe.ConcatParameter\022F\n"
2551     "\026contrastive_loss_param\030( \001(\0132&.opencv_c"
2552     "affe.ContrastiveLossParameter\022=\n\021convolu"
2553     "tion_param\030\n \001(\0132\".opencv_caffe.Convolut"
2554     "ionParameter\022/\n\ndata_param\030\013 \001(\0132\033.openc"
2555     "v_caffe.DataParameter\0225\n\rdropout_param\030\014"
2556     " \001(\0132\036.opencv_caffe.DropoutParameter\022:\n\020"
2557     "dummy_data_param\030\032 \001(\0132 .opencv_caffe.Du"
2558     "mmyDataParameter\0225\n\reltwise_param\030\030 \001(\0132"
2559     "\036.opencv_caffe.EltwiseParameter\022-\n\texp_p"
2560     "aram\030) \001(\0132\032.opencv_caffe.ExpParameter\0228"
2561     "\n\017hdf5_data_param\030\r \001(\0132\037.opencv_caffe.H"
2562     "DF5DataParameter\022<\n\021hdf5_output_param\030\016 "
2563     "\001(\0132!.opencv_caffe.HDF5OutputParameter\022:"
2564     "\n\020hinge_loss_param\030\035 \001(\0132 .opencv_caffe."
2565     "HingeLossParameter\022:\n\020image_data_param\030\017"
2566     " \001(\0132 .opencv_caffe.ImageDataParameter\022@"
2567     "\n\023infogain_loss_param\030\020 \001(\0132#.opencv_caf"
2568     "fe.InfogainLossParameter\022@\n\023inner_produc"
2569     "t_param\030\021 \001(\0132#.opencv_caffe.InnerProduc"
2570     "tParameter\022-\n\tlrn_param\030\022 \001(\0132\032.opencv_c"
2571     "affe.LRNParameter\022<\n\021memory_data_param\030\026"
2572     " \001(\0132!.opencv_caffe.MemoryDataParameter\022"
2573     "-\n\tmvn_param\030\" \001(\0132\032.opencv_caffe.MVNPar"
2574     "ameter\0225\n\rpooling_param\030\023 \001(\0132\036.opencv_c"
2575     "affe.PoolingParameter\0221\n\013power_param\030\025 \001"
2576     "(\0132\034.opencv_caffe.PowerParameter\022/\n\nrelu"
2577     "_param\030\036 \001(\0132\033.opencv_caffe.ReLUParamete"
2578     "r\0225\n\rsigmoid_param\030& \001(\0132\036.opencv_caffe."
2579     "SigmoidParameter\0225\n\rsoftmax_param\030\' \001(\0132"
2580     "\036.opencv_caffe.SoftmaxParameter\0221\n\013slice"
2581     "_param\030\037 \001(\0132\034.opencv_caffe.SliceParamet"
2582     "er\022/\n\ntanh_param\030% \001(\0132\033.opencv_caffe.Ta"
2583     "nHParameter\0229\n\017threshold_param\030\031 \001(\0132 .o"
2584     "pencv_caffe.ThresholdParameter\022<\n\021window"
2585     "_data_param\030\024 \001(\0132!.opencv_caffe.WindowD"
2586     "ataParameter\022>\n\017transform_param\030$ \001(\0132%."
2587     "opencv_caffe.TransformationParameter\022/\n\n"
2588     "loss_param\030* \001(\0132\033.opencv_caffe.LossPara"
2589     "meter\022-\n\005layer\030\001 \001(\0132\036.opencv_caffe.V0La"
2590     "yerParameter\"\330\004\n\tLayerType\022\010\n\004NONE\020\000\022\n\n\006"
2591     "ABSVAL\020#\022\014\n\010ACCURACY\020\001\022\n\n\006ARGMAX\020\036\022\010\n\004BN"
2592     "LL\020\002\022\n\n\006CONCAT\020\003\022\024\n\020CONTRASTIVE_LOSS\020%\022\017"
2593     "\n\013CONVOLUTION\020\004\022\010\n\004DATA\020\005\022\021\n\rDECONVOLUTI"
2594     "ON\020\'\022\013\n\007DROPOUT\020\006\022\016\n\nDUMMY_DATA\020 \022\022\n\016EUC"
2595     "LIDEAN_LOSS\020\007\022\013\n\007ELTWISE\020\031\022\007\n\003EXP\020&\022\013\n\007F"
2596     "LATTEN\020\010\022\r\n\tHDF5_DATA\020\t\022\017\n\013HDF5_OUTPUT\020\n"
2597     "\022\016\n\nHINGE_LOSS\020\034\022\n\n\006IM2COL\020\013\022\016\n\nIMAGE_DA"
2598     "TA\020\014\022\021\n\rINFOGAIN_LOSS\020\r\022\021\n\rINNER_PRODUCT"
2599     "\020\016\022\007\n\003LRN\020\017\022\017\n\013MEMORY_DATA\020\035\022\035\n\031MULTINOM"
2600     "IAL_LOGISTIC_LOSS\020\020\022\007\n\003MVN\020\"\022\013\n\007POOLING\020"
2601     "\021\022\t\n\005POWER\020\032\022\010\n\004RELU\020\022\022\013\n\007SIGMOID\020\023\022\036\n\032S"
2602     "IGMOID_CROSS_ENTROPY_LOSS\020\033\022\013\n\007SILENCE\020$"
2603     "\022\013\n\007SOFTMAX\020\024\022\020\n\014SOFTMAX_LOSS\020\025\022\t\n\005SPLIT"
2604     "\020\026\022\t\n\005SLICE\020!\022\010\n\004TANH\020\027\022\017\n\013WINDOW_DATA\020\030"
2605     "\022\r\n\tTHRESHOLD\020\037\"*\n\014DimCheckMode\022\n\n\006STRIC"
2606     "T\020\000\022\016\n\nPERMISSIVE\020\001\"\240\010\n\020V0LayerParameter"
2607     "\022\014\n\004name\030\001 \001(\t\022\014\n\004type\030\002 \001(\t\022\022\n\nnum_outp"
2608     "ut\030\003 \001(\r\022\026\n\010biasterm\030\004 \001(\010:\004true\0224\n\rweig"
2609     "ht_filler\030\005 \001(\0132\035.opencv_caffe.FillerPar"
2610     "ameter\0222\n\013bias_filler\030\006 \001(\0132\035.opencv_caf"
2611     "fe.FillerParameter\022\016\n\003pad\030\007 \001(\r:\0010\022\022\n\nke"
2612     "rnelsize\030\010 \001(\r\022\020\n\005group\030\t \001(\r:\0011\022\021\n\006stri"
2613     "de\030\n \001(\r:\0011\022<\n\004pool\030\013 \001(\0162).opencv_caffe"
2614     ".V0LayerParameter.PoolMethod:\003MAX\022\032\n\rdro"
2615     "pout_ratio\030\014 \001(\002:\0030.5\022\025\n\nlocal_size\030\r \001("
2616     "\r:\0015\022\020\n\005alpha\030\016 \001(\002:\0011\022\022\n\004beta\030\017 \001(\002:\0040."
2617     "75\022\014\n\001k\030\026 \001(\002:\0011\022\016\n\006source\030\020 \001(\t\022\020\n\005scal"
2618     "e\030\021 \001(\002:\0011\022\020\n\010meanfile\030\022 \001(\t\022\021\n\tbatchsiz"
2619     "e\030\023 \001(\r\022\023\n\010cropsize\030\024 \001(\r:\0010\022\025\n\006mirror\030\025"
2620     " \001(\010:\005false\022&\n\005blobs\0302 \003(\0132\027.opencv_caff"
2621     "e.BlobProto\022\020\n\010blobs_lr\0303 \003(\002\022\024\n\014weight_"
2622     "decay\0304 \003(\002\022\024\n\trand_skip\0305 \001(\r:\0010\022\035\n\020det"
2623     "_fg_threshold\0306 \001(\002:\0030.5\022\035\n\020det_bg_thres"
2624     "hold\0307 \001(\002:\0030.5\022\035\n\017det_fg_fraction\0308 \001(\002"
2625     ":\0040.25\022\032\n\017det_context_pad\030: \001(\r:\0010\022\033\n\rde"
2626     "t_crop_mode\030; \001(\t:\004warp\022\022\n\007new_num\030< \001(\005"
2627     ":\0010\022\027\n\014new_channels\030= \001(\005:\0010\022\025\n\nnew_heig"
2628     "ht\030> \001(\005:\0010\022\024\n\tnew_width\030\? \001(\005:\0010\022\035\n\016shu"
2629     "ffle_images\030@ \001(\010:\005false\022\025\n\nconcat_dim\030A"
2630     " \001(\r:\0011\022=\n\021hdf5_output_param\030\351\007 \001(\0132!.op"
2631     "encv_caffe.HDF5OutputParameter\".\n\nPoolMe"
2632     "thod\022\007\n\003MAX\020\000\022\007\n\003AVE\020\001\022\016\n\nSTOCHASTIC\020\002\"^"
2633     "\n\016PReLUParameter\022-\n\006filler\030\001 \001(\0132\035.openc"
2634     "v_caffe.FillerParameter\022\035\n\016channel_share"
2635     "d\030\002 \001(\010:\005false\"\207\001\n\016NormalizedBBox\022\014\n\004xmi"
2636     "n\030\001 \001(\002\022\014\n\004ymin\030\002 \001(\002\022\014\n\004xmax\030\003 \001(\002\022\014\n\004y"
2637     "max\030\004 \001(\002\022\r\n\005label\030\005 \001(\005\022\021\n\tdifficult\030\006 "
2638     "\001(\010\022\r\n\005score\030\007 \001(\002\022\014\n\004size\030\010 \001(\002\"Y\n\023ROIP"
2639     "oolingParameter\022\023\n\010pooled_h\030\001 \001(\r:\0010\022\023\n\010"
2640     "pooled_w\030\002 \001(\r:\0010\022\030\n\rspatial_scale\030\003 \001(\002"
2641     ":\0011\"\310\001\n\021ProposalParameter\022\027\n\013feat_stride"
2642     "\030\001 \001(\r:\00216\022\025\n\tbase_size\030\002 \001(\r:\00216\022\024\n\010min"
2643     "_size\030\003 \001(\r:\00216\022\r\n\005ratio\030\004 \003(\002\022\r\n\005scale\030"
2644     "\005 \003(\002\022\032\n\014pre_nms_topn\030\006 \001(\r:\0046000\022\032\n\rpos"
2645     "t_nms_topn\030\007 \001(\r:\003300\022\027\n\nnms_thresh\030\010 \001("
2646     "\002:\0030.7*=\n\004Type\022\n\n\006DOUBLE\020\000\022\t\n\005FLOAT\020\001\022\013\n"
2647     "\007FLOAT16\020\002\022\007\n\003INT\020\003\022\010\n\004UINT\020\004*\034\n\005Phase\022\t"
2648     "\n\005TRAIN\020\000\022\010\n\004TEST\020\001", 18619);
2649   ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
2650     "opencv-caffe.proto", &protobuf_RegisterTypes);
2651   ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_opencv_2dcaffe_2eproto);
2652 }
2653
2654 GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AddDesc_opencv_2dcaffe_2eproto_once_);
2655 void protobuf_AddDesc_opencv_2dcaffe_2eproto() {
2656   ::google::protobuf::GoogleOnceInit(&protobuf_AddDesc_opencv_2dcaffe_2eproto_once_,
2657                  &protobuf_AddDesc_opencv_2dcaffe_2eproto_impl);
2658 }
2659 // Force AddDescriptors() to be called at static initialization time.
2660 struct StaticDescriptorInitializer_opencv_2dcaffe_2eproto {
2661   StaticDescriptorInitializer_opencv_2dcaffe_2eproto() {
2662     protobuf_AddDesc_opencv_2dcaffe_2eproto();
2663   }
2664 } static_descriptor_initializer_opencv_2dcaffe_2eproto_;
2665 const ::google::protobuf::EnumDescriptor* Type_descriptor() {
2666   protobuf_AssignDescriptorsOnce();
2667   return Type_descriptor_;
2668 }
2669 bool Type_IsValid(int value) {
2670   switch (value) {
2671     case 0:
2672     case 1:
2673     case 2:
2674     case 3:
2675     case 4:
2676       return true;
2677     default:
2678       return false;
2679   }
2680 }
2681
2682 const ::google::protobuf::EnumDescriptor* Phase_descriptor() {
2683   protobuf_AssignDescriptorsOnce();
2684   return Phase_descriptor_;
2685 }
2686 bool Phase_IsValid(int value) {
2687   switch (value) {
2688     case 0:
2689     case 1:
2690       return true;
2691     default:
2692       return false;
2693   }
2694 }
2695
2696
2697 namespace {
2698
2699 static void MergeFromFail(int line) GOOGLE_ATTRIBUTE_COLD GOOGLE_ATTRIBUTE_NORETURN;
2700 static void MergeFromFail(int line) {
2701   ::google::protobuf::internal::MergeFromFail(__FILE__, line);
2702 }
2703
2704 }  // namespace
2705
2706
2707 // ===================================================================
2708
2709 #if !defined(_MSC_VER) || _MSC_VER >= 1900
2710 const int BlobShape::kDimFieldNumber;
2711 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
2712
2713 BlobShape::BlobShape()
2714   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
2715   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
2716   SharedCtor();
2717   // @@protoc_insertion_point(constructor:opencv_caffe.BlobShape)
2718 }
2719
2720 void BlobShape::InitAsDefaultInstance() {
2721 }
2722
2723 BlobShape::BlobShape(const BlobShape& from)
2724   : ::google::protobuf::Message(),
2725     _internal_metadata_(NULL) {
2726   SharedCtor();
2727   UnsafeMergeFrom(from);
2728   // @@protoc_insertion_point(copy_constructor:opencv_caffe.BlobShape)
2729 }
2730
2731 void BlobShape::SharedCtor() {
2732   _cached_size_ = 0;
2733 }
2734
2735 BlobShape::~BlobShape() {
2736   // @@protoc_insertion_point(destructor:opencv_caffe.BlobShape)
2737   SharedDtor();
2738 }
2739
2740 void BlobShape::SharedDtor() {
2741 }
2742
2743 void BlobShape::SetCachedSize(int size) const {
2744   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
2745   _cached_size_ = size;
2746   GOOGLE_SAFE_CONCURRENT_WRITES_END();
2747 }
2748 const ::google::protobuf::Descriptor* BlobShape::descriptor() {
2749   protobuf_AssignDescriptorsOnce();
2750   return BlobShape_descriptor_;
2751 }
2752
2753 const BlobShape& BlobShape::default_instance() {
2754   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
2755   return *internal_default_instance();
2756 }
2757
2758 ::google::protobuf::internal::ExplicitlyConstructed<BlobShape> BlobShape_default_instance_;
2759
2760 BlobShape* BlobShape::New(::google::protobuf::Arena* arena) const {
2761   BlobShape* n = new BlobShape;
2762   if (arena != NULL) {
2763     arena->Own(n);
2764   }
2765   return n;
2766 }
2767
2768 void BlobShape::Clear() {
2769 // @@protoc_insertion_point(message_clear_start:opencv_caffe.BlobShape)
2770   dim_.Clear();
2771   _has_bits_.Clear();
2772   if (_internal_metadata_.have_unknown_fields()) {
2773     mutable_unknown_fields()->Clear();
2774   }
2775 }
2776
2777 bool BlobShape::MergePartialFromCodedStream(
2778     ::google::protobuf::io::CodedInputStream* input) {
2779 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
2780   ::google::protobuf::uint32 tag;
2781   // @@protoc_insertion_point(parse_start:opencv_caffe.BlobShape)
2782   for (;;) {
2783     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
2784     tag = p.first;
2785     if (!p.second) goto handle_unusual;
2786     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
2787       // repeated int64 dim = 1 [packed = true];
2788       case 1: {
2789         if (tag == 10) {
2790           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
2791                    ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
2792                  input, this->mutable_dim())));
2793         } else if (tag == 8) {
2794           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
2795                    ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
2796                  1, 10, input, this->mutable_dim())));
2797         } else {
2798           goto handle_unusual;
2799         }
2800         if (input->ExpectAtEnd()) goto success;
2801         break;
2802       }
2803
2804       default: {
2805       handle_unusual:
2806         if (tag == 0 ||
2807             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2808             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
2809           goto success;
2810         }
2811         DO_(::google::protobuf::internal::WireFormat::SkipField(
2812               input, tag, mutable_unknown_fields()));
2813         break;
2814       }
2815     }
2816   }
2817 success:
2818   // @@protoc_insertion_point(parse_success:opencv_caffe.BlobShape)
2819   return true;
2820 failure:
2821   // @@protoc_insertion_point(parse_failure:opencv_caffe.BlobShape)
2822   return false;
2823 #undef DO_
2824 }
2825
2826 void BlobShape::SerializeWithCachedSizes(
2827     ::google::protobuf::io::CodedOutputStream* output) const {
2828   // @@protoc_insertion_point(serialize_start:opencv_caffe.BlobShape)
2829   // repeated int64 dim = 1 [packed = true];
2830   if (this->dim_size() > 0) {
2831     ::google::protobuf::internal::WireFormatLite::WriteTag(1, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
2832     output->WriteVarint32(_dim_cached_byte_size_);
2833   }
2834   for (int i = 0; i < this->dim_size(); i++) {
2835     ::google::protobuf::internal::WireFormatLite::WriteInt64NoTag(
2836       this->dim(i), output);
2837   }
2838
2839   if (_internal_metadata_.have_unknown_fields()) {
2840     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
2841         unknown_fields(), output);
2842   }
2843   // @@protoc_insertion_point(serialize_end:opencv_caffe.BlobShape)
2844 }
2845
2846 ::google::protobuf::uint8* BlobShape::InternalSerializeWithCachedSizesToArray(
2847     bool deterministic, ::google::protobuf::uint8* target) const {
2848   (void)deterministic; // Unused
2849   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.BlobShape)
2850   // repeated int64 dim = 1 [packed = true];
2851   if (this->dim_size() > 0) {
2852     target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
2853       1,
2854       ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
2855       target);
2856     target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
2857       _dim_cached_byte_size_, target);
2858   }
2859   for (int i = 0; i < this->dim_size(); i++) {
2860     target = ::google::protobuf::internal::WireFormatLite::
2861       WriteInt64NoTagToArray(this->dim(i), target);
2862   }
2863
2864   if (_internal_metadata_.have_unknown_fields()) {
2865     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
2866         unknown_fields(), target);
2867   }
2868   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.BlobShape)
2869   return target;
2870 }
2871
2872 size_t BlobShape::ByteSizeLong() const {
2873 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.BlobShape)
2874   size_t total_size = 0;
2875
2876   // repeated int64 dim = 1 [packed = true];
2877   {
2878     size_t data_size = 0;
2879     unsigned int count = this->dim_size();
2880     for (unsigned int i = 0; i < count; i++) {
2881       data_size += ::google::protobuf::internal::WireFormatLite::
2882         Int64Size(this->dim(i));
2883     }
2884     if (data_size > 0) {
2885       total_size += 1 +
2886         ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
2887     }
2888     int cached_size = ::google::protobuf::internal::ToCachedSize(data_size);
2889     GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
2890     _dim_cached_byte_size_ = cached_size;
2891     GOOGLE_SAFE_CONCURRENT_WRITES_END();
2892     total_size += data_size;
2893   }
2894
2895   if (_internal_metadata_.have_unknown_fields()) {
2896     total_size +=
2897       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
2898         unknown_fields());
2899   }
2900   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
2901   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
2902   _cached_size_ = cached_size;
2903   GOOGLE_SAFE_CONCURRENT_WRITES_END();
2904   return total_size;
2905 }
2906
2907 void BlobShape::MergeFrom(const ::google::protobuf::Message& from) {
2908 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.BlobShape)
2909   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
2910   const BlobShape* source =
2911       ::google::protobuf::internal::DynamicCastToGenerated<const BlobShape>(
2912           &from);
2913   if (source == NULL) {
2914   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.BlobShape)
2915     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
2916   } else {
2917   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.BlobShape)
2918     UnsafeMergeFrom(*source);
2919   }
2920 }
2921
2922 void BlobShape::MergeFrom(const BlobShape& from) {
2923 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.BlobShape)
2924   if (GOOGLE_PREDICT_TRUE(&from != this)) {
2925     UnsafeMergeFrom(from);
2926   } else {
2927     MergeFromFail(__LINE__);
2928   }
2929 }
2930
2931 void BlobShape::UnsafeMergeFrom(const BlobShape& from) {
2932   GOOGLE_DCHECK(&from != this);
2933   dim_.UnsafeMergeFrom(from.dim_);
2934   if (from._internal_metadata_.have_unknown_fields()) {
2935     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
2936       from.unknown_fields(), &_internal_metadata_);
2937   }
2938 }
2939
2940 void BlobShape::CopyFrom(const ::google::protobuf::Message& from) {
2941 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.BlobShape)
2942   if (&from == this) return;
2943   Clear();
2944   MergeFrom(from);
2945 }
2946
2947 void BlobShape::CopyFrom(const BlobShape& from) {
2948 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.BlobShape)
2949   if (&from == this) return;
2950   Clear();
2951   UnsafeMergeFrom(from);
2952 }
2953
2954 bool BlobShape::IsInitialized() const {
2955
2956   return true;
2957 }
2958
2959 void BlobShape::Swap(BlobShape* other) {
2960   if (other == this) return;
2961   InternalSwap(other);
2962 }
2963 void BlobShape::InternalSwap(BlobShape* other) {
2964   dim_.UnsafeArenaSwap(&other->dim_);
2965   std::swap(_has_bits_[0], other->_has_bits_[0]);
2966   _internal_metadata_.Swap(&other->_internal_metadata_);
2967   std::swap(_cached_size_, other->_cached_size_);
2968 }
2969
2970 ::google::protobuf::Metadata BlobShape::GetMetadata() const {
2971   protobuf_AssignDescriptorsOnce();
2972   ::google::protobuf::Metadata metadata;
2973   metadata.descriptor = BlobShape_descriptor_;
2974   metadata.reflection = BlobShape_reflection_;
2975   return metadata;
2976 }
2977
2978 #if PROTOBUF_INLINE_NOT_IN_HEADERS
2979 // BlobShape
2980
2981 // repeated int64 dim = 1 [packed = true];
2982 int BlobShape::dim_size() const {
2983   return dim_.size();
2984 }
2985 void BlobShape::clear_dim() {
2986   dim_.Clear();
2987 }
2988 ::google::protobuf::int64 BlobShape::dim(int index) const {
2989   // @@protoc_insertion_point(field_get:opencv_caffe.BlobShape.dim)
2990   return dim_.Get(index);
2991 }
2992 void BlobShape::set_dim(int index, ::google::protobuf::int64 value) {
2993   dim_.Set(index, value);
2994   // @@protoc_insertion_point(field_set:opencv_caffe.BlobShape.dim)
2995 }
2996 void BlobShape::add_dim(::google::protobuf::int64 value) {
2997   dim_.Add(value);
2998   // @@protoc_insertion_point(field_add:opencv_caffe.BlobShape.dim)
2999 }
3000 const ::google::protobuf::RepeatedField< ::google::protobuf::int64 >&
3001 BlobShape::dim() const {
3002   // @@protoc_insertion_point(field_list:opencv_caffe.BlobShape.dim)
3003   return dim_;
3004 }
3005 ::google::protobuf::RepeatedField< ::google::protobuf::int64 >*
3006 BlobShape::mutable_dim() {
3007   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobShape.dim)
3008   return &dim_;
3009 }
3010
3011 inline const BlobShape* BlobShape::internal_default_instance() {
3012   return &BlobShape_default_instance_.get();
3013 }
3014 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
3015
3016 // ===================================================================
3017
3018 #if !defined(_MSC_VER) || _MSC_VER >= 1900
3019 const int BlobProto::kShapeFieldNumber;
3020 const int BlobProto::kDataFieldNumber;
3021 const int BlobProto::kDiffFieldNumber;
3022 const int BlobProto::kDoubleDataFieldNumber;
3023 const int BlobProto::kDoubleDiffFieldNumber;
3024 const int BlobProto::kRawDataTypeFieldNumber;
3025 const int BlobProto::kRawDataFieldNumber;
3026 const int BlobProto::kNumFieldNumber;
3027 const int BlobProto::kChannelsFieldNumber;
3028 const int BlobProto::kHeightFieldNumber;
3029 const int BlobProto::kWidthFieldNumber;
3030 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
3031
3032 BlobProto::BlobProto()
3033   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
3034   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
3035   SharedCtor();
3036   // @@protoc_insertion_point(constructor:opencv_caffe.BlobProto)
3037 }
3038
3039 void BlobProto::InitAsDefaultInstance() {
3040   shape_ = const_cast< ::opencv_caffe::BlobShape*>(
3041       ::opencv_caffe::BlobShape::internal_default_instance());
3042 }
3043
3044 BlobProto::BlobProto(const BlobProto& from)
3045   : ::google::protobuf::Message(),
3046     _internal_metadata_(NULL) {
3047   SharedCtor();
3048   UnsafeMergeFrom(from);
3049   // @@protoc_insertion_point(copy_constructor:opencv_caffe.BlobProto)
3050 }
3051
3052 void BlobProto::SharedCtor() {
3053   _cached_size_ = 0;
3054   raw_data_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
3055   shape_ = NULL;
3056   ::memset(&raw_data_type_, 0, reinterpret_cast<char*>(&width_) -
3057     reinterpret_cast<char*>(&raw_data_type_) + sizeof(width_));
3058 }
3059
3060 BlobProto::~BlobProto() {
3061   // @@protoc_insertion_point(destructor:opencv_caffe.BlobProto)
3062   SharedDtor();
3063 }
3064
3065 void BlobProto::SharedDtor() {
3066   raw_data_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
3067   if (this != &BlobProto_default_instance_.get()) {
3068     delete shape_;
3069   }
3070 }
3071
3072 void BlobProto::SetCachedSize(int size) const {
3073   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3074   _cached_size_ = size;
3075   GOOGLE_SAFE_CONCURRENT_WRITES_END();
3076 }
3077 const ::google::protobuf::Descriptor* BlobProto::descriptor() {
3078   protobuf_AssignDescriptorsOnce();
3079   return BlobProto_descriptor_;
3080 }
3081
3082 const BlobProto& BlobProto::default_instance() {
3083   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
3084   return *internal_default_instance();
3085 }
3086
3087 ::google::protobuf::internal::ExplicitlyConstructed<BlobProto> BlobProto_default_instance_;
3088
3089 BlobProto* BlobProto::New(::google::protobuf::Arena* arena) const {
3090   BlobProto* n = new BlobProto;
3091   if (arena != NULL) {
3092     arena->Own(n);
3093   }
3094   return n;
3095 }
3096
3097 void BlobProto::Clear() {
3098 // @@protoc_insertion_point(message_clear_start:opencv_caffe.BlobProto)
3099 #if defined(__clang__)
3100 #define ZR_HELPER_(f) \
3101   _Pragma("clang diagnostic push") \
3102   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
3103   __builtin_offsetof(BlobProto, f) \
3104   _Pragma("clang diagnostic pop")
3105 #else
3106 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
3107   &reinterpret_cast<BlobProto*>(16)->f)
3108 #endif
3109
3110 #define ZR_(first, last) do {\
3111   ::memset(&(first), 0,\
3112            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
3113 } while (0)
3114
3115   if (_has_bits_[0 / 32] & 225u) {
3116     ZR_(raw_data_type_, num_);
3117     if (has_shape()) {
3118       if (shape_ != NULL) shape_->::opencv_caffe::BlobShape::Clear();
3119     }
3120     if (has_raw_data()) {
3121       raw_data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
3122     }
3123   }
3124   ZR_(channels_, width_);
3125
3126 #undef ZR_HELPER_
3127 #undef ZR_
3128
3129   data_.Clear();
3130   diff_.Clear();
3131   double_data_.Clear();
3132   double_diff_.Clear();
3133   _has_bits_.Clear();
3134   if (_internal_metadata_.have_unknown_fields()) {
3135     mutable_unknown_fields()->Clear();
3136   }
3137 }
3138
3139 bool BlobProto::MergePartialFromCodedStream(
3140     ::google::protobuf::io::CodedInputStream* input) {
3141 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
3142   ::google::protobuf::uint32 tag;
3143   // @@protoc_insertion_point(parse_start:opencv_caffe.BlobProto)
3144   for (;;) {
3145     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
3146     tag = p.first;
3147     if (!p.second) goto handle_unusual;
3148     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
3149       // optional int32 num = 1 [default = 0];
3150       case 1: {
3151         if (tag == 8) {
3152           set_has_num();
3153           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
3154                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
3155                  input, &num_)));
3156         } else {
3157           goto handle_unusual;
3158         }
3159         if (input->ExpectTag(16)) goto parse_channels;
3160         break;
3161       }
3162
3163       // optional int32 channels = 2 [default = 0];
3164       case 2: {
3165         if (tag == 16) {
3166          parse_channels:
3167           set_has_channels();
3168           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
3169                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
3170                  input, &channels_)));
3171         } else {
3172           goto handle_unusual;
3173         }
3174         if (input->ExpectTag(24)) goto parse_height;
3175         break;
3176       }
3177
3178       // optional int32 height = 3 [default = 0];
3179       case 3: {
3180         if (tag == 24) {
3181          parse_height:
3182           set_has_height();
3183           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
3184                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
3185                  input, &height_)));
3186         } else {
3187           goto handle_unusual;
3188         }
3189         if (input->ExpectTag(32)) goto parse_width;
3190         break;
3191       }
3192
3193       // optional int32 width = 4 [default = 0];
3194       case 4: {
3195         if (tag == 32) {
3196          parse_width:
3197           set_has_width();
3198           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
3199                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
3200                  input, &width_)));
3201         } else {
3202           goto handle_unusual;
3203         }
3204         if (input->ExpectTag(42)) goto parse_data;
3205         break;
3206       }
3207
3208       // repeated float data = 5 [packed = true];
3209       case 5: {
3210         if (tag == 42) {
3211          parse_data:
3212           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
3213                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
3214                  input, this->mutable_data())));
3215         } else if (tag == 45) {
3216           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
3217                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
3218                  1, 42, input, this->mutable_data())));
3219         } else {
3220           goto handle_unusual;
3221         }
3222         if (input->ExpectTag(50)) goto parse_diff;
3223         break;
3224       }
3225
3226       // repeated float diff = 6 [packed = true];
3227       case 6: {
3228         if (tag == 50) {
3229          parse_diff:
3230           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
3231                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
3232                  input, this->mutable_diff())));
3233         } else if (tag == 53) {
3234           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
3235                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
3236                  1, 50, input, this->mutable_diff())));
3237         } else {
3238           goto handle_unusual;
3239         }
3240         if (input->ExpectTag(58)) goto parse_shape;
3241         break;
3242       }
3243
3244       // optional .opencv_caffe.BlobShape shape = 7;
3245       case 7: {
3246         if (tag == 58) {
3247          parse_shape:
3248           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
3249                input, mutable_shape()));
3250         } else {
3251           goto handle_unusual;
3252         }
3253         if (input->ExpectTag(66)) goto parse_double_data;
3254         break;
3255       }
3256
3257       // repeated double double_data = 8 [packed = true];
3258       case 8: {
3259         if (tag == 66) {
3260          parse_double_data:
3261           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
3262                    double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
3263                  input, this->mutable_double_data())));
3264         } else if (tag == 65) {
3265           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
3266                    double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
3267                  1, 66, input, this->mutable_double_data())));
3268         } else {
3269           goto handle_unusual;
3270         }
3271         if (input->ExpectTag(74)) goto parse_double_diff;
3272         break;
3273       }
3274
3275       // repeated double double_diff = 9 [packed = true];
3276       case 9: {
3277         if (tag == 74) {
3278          parse_double_diff:
3279           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
3280                    double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
3281                  input, this->mutable_double_diff())));
3282         } else if (tag == 73) {
3283           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
3284                    double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
3285                  1, 74, input, this->mutable_double_diff())));
3286         } else {
3287           goto handle_unusual;
3288         }
3289         if (input->ExpectTag(80)) goto parse_raw_data_type;
3290         break;
3291       }
3292
3293       // optional .opencv_caffe.Type raw_data_type = 10;
3294       case 10: {
3295         if (tag == 80) {
3296          parse_raw_data_type:
3297           int value;
3298           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
3299                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
3300                  input, &value)));
3301           if (::opencv_caffe::Type_IsValid(value)) {
3302             set_raw_data_type(static_cast< ::opencv_caffe::Type >(value));
3303           } else {
3304             mutable_unknown_fields()->AddVarint(10, value);
3305           }
3306         } else {
3307           goto handle_unusual;
3308         }
3309         if (input->ExpectTag(98)) goto parse_raw_data;
3310         break;
3311       }
3312
3313       // optional bytes raw_data = 12 [packed = false];
3314       case 12: {
3315         if (tag == 98) {
3316          parse_raw_data:
3317           DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
3318                 input, this->mutable_raw_data()));
3319         } else {
3320           goto handle_unusual;
3321         }
3322         if (input->ExpectAtEnd()) goto success;
3323         break;
3324       }
3325
3326       default: {
3327       handle_unusual:
3328         if (tag == 0 ||
3329             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3330             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
3331           goto success;
3332         }
3333         DO_(::google::protobuf::internal::WireFormat::SkipField(
3334               input, tag, mutable_unknown_fields()));
3335         break;
3336       }
3337     }
3338   }
3339 success:
3340   // @@protoc_insertion_point(parse_success:opencv_caffe.BlobProto)
3341   return true;
3342 failure:
3343   // @@protoc_insertion_point(parse_failure:opencv_caffe.BlobProto)
3344   return false;
3345 #undef DO_
3346 }
3347
3348 void BlobProto::SerializeWithCachedSizes(
3349     ::google::protobuf::io::CodedOutputStream* output) const {
3350   // @@protoc_insertion_point(serialize_start:opencv_caffe.BlobProto)
3351   // optional int32 num = 1 [default = 0];
3352   if (has_num()) {
3353     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->num(), output);
3354   }
3355
3356   // optional int32 channels = 2 [default = 0];
3357   if (has_channels()) {
3358     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->channels(), output);
3359   }
3360
3361   // optional int32 height = 3 [default = 0];
3362   if (has_height()) {
3363     ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->height(), output);
3364   }
3365
3366   // optional int32 width = 4 [default = 0];
3367   if (has_width()) {
3368     ::google::protobuf::internal::WireFormatLite::WriteInt32(4, this->width(), output);
3369   }
3370
3371   // repeated float data = 5 [packed = true];
3372   if (this->data_size() > 0) {
3373     ::google::protobuf::internal::WireFormatLite::WriteTag(5, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
3374     output->WriteVarint32(_data_cached_byte_size_);
3375   }
3376   for (int i = 0; i < this->data_size(); i++) {
3377     ::google::protobuf::internal::WireFormatLite::WriteFloatNoTag(
3378       this->data(i), output);
3379   }
3380
3381   // repeated float diff = 6 [packed = true];
3382   if (this->diff_size() > 0) {
3383     ::google::protobuf::internal::WireFormatLite::WriteTag(6, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
3384     output->WriteVarint32(_diff_cached_byte_size_);
3385   }
3386   for (int i = 0; i < this->diff_size(); i++) {
3387     ::google::protobuf::internal::WireFormatLite::WriteFloatNoTag(
3388       this->diff(i), output);
3389   }
3390
3391   // optional .opencv_caffe.BlobShape shape = 7;
3392   if (has_shape()) {
3393     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
3394       7, *this->shape_, output);
3395   }
3396
3397   // repeated double double_data = 8 [packed = true];
3398   if (this->double_data_size() > 0) {
3399     ::google::protobuf::internal::WireFormatLite::WriteTag(8, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
3400     output->WriteVarint32(_double_data_cached_byte_size_);
3401   }
3402   for (int i = 0; i < this->double_data_size(); i++) {
3403     ::google::protobuf::internal::WireFormatLite::WriteDoubleNoTag(
3404       this->double_data(i), output);
3405   }
3406
3407   // repeated double double_diff = 9 [packed = true];
3408   if (this->double_diff_size() > 0) {
3409     ::google::protobuf::internal::WireFormatLite::WriteTag(9, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
3410     output->WriteVarint32(_double_diff_cached_byte_size_);
3411   }
3412   for (int i = 0; i < this->double_diff_size(); i++) {
3413     ::google::protobuf::internal::WireFormatLite::WriteDoubleNoTag(
3414       this->double_diff(i), output);
3415   }
3416
3417   // optional .opencv_caffe.Type raw_data_type = 10;
3418   if (has_raw_data_type()) {
3419     ::google::protobuf::internal::WireFormatLite::WriteEnum(
3420       10, this->raw_data_type(), output);
3421   }
3422
3423   // optional bytes raw_data = 12 [packed = false];
3424   if (has_raw_data()) {
3425     ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
3426       12, this->raw_data(), output);
3427   }
3428
3429   if (_internal_metadata_.have_unknown_fields()) {
3430     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
3431         unknown_fields(), output);
3432   }
3433   // @@protoc_insertion_point(serialize_end:opencv_caffe.BlobProto)
3434 }
3435
3436 ::google::protobuf::uint8* BlobProto::InternalSerializeWithCachedSizesToArray(
3437     bool deterministic, ::google::protobuf::uint8* target) const {
3438   (void)deterministic; // Unused
3439   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.BlobProto)
3440   // optional int32 num = 1 [default = 0];
3441   if (has_num()) {
3442     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->num(), target);
3443   }
3444
3445   // optional int32 channels = 2 [default = 0];
3446   if (has_channels()) {
3447     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->channels(), target);
3448   }
3449
3450   // optional int32 height = 3 [default = 0];
3451   if (has_height()) {
3452     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->height(), target);
3453   }
3454
3455   // optional int32 width = 4 [default = 0];
3456   if (has_width()) {
3457     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(4, this->width(), target);
3458   }
3459
3460   // repeated float data = 5 [packed = true];
3461   if (this->data_size() > 0) {
3462     target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
3463       5,
3464       ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
3465       target);
3466     target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
3467       _data_cached_byte_size_, target);
3468   }
3469   for (int i = 0; i < this->data_size(); i++) {
3470     target = ::google::protobuf::internal::WireFormatLite::
3471       WriteFloatNoTagToArray(this->data(i), target);
3472   }
3473
3474   // repeated float diff = 6 [packed = true];
3475   if (this->diff_size() > 0) {
3476     target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
3477       6,
3478       ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
3479       target);
3480     target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
3481       _diff_cached_byte_size_, target);
3482   }
3483   for (int i = 0; i < this->diff_size(); i++) {
3484     target = ::google::protobuf::internal::WireFormatLite::
3485       WriteFloatNoTagToArray(this->diff(i), target);
3486   }
3487
3488   // optional .opencv_caffe.BlobShape shape = 7;
3489   if (has_shape()) {
3490     target = ::google::protobuf::internal::WireFormatLite::
3491       InternalWriteMessageNoVirtualToArray(
3492         7, *this->shape_, false, target);
3493   }
3494
3495   // repeated double double_data = 8 [packed = true];
3496   if (this->double_data_size() > 0) {
3497     target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
3498       8,
3499       ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
3500       target);
3501     target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
3502       _double_data_cached_byte_size_, target);
3503   }
3504   for (int i = 0; i < this->double_data_size(); i++) {
3505     target = ::google::protobuf::internal::WireFormatLite::
3506       WriteDoubleNoTagToArray(this->double_data(i), target);
3507   }
3508
3509   // repeated double double_diff = 9 [packed = true];
3510   if (this->double_diff_size() > 0) {
3511     target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
3512       9,
3513       ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
3514       target);
3515     target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
3516       _double_diff_cached_byte_size_, target);
3517   }
3518   for (int i = 0; i < this->double_diff_size(); i++) {
3519     target = ::google::protobuf::internal::WireFormatLite::
3520       WriteDoubleNoTagToArray(this->double_diff(i), target);
3521   }
3522
3523   // optional .opencv_caffe.Type raw_data_type = 10;
3524   if (has_raw_data_type()) {
3525     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
3526       10, this->raw_data_type(), target);
3527   }
3528
3529   // optional bytes raw_data = 12 [packed = false];
3530   if (has_raw_data()) {
3531     target =
3532       ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
3533         12, this->raw_data(), target);
3534   }
3535
3536   if (_internal_metadata_.have_unknown_fields()) {
3537     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
3538         unknown_fields(), target);
3539   }
3540   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.BlobProto)
3541   return target;
3542 }
3543
3544 size_t BlobProto::ByteSizeLong() const {
3545 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.BlobProto)
3546   size_t total_size = 0;
3547
3548   if (_has_bits_[0 / 32] & 225u) {
3549     // optional .opencv_caffe.BlobShape shape = 7;
3550     if (has_shape()) {
3551       total_size += 1 +
3552         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
3553           *this->shape_);
3554     }
3555
3556     // optional .opencv_caffe.Type raw_data_type = 10;
3557     if (has_raw_data_type()) {
3558       total_size += 1 +
3559         ::google::protobuf::internal::WireFormatLite::EnumSize(this->raw_data_type());
3560     }
3561
3562     // optional bytes raw_data = 12 [packed = false];
3563     if (has_raw_data()) {
3564       total_size += 1 +
3565         ::google::protobuf::internal::WireFormatLite::BytesSize(
3566           this->raw_data());
3567     }
3568
3569     // optional int32 num = 1 [default = 0];
3570     if (has_num()) {
3571       total_size += 1 +
3572         ::google::protobuf::internal::WireFormatLite::Int32Size(
3573           this->num());
3574     }
3575
3576   }
3577   if (_has_bits_[8 / 32] & 1792u) {
3578     // optional int32 channels = 2 [default = 0];
3579     if (has_channels()) {
3580       total_size += 1 +
3581         ::google::protobuf::internal::WireFormatLite::Int32Size(
3582           this->channels());
3583     }
3584
3585     // optional int32 height = 3 [default = 0];
3586     if (has_height()) {
3587       total_size += 1 +
3588         ::google::protobuf::internal::WireFormatLite::Int32Size(
3589           this->height());
3590     }
3591
3592     // optional int32 width = 4 [default = 0];
3593     if (has_width()) {
3594       total_size += 1 +
3595         ::google::protobuf::internal::WireFormatLite::Int32Size(
3596           this->width());
3597     }
3598
3599   }
3600   // repeated float data = 5 [packed = true];
3601   {
3602     size_t data_size = 0;
3603     unsigned int count = this->data_size();
3604     data_size = 4UL * count;
3605     if (data_size > 0) {
3606       total_size += 1 +
3607         ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
3608     }
3609     int cached_size = ::google::protobuf::internal::ToCachedSize(data_size);
3610     GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3611     _data_cached_byte_size_ = cached_size;
3612     GOOGLE_SAFE_CONCURRENT_WRITES_END();
3613     total_size += data_size;
3614   }
3615
3616   // repeated float diff = 6 [packed = true];
3617   {
3618     size_t data_size = 0;
3619     unsigned int count = this->diff_size();
3620     data_size = 4UL * count;
3621     if (data_size > 0) {
3622       total_size += 1 +
3623         ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
3624     }
3625     int cached_size = ::google::protobuf::internal::ToCachedSize(data_size);
3626     GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3627     _diff_cached_byte_size_ = cached_size;
3628     GOOGLE_SAFE_CONCURRENT_WRITES_END();
3629     total_size += data_size;
3630   }
3631
3632   // repeated double double_data = 8 [packed = true];
3633   {
3634     size_t data_size = 0;
3635     unsigned int count = this->double_data_size();
3636     data_size = 8UL * count;
3637     if (data_size > 0) {
3638       total_size += 1 +
3639         ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
3640     }
3641     int cached_size = ::google::protobuf::internal::ToCachedSize(data_size);
3642     GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3643     _double_data_cached_byte_size_ = cached_size;
3644     GOOGLE_SAFE_CONCURRENT_WRITES_END();
3645     total_size += data_size;
3646   }
3647
3648   // repeated double double_diff = 9 [packed = true];
3649   {
3650     size_t data_size = 0;
3651     unsigned int count = this->double_diff_size();
3652     data_size = 8UL * count;
3653     if (data_size > 0) {
3654       total_size += 1 +
3655         ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
3656     }
3657     int cached_size = ::google::protobuf::internal::ToCachedSize(data_size);
3658     GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3659     _double_diff_cached_byte_size_ = cached_size;
3660     GOOGLE_SAFE_CONCURRENT_WRITES_END();
3661     total_size += data_size;
3662   }
3663
3664   if (_internal_metadata_.have_unknown_fields()) {
3665     total_size +=
3666       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
3667         unknown_fields());
3668   }
3669   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
3670   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3671   _cached_size_ = cached_size;
3672   GOOGLE_SAFE_CONCURRENT_WRITES_END();
3673   return total_size;
3674 }
3675
3676 void BlobProto::MergeFrom(const ::google::protobuf::Message& from) {
3677 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.BlobProto)
3678   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
3679   const BlobProto* source =
3680       ::google::protobuf::internal::DynamicCastToGenerated<const BlobProto>(
3681           &from);
3682   if (source == NULL) {
3683   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.BlobProto)
3684     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
3685   } else {
3686   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.BlobProto)
3687     UnsafeMergeFrom(*source);
3688   }
3689 }
3690
3691 void BlobProto::MergeFrom(const BlobProto& from) {
3692 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.BlobProto)
3693   if (GOOGLE_PREDICT_TRUE(&from != this)) {
3694     UnsafeMergeFrom(from);
3695   } else {
3696     MergeFromFail(__LINE__);
3697   }
3698 }
3699
3700 void BlobProto::UnsafeMergeFrom(const BlobProto& from) {
3701   GOOGLE_DCHECK(&from != this);
3702   data_.UnsafeMergeFrom(from.data_);
3703   diff_.UnsafeMergeFrom(from.diff_);
3704   double_data_.UnsafeMergeFrom(from.double_data_);
3705   double_diff_.UnsafeMergeFrom(from.double_diff_);
3706   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
3707     if (from.has_shape()) {
3708       mutable_shape()->::opencv_caffe::BlobShape::MergeFrom(from.shape());
3709     }
3710     if (from.has_raw_data_type()) {
3711       set_raw_data_type(from.raw_data_type());
3712     }
3713     if (from.has_raw_data()) {
3714       set_has_raw_data();
3715       raw_data_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.raw_data_);
3716     }
3717     if (from.has_num()) {
3718       set_num(from.num());
3719     }
3720   }
3721   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
3722     if (from.has_channels()) {
3723       set_channels(from.channels());
3724     }
3725     if (from.has_height()) {
3726       set_height(from.height());
3727     }
3728     if (from.has_width()) {
3729       set_width(from.width());
3730     }
3731   }
3732   if (from._internal_metadata_.have_unknown_fields()) {
3733     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
3734       from.unknown_fields(), &_internal_metadata_);
3735   }
3736 }
3737
3738 void BlobProto::CopyFrom(const ::google::protobuf::Message& from) {
3739 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.BlobProto)
3740   if (&from == this) return;
3741   Clear();
3742   MergeFrom(from);
3743 }
3744
3745 void BlobProto::CopyFrom(const BlobProto& from) {
3746 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.BlobProto)
3747   if (&from == this) return;
3748   Clear();
3749   UnsafeMergeFrom(from);
3750 }
3751
3752 bool BlobProto::IsInitialized() const {
3753
3754   return true;
3755 }
3756
3757 void BlobProto::Swap(BlobProto* other) {
3758   if (other == this) return;
3759   InternalSwap(other);
3760 }
3761 void BlobProto::InternalSwap(BlobProto* other) {
3762   std::swap(shape_, other->shape_);
3763   data_.UnsafeArenaSwap(&other->data_);
3764   diff_.UnsafeArenaSwap(&other->diff_);
3765   double_data_.UnsafeArenaSwap(&other->double_data_);
3766   double_diff_.UnsafeArenaSwap(&other->double_diff_);
3767   std::swap(raw_data_type_, other->raw_data_type_);
3768   raw_data_.Swap(&other->raw_data_);
3769   std::swap(num_, other->num_);
3770   std::swap(channels_, other->channels_);
3771   std::swap(height_, other->height_);
3772   std::swap(width_, other->width_);
3773   std::swap(_has_bits_[0], other->_has_bits_[0]);
3774   _internal_metadata_.Swap(&other->_internal_metadata_);
3775   std::swap(_cached_size_, other->_cached_size_);
3776 }
3777
3778 ::google::protobuf::Metadata BlobProto::GetMetadata() const {
3779   protobuf_AssignDescriptorsOnce();
3780   ::google::protobuf::Metadata metadata;
3781   metadata.descriptor = BlobProto_descriptor_;
3782   metadata.reflection = BlobProto_reflection_;
3783   return metadata;
3784 }
3785
3786 #if PROTOBUF_INLINE_NOT_IN_HEADERS
3787 // BlobProto
3788
3789 // optional .opencv_caffe.BlobShape shape = 7;
3790 bool BlobProto::has_shape() const {
3791   return (_has_bits_[0] & 0x00000001u) != 0;
3792 }
3793 void BlobProto::set_has_shape() {
3794   _has_bits_[0] |= 0x00000001u;
3795 }
3796 void BlobProto::clear_has_shape() {
3797   _has_bits_[0] &= ~0x00000001u;
3798 }
3799 void BlobProto::clear_shape() {
3800   if (shape_ != NULL) shape_->::opencv_caffe::BlobShape::Clear();
3801   clear_has_shape();
3802 }
3803 const ::opencv_caffe::BlobShape& BlobProto::shape() const {
3804   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.shape)
3805   return shape_ != NULL ? *shape_
3806                          : *::opencv_caffe::BlobShape::internal_default_instance();
3807 }
3808 ::opencv_caffe::BlobShape* BlobProto::mutable_shape() {
3809   set_has_shape();
3810   if (shape_ == NULL) {
3811     shape_ = new ::opencv_caffe::BlobShape;
3812   }
3813   // @@protoc_insertion_point(field_mutable:opencv_caffe.BlobProto.shape)
3814   return shape_;
3815 }
3816 ::opencv_caffe::BlobShape* BlobProto::release_shape() {
3817   // @@protoc_insertion_point(field_release:opencv_caffe.BlobProto.shape)
3818   clear_has_shape();
3819   ::opencv_caffe::BlobShape* temp = shape_;
3820   shape_ = NULL;
3821   return temp;
3822 }
3823 void BlobProto::set_allocated_shape(::opencv_caffe::BlobShape* shape) {
3824   delete shape_;
3825   shape_ = shape;
3826   if (shape) {
3827     set_has_shape();
3828   } else {
3829     clear_has_shape();
3830   }
3831   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.BlobProto.shape)
3832 }
3833
3834 // repeated float data = 5 [packed = true];
3835 int BlobProto::data_size() const {
3836   return data_.size();
3837 }
3838 void BlobProto::clear_data() {
3839   data_.Clear();
3840 }
3841 float BlobProto::data(int index) const {
3842   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.data)
3843   return data_.Get(index);
3844 }
3845 void BlobProto::set_data(int index, float value) {
3846   data_.Set(index, value);
3847   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.data)
3848 }
3849 void BlobProto::add_data(float value) {
3850   data_.Add(value);
3851   // @@protoc_insertion_point(field_add:opencv_caffe.BlobProto.data)
3852 }
3853 const ::google::protobuf::RepeatedField< float >&
3854 BlobProto::data() const {
3855   // @@protoc_insertion_point(field_list:opencv_caffe.BlobProto.data)
3856   return data_;
3857 }
3858 ::google::protobuf::RepeatedField< float >*
3859 BlobProto::mutable_data() {
3860   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobProto.data)
3861   return &data_;
3862 }
3863
3864 // repeated float diff = 6 [packed = true];
3865 int BlobProto::diff_size() const {
3866   return diff_.size();
3867 }
3868 void BlobProto::clear_diff() {
3869   diff_.Clear();
3870 }
3871 float BlobProto::diff(int index) const {
3872   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.diff)
3873   return diff_.Get(index);
3874 }
3875 void BlobProto::set_diff(int index, float value) {
3876   diff_.Set(index, value);
3877   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.diff)
3878 }
3879 void BlobProto::add_diff(float value) {
3880   diff_.Add(value);
3881   // @@protoc_insertion_point(field_add:opencv_caffe.BlobProto.diff)
3882 }
3883 const ::google::protobuf::RepeatedField< float >&
3884 BlobProto::diff() const {
3885   // @@protoc_insertion_point(field_list:opencv_caffe.BlobProto.diff)
3886   return diff_;
3887 }
3888 ::google::protobuf::RepeatedField< float >*
3889 BlobProto::mutable_diff() {
3890   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobProto.diff)
3891   return &diff_;
3892 }
3893
3894 // repeated double double_data = 8 [packed = true];
3895 int BlobProto::double_data_size() const {
3896   return double_data_.size();
3897 }
3898 void BlobProto::clear_double_data() {
3899   double_data_.Clear();
3900 }
3901 double BlobProto::double_data(int index) const {
3902   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.double_data)
3903   return double_data_.Get(index);
3904 }
3905 void BlobProto::set_double_data(int index, double value) {
3906   double_data_.Set(index, value);
3907   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.double_data)
3908 }
3909 void BlobProto::add_double_data(double value) {
3910   double_data_.Add(value);
3911   // @@protoc_insertion_point(field_add:opencv_caffe.BlobProto.double_data)
3912 }
3913 const ::google::protobuf::RepeatedField< double >&
3914 BlobProto::double_data() const {
3915   // @@protoc_insertion_point(field_list:opencv_caffe.BlobProto.double_data)
3916   return double_data_;
3917 }
3918 ::google::protobuf::RepeatedField< double >*
3919 BlobProto::mutable_double_data() {
3920   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobProto.double_data)
3921   return &double_data_;
3922 }
3923
3924 // repeated double double_diff = 9 [packed = true];
3925 int BlobProto::double_diff_size() const {
3926   return double_diff_.size();
3927 }
3928 void BlobProto::clear_double_diff() {
3929   double_diff_.Clear();
3930 }
3931 double BlobProto::double_diff(int index) const {
3932   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.double_diff)
3933   return double_diff_.Get(index);
3934 }
3935 void BlobProto::set_double_diff(int index, double value) {
3936   double_diff_.Set(index, value);
3937   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.double_diff)
3938 }
3939 void BlobProto::add_double_diff(double value) {
3940   double_diff_.Add(value);
3941   // @@protoc_insertion_point(field_add:opencv_caffe.BlobProto.double_diff)
3942 }
3943 const ::google::protobuf::RepeatedField< double >&
3944 BlobProto::double_diff() const {
3945   // @@protoc_insertion_point(field_list:opencv_caffe.BlobProto.double_diff)
3946   return double_diff_;
3947 }
3948 ::google::protobuf::RepeatedField< double >*
3949 BlobProto::mutable_double_diff() {
3950   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobProto.double_diff)
3951   return &double_diff_;
3952 }
3953
3954 // optional .opencv_caffe.Type raw_data_type = 10;
3955 bool BlobProto::has_raw_data_type() const {
3956   return (_has_bits_[0] & 0x00000020u) != 0;
3957 }
3958 void BlobProto::set_has_raw_data_type() {
3959   _has_bits_[0] |= 0x00000020u;
3960 }
3961 void BlobProto::clear_has_raw_data_type() {
3962   _has_bits_[0] &= ~0x00000020u;
3963 }
3964 void BlobProto::clear_raw_data_type() {
3965   raw_data_type_ = 0;
3966   clear_has_raw_data_type();
3967 }
3968 ::opencv_caffe::Type BlobProto::raw_data_type() const {
3969   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.raw_data_type)
3970   return static_cast< ::opencv_caffe::Type >(raw_data_type_);
3971 }
3972 void BlobProto::set_raw_data_type(::opencv_caffe::Type value) {
3973   assert(::opencv_caffe::Type_IsValid(value));
3974   set_has_raw_data_type();
3975   raw_data_type_ = value;
3976   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.raw_data_type)
3977 }
3978
3979 // optional bytes raw_data = 12 [packed = false];
3980 bool BlobProto::has_raw_data() const {
3981   return (_has_bits_[0] & 0x00000040u) != 0;
3982 }
3983 void BlobProto::set_has_raw_data() {
3984   _has_bits_[0] |= 0x00000040u;
3985 }
3986 void BlobProto::clear_has_raw_data() {
3987   _has_bits_[0] &= ~0x00000040u;
3988 }
3989 void BlobProto::clear_raw_data() {
3990   raw_data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
3991   clear_has_raw_data();
3992 }
3993 const ::std::string& BlobProto::raw_data() const {
3994   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.raw_data)
3995   return raw_data_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
3996 }
3997 void BlobProto::set_raw_data(const ::std::string& value) {
3998   set_has_raw_data();
3999   raw_data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
4000   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.raw_data)
4001 }
4002 void BlobProto::set_raw_data(const char* value) {
4003   set_has_raw_data();
4004   raw_data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
4005   // @@protoc_insertion_point(field_set_char:opencv_caffe.BlobProto.raw_data)
4006 }
4007 void BlobProto::set_raw_data(const void* value, size_t size) {
4008   set_has_raw_data();
4009   raw_data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
4010       ::std::string(reinterpret_cast<const char*>(value), size));
4011   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.BlobProto.raw_data)
4012 }
4013 ::std::string* BlobProto::mutable_raw_data() {
4014   set_has_raw_data();
4015   // @@protoc_insertion_point(field_mutable:opencv_caffe.BlobProto.raw_data)
4016   return raw_data_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
4017 }
4018 ::std::string* BlobProto::release_raw_data() {
4019   // @@protoc_insertion_point(field_release:opencv_caffe.BlobProto.raw_data)
4020   clear_has_raw_data();
4021   return raw_data_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
4022 }
4023 void BlobProto::set_allocated_raw_data(::std::string* raw_data) {
4024   if (raw_data != NULL) {
4025     set_has_raw_data();
4026   } else {
4027     clear_has_raw_data();
4028   }
4029   raw_data_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), raw_data);
4030   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.BlobProto.raw_data)
4031 }
4032
4033 // optional int32 num = 1 [default = 0];
4034 bool BlobProto::has_num() const {
4035   return (_has_bits_[0] & 0x00000080u) != 0;
4036 }
4037 void BlobProto::set_has_num() {
4038   _has_bits_[0] |= 0x00000080u;
4039 }
4040 void BlobProto::clear_has_num() {
4041   _has_bits_[0] &= ~0x00000080u;
4042 }
4043 void BlobProto::clear_num() {
4044   num_ = 0;
4045   clear_has_num();
4046 }
4047 ::google::protobuf::int32 BlobProto::num() const {
4048   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.num)
4049   return num_;
4050 }
4051 void BlobProto::set_num(::google::protobuf::int32 value) {
4052   set_has_num();
4053   num_ = value;
4054   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.num)
4055 }
4056
4057 // optional int32 channels = 2 [default = 0];
4058 bool BlobProto::has_channels() const {
4059   return (_has_bits_[0] & 0x00000100u) != 0;
4060 }
4061 void BlobProto::set_has_channels() {
4062   _has_bits_[0] |= 0x00000100u;
4063 }
4064 void BlobProto::clear_has_channels() {
4065   _has_bits_[0] &= ~0x00000100u;
4066 }
4067 void BlobProto::clear_channels() {
4068   channels_ = 0;
4069   clear_has_channels();
4070 }
4071 ::google::protobuf::int32 BlobProto::channels() const {
4072   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.channels)
4073   return channels_;
4074 }
4075 void BlobProto::set_channels(::google::protobuf::int32 value) {
4076   set_has_channels();
4077   channels_ = value;
4078   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.channels)
4079 }
4080
4081 // optional int32 height = 3 [default = 0];
4082 bool BlobProto::has_height() const {
4083   return (_has_bits_[0] & 0x00000200u) != 0;
4084 }
4085 void BlobProto::set_has_height() {
4086   _has_bits_[0] |= 0x00000200u;
4087 }
4088 void BlobProto::clear_has_height() {
4089   _has_bits_[0] &= ~0x00000200u;
4090 }
4091 void BlobProto::clear_height() {
4092   height_ = 0;
4093   clear_has_height();
4094 }
4095 ::google::protobuf::int32 BlobProto::height() const {
4096   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.height)
4097   return height_;
4098 }
4099 void BlobProto::set_height(::google::protobuf::int32 value) {
4100   set_has_height();
4101   height_ = value;
4102   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.height)
4103 }
4104
4105 // optional int32 width = 4 [default = 0];
4106 bool BlobProto::has_width() const {
4107   return (_has_bits_[0] & 0x00000400u) != 0;
4108 }
4109 void BlobProto::set_has_width() {
4110   _has_bits_[0] |= 0x00000400u;
4111 }
4112 void BlobProto::clear_has_width() {
4113   _has_bits_[0] &= ~0x00000400u;
4114 }
4115 void BlobProto::clear_width() {
4116   width_ = 0;
4117   clear_has_width();
4118 }
4119 ::google::protobuf::int32 BlobProto::width() const {
4120   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.width)
4121   return width_;
4122 }
4123 void BlobProto::set_width(::google::protobuf::int32 value) {
4124   set_has_width();
4125   width_ = value;
4126   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.width)
4127 }
4128
4129 inline const BlobProto* BlobProto::internal_default_instance() {
4130   return &BlobProto_default_instance_.get();
4131 }
4132 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
4133
4134 // ===================================================================
4135
4136 #if !defined(_MSC_VER) || _MSC_VER >= 1900
4137 const int BlobProtoVector::kBlobsFieldNumber;
4138 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
4139
4140 BlobProtoVector::BlobProtoVector()
4141   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
4142   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
4143   SharedCtor();
4144   // @@protoc_insertion_point(constructor:opencv_caffe.BlobProtoVector)
4145 }
4146
4147 void BlobProtoVector::InitAsDefaultInstance() {
4148 }
4149
4150 BlobProtoVector::BlobProtoVector(const BlobProtoVector& from)
4151   : ::google::protobuf::Message(),
4152     _internal_metadata_(NULL) {
4153   SharedCtor();
4154   UnsafeMergeFrom(from);
4155   // @@protoc_insertion_point(copy_constructor:opencv_caffe.BlobProtoVector)
4156 }
4157
4158 void BlobProtoVector::SharedCtor() {
4159   _cached_size_ = 0;
4160 }
4161
4162 BlobProtoVector::~BlobProtoVector() {
4163   // @@protoc_insertion_point(destructor:opencv_caffe.BlobProtoVector)
4164   SharedDtor();
4165 }
4166
4167 void BlobProtoVector::SharedDtor() {
4168 }
4169
4170 void BlobProtoVector::SetCachedSize(int size) const {
4171   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
4172   _cached_size_ = size;
4173   GOOGLE_SAFE_CONCURRENT_WRITES_END();
4174 }
4175 const ::google::protobuf::Descriptor* BlobProtoVector::descriptor() {
4176   protobuf_AssignDescriptorsOnce();
4177   return BlobProtoVector_descriptor_;
4178 }
4179
4180 const BlobProtoVector& BlobProtoVector::default_instance() {
4181   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
4182   return *internal_default_instance();
4183 }
4184
4185 ::google::protobuf::internal::ExplicitlyConstructed<BlobProtoVector> BlobProtoVector_default_instance_;
4186
4187 BlobProtoVector* BlobProtoVector::New(::google::protobuf::Arena* arena) const {
4188   BlobProtoVector* n = new BlobProtoVector;
4189   if (arena != NULL) {
4190     arena->Own(n);
4191   }
4192   return n;
4193 }
4194
4195 void BlobProtoVector::Clear() {
4196 // @@protoc_insertion_point(message_clear_start:opencv_caffe.BlobProtoVector)
4197   blobs_.Clear();
4198   _has_bits_.Clear();
4199   if (_internal_metadata_.have_unknown_fields()) {
4200     mutable_unknown_fields()->Clear();
4201   }
4202 }
4203
4204 bool BlobProtoVector::MergePartialFromCodedStream(
4205     ::google::protobuf::io::CodedInputStream* input) {
4206 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
4207   ::google::protobuf::uint32 tag;
4208   // @@protoc_insertion_point(parse_start:opencv_caffe.BlobProtoVector)
4209   for (;;) {
4210     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
4211     tag = p.first;
4212     if (!p.second) goto handle_unusual;
4213     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
4214       // repeated .opencv_caffe.BlobProto blobs = 1;
4215       case 1: {
4216         if (tag == 10) {
4217           DO_(input->IncrementRecursionDepth());
4218          parse_loop_blobs:
4219           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
4220                 input, add_blobs()));
4221         } else {
4222           goto handle_unusual;
4223         }
4224         if (input->ExpectTag(10)) goto parse_loop_blobs;
4225         input->UnsafeDecrementRecursionDepth();
4226         if (input->ExpectAtEnd()) goto success;
4227         break;
4228       }
4229
4230       default: {
4231       handle_unusual:
4232         if (tag == 0 ||
4233             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4234             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
4235           goto success;
4236         }
4237         DO_(::google::protobuf::internal::WireFormat::SkipField(
4238               input, tag, mutable_unknown_fields()));
4239         break;
4240       }
4241     }
4242   }
4243 success:
4244   // @@protoc_insertion_point(parse_success:opencv_caffe.BlobProtoVector)
4245   return true;
4246 failure:
4247   // @@protoc_insertion_point(parse_failure:opencv_caffe.BlobProtoVector)
4248   return false;
4249 #undef DO_
4250 }
4251
4252 void BlobProtoVector::SerializeWithCachedSizes(
4253     ::google::protobuf::io::CodedOutputStream* output) const {
4254   // @@protoc_insertion_point(serialize_start:opencv_caffe.BlobProtoVector)
4255   // repeated .opencv_caffe.BlobProto blobs = 1;
4256   for (unsigned int i = 0, n = this->blobs_size(); i < n; i++) {
4257     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
4258       1, this->blobs(i), output);
4259   }
4260
4261   if (_internal_metadata_.have_unknown_fields()) {
4262     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
4263         unknown_fields(), output);
4264   }
4265   // @@protoc_insertion_point(serialize_end:opencv_caffe.BlobProtoVector)
4266 }
4267
4268 ::google::protobuf::uint8* BlobProtoVector::InternalSerializeWithCachedSizesToArray(
4269     bool deterministic, ::google::protobuf::uint8* target) const {
4270   (void)deterministic; // Unused
4271   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.BlobProtoVector)
4272   // repeated .opencv_caffe.BlobProto blobs = 1;
4273   for (unsigned int i = 0, n = this->blobs_size(); i < n; i++) {
4274     target = ::google::protobuf::internal::WireFormatLite::
4275       InternalWriteMessageNoVirtualToArray(
4276         1, this->blobs(i), false, target);
4277   }
4278
4279   if (_internal_metadata_.have_unknown_fields()) {
4280     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
4281         unknown_fields(), target);
4282   }
4283   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.BlobProtoVector)
4284   return target;
4285 }
4286
4287 size_t BlobProtoVector::ByteSizeLong() const {
4288 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.BlobProtoVector)
4289   size_t total_size = 0;
4290
4291   // repeated .opencv_caffe.BlobProto blobs = 1;
4292   {
4293     unsigned int count = this->blobs_size();
4294     total_size += 1UL * count;
4295     for (unsigned int i = 0; i < count; i++) {
4296       total_size +=
4297         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
4298           this->blobs(i));
4299     }
4300   }
4301
4302   if (_internal_metadata_.have_unknown_fields()) {
4303     total_size +=
4304       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
4305         unknown_fields());
4306   }
4307   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
4308   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
4309   _cached_size_ = cached_size;
4310   GOOGLE_SAFE_CONCURRENT_WRITES_END();
4311   return total_size;
4312 }
4313
4314 void BlobProtoVector::MergeFrom(const ::google::protobuf::Message& from) {
4315 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.BlobProtoVector)
4316   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
4317   const BlobProtoVector* source =
4318       ::google::protobuf::internal::DynamicCastToGenerated<const BlobProtoVector>(
4319           &from);
4320   if (source == NULL) {
4321   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.BlobProtoVector)
4322     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
4323   } else {
4324   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.BlobProtoVector)
4325     UnsafeMergeFrom(*source);
4326   }
4327 }
4328
4329 void BlobProtoVector::MergeFrom(const BlobProtoVector& from) {
4330 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.BlobProtoVector)
4331   if (GOOGLE_PREDICT_TRUE(&from != this)) {
4332     UnsafeMergeFrom(from);
4333   } else {
4334     MergeFromFail(__LINE__);
4335   }
4336 }
4337
4338 void BlobProtoVector::UnsafeMergeFrom(const BlobProtoVector& from) {
4339   GOOGLE_DCHECK(&from != this);
4340   blobs_.MergeFrom(from.blobs_);
4341   if (from._internal_metadata_.have_unknown_fields()) {
4342     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
4343       from.unknown_fields(), &_internal_metadata_);
4344   }
4345 }
4346
4347 void BlobProtoVector::CopyFrom(const ::google::protobuf::Message& from) {
4348 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.BlobProtoVector)
4349   if (&from == this) return;
4350   Clear();
4351   MergeFrom(from);
4352 }
4353
4354 void BlobProtoVector::CopyFrom(const BlobProtoVector& from) {
4355 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.BlobProtoVector)
4356   if (&from == this) return;
4357   Clear();
4358   UnsafeMergeFrom(from);
4359 }
4360
4361 bool BlobProtoVector::IsInitialized() const {
4362
4363   return true;
4364 }
4365
4366 void BlobProtoVector::Swap(BlobProtoVector* other) {
4367   if (other == this) return;
4368   InternalSwap(other);
4369 }
4370 void BlobProtoVector::InternalSwap(BlobProtoVector* other) {
4371   blobs_.UnsafeArenaSwap(&other->blobs_);
4372   std::swap(_has_bits_[0], other->_has_bits_[0]);
4373   _internal_metadata_.Swap(&other->_internal_metadata_);
4374   std::swap(_cached_size_, other->_cached_size_);
4375 }
4376
4377 ::google::protobuf::Metadata BlobProtoVector::GetMetadata() const {
4378   protobuf_AssignDescriptorsOnce();
4379   ::google::protobuf::Metadata metadata;
4380   metadata.descriptor = BlobProtoVector_descriptor_;
4381   metadata.reflection = BlobProtoVector_reflection_;
4382   return metadata;
4383 }
4384
4385 #if PROTOBUF_INLINE_NOT_IN_HEADERS
4386 // BlobProtoVector
4387
4388 // repeated .opencv_caffe.BlobProto blobs = 1;
4389 int BlobProtoVector::blobs_size() const {
4390   return blobs_.size();
4391 }
4392 void BlobProtoVector::clear_blobs() {
4393   blobs_.Clear();
4394 }
4395 const ::opencv_caffe::BlobProto& BlobProtoVector::blobs(int index) const {
4396   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProtoVector.blobs)
4397   return blobs_.Get(index);
4398 }
4399 ::opencv_caffe::BlobProto* BlobProtoVector::mutable_blobs(int index) {
4400   // @@protoc_insertion_point(field_mutable:opencv_caffe.BlobProtoVector.blobs)
4401   return blobs_.Mutable(index);
4402 }
4403 ::opencv_caffe::BlobProto* BlobProtoVector::add_blobs() {
4404   // @@protoc_insertion_point(field_add:opencv_caffe.BlobProtoVector.blobs)
4405   return blobs_.Add();
4406 }
4407 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
4408 BlobProtoVector::mutable_blobs() {
4409   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobProtoVector.blobs)
4410   return &blobs_;
4411 }
4412 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
4413 BlobProtoVector::blobs() const {
4414   // @@protoc_insertion_point(field_list:opencv_caffe.BlobProtoVector.blobs)
4415   return blobs_;
4416 }
4417
4418 inline const BlobProtoVector* BlobProtoVector::internal_default_instance() {
4419   return &BlobProtoVector_default_instance_.get();
4420 }
4421 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
4422
4423 // ===================================================================
4424
4425 #if !defined(_MSC_VER) || _MSC_VER >= 1900
4426 const int PermuteParameter::kOrderFieldNumber;
4427 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
4428
4429 PermuteParameter::PermuteParameter()
4430   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
4431   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
4432   SharedCtor();
4433   // @@protoc_insertion_point(constructor:opencv_caffe.PermuteParameter)
4434 }
4435
4436 void PermuteParameter::InitAsDefaultInstance() {
4437 }
4438
4439 PermuteParameter::PermuteParameter(const PermuteParameter& from)
4440   : ::google::protobuf::Message(),
4441     _internal_metadata_(NULL) {
4442   SharedCtor();
4443   UnsafeMergeFrom(from);
4444   // @@protoc_insertion_point(copy_constructor:opencv_caffe.PermuteParameter)
4445 }
4446
4447 void PermuteParameter::SharedCtor() {
4448   _cached_size_ = 0;
4449 }
4450
4451 PermuteParameter::~PermuteParameter() {
4452   // @@protoc_insertion_point(destructor:opencv_caffe.PermuteParameter)
4453   SharedDtor();
4454 }
4455
4456 void PermuteParameter::SharedDtor() {
4457 }
4458
4459 void PermuteParameter::SetCachedSize(int size) const {
4460   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
4461   _cached_size_ = size;
4462   GOOGLE_SAFE_CONCURRENT_WRITES_END();
4463 }
4464 const ::google::protobuf::Descriptor* PermuteParameter::descriptor() {
4465   protobuf_AssignDescriptorsOnce();
4466   return PermuteParameter_descriptor_;
4467 }
4468
4469 const PermuteParameter& PermuteParameter::default_instance() {
4470   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
4471   return *internal_default_instance();
4472 }
4473
4474 ::google::protobuf::internal::ExplicitlyConstructed<PermuteParameter> PermuteParameter_default_instance_;
4475
4476 PermuteParameter* PermuteParameter::New(::google::protobuf::Arena* arena) const {
4477   PermuteParameter* n = new PermuteParameter;
4478   if (arena != NULL) {
4479     arena->Own(n);
4480   }
4481   return n;
4482 }
4483
4484 void PermuteParameter::Clear() {
4485 // @@protoc_insertion_point(message_clear_start:opencv_caffe.PermuteParameter)
4486   order_.Clear();
4487   _has_bits_.Clear();
4488   if (_internal_metadata_.have_unknown_fields()) {
4489     mutable_unknown_fields()->Clear();
4490   }
4491 }
4492
4493 bool PermuteParameter::MergePartialFromCodedStream(
4494     ::google::protobuf::io::CodedInputStream* input) {
4495 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
4496   ::google::protobuf::uint32 tag;
4497   // @@protoc_insertion_point(parse_start:opencv_caffe.PermuteParameter)
4498   for (;;) {
4499     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
4500     tag = p.first;
4501     if (!p.second) goto handle_unusual;
4502     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
4503       // repeated uint32 order = 1;
4504       case 1: {
4505         if (tag == 8) {
4506          parse_order:
4507           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
4508                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
4509                  1, 8, input, this->mutable_order())));
4510         } else if (tag == 10) {
4511           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
4512                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
4513                  input, this->mutable_order())));
4514         } else {
4515           goto handle_unusual;
4516         }
4517         if (input->ExpectTag(8)) goto parse_order;
4518         if (input->ExpectAtEnd()) goto success;
4519         break;
4520       }
4521
4522       default: {
4523       handle_unusual:
4524         if (tag == 0 ||
4525             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4526             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
4527           goto success;
4528         }
4529         DO_(::google::protobuf::internal::WireFormat::SkipField(
4530               input, tag, mutable_unknown_fields()));
4531         break;
4532       }
4533     }
4534   }
4535 success:
4536   // @@protoc_insertion_point(parse_success:opencv_caffe.PermuteParameter)
4537   return true;
4538 failure:
4539   // @@protoc_insertion_point(parse_failure:opencv_caffe.PermuteParameter)
4540   return false;
4541 #undef DO_
4542 }
4543
4544 void PermuteParameter::SerializeWithCachedSizes(
4545     ::google::protobuf::io::CodedOutputStream* output) const {
4546   // @@protoc_insertion_point(serialize_start:opencv_caffe.PermuteParameter)
4547   // repeated uint32 order = 1;
4548   for (int i = 0; i < this->order_size(); i++) {
4549     ::google::protobuf::internal::WireFormatLite::WriteUInt32(
4550       1, this->order(i), output);
4551   }
4552
4553   if (_internal_metadata_.have_unknown_fields()) {
4554     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
4555         unknown_fields(), output);
4556   }
4557   // @@protoc_insertion_point(serialize_end:opencv_caffe.PermuteParameter)
4558 }
4559
4560 ::google::protobuf::uint8* PermuteParameter::InternalSerializeWithCachedSizesToArray(
4561     bool deterministic, ::google::protobuf::uint8* target) const {
4562   (void)deterministic; // Unused
4563   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.PermuteParameter)
4564   // repeated uint32 order = 1;
4565   for (int i = 0; i < this->order_size(); i++) {
4566     target = ::google::protobuf::internal::WireFormatLite::
4567       WriteUInt32ToArray(1, this->order(i), target);
4568   }
4569
4570   if (_internal_metadata_.have_unknown_fields()) {
4571     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
4572         unknown_fields(), target);
4573   }
4574   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.PermuteParameter)
4575   return target;
4576 }
4577
4578 size_t PermuteParameter::ByteSizeLong() const {
4579 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.PermuteParameter)
4580   size_t total_size = 0;
4581
4582   // repeated uint32 order = 1;
4583   {
4584     size_t data_size = 0;
4585     unsigned int count = this->order_size();
4586     for (unsigned int i = 0; i < count; i++) {
4587       data_size += ::google::protobuf::internal::WireFormatLite::
4588         UInt32Size(this->order(i));
4589     }
4590     total_size += 1 *
4591                   ::google::protobuf::internal::FromIntSize(this->order_size());
4592     total_size += data_size;
4593   }
4594
4595   if (_internal_metadata_.have_unknown_fields()) {
4596     total_size +=
4597       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
4598         unknown_fields());
4599   }
4600   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
4601   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
4602   _cached_size_ = cached_size;
4603   GOOGLE_SAFE_CONCURRENT_WRITES_END();
4604   return total_size;
4605 }
4606
4607 void PermuteParameter::MergeFrom(const ::google::protobuf::Message& from) {
4608 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.PermuteParameter)
4609   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
4610   const PermuteParameter* source =
4611       ::google::protobuf::internal::DynamicCastToGenerated<const PermuteParameter>(
4612           &from);
4613   if (source == NULL) {
4614   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.PermuteParameter)
4615     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
4616   } else {
4617   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.PermuteParameter)
4618     UnsafeMergeFrom(*source);
4619   }
4620 }
4621
4622 void PermuteParameter::MergeFrom(const PermuteParameter& from) {
4623 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.PermuteParameter)
4624   if (GOOGLE_PREDICT_TRUE(&from != this)) {
4625     UnsafeMergeFrom(from);
4626   } else {
4627     MergeFromFail(__LINE__);
4628   }
4629 }
4630
4631 void PermuteParameter::UnsafeMergeFrom(const PermuteParameter& from) {
4632   GOOGLE_DCHECK(&from != this);
4633   order_.UnsafeMergeFrom(from.order_);
4634   if (from._internal_metadata_.have_unknown_fields()) {
4635     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
4636       from.unknown_fields(), &_internal_metadata_);
4637   }
4638 }
4639
4640 void PermuteParameter::CopyFrom(const ::google::protobuf::Message& from) {
4641 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.PermuteParameter)
4642   if (&from == this) return;
4643   Clear();
4644   MergeFrom(from);
4645 }
4646
4647 void PermuteParameter::CopyFrom(const PermuteParameter& from) {
4648 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.PermuteParameter)
4649   if (&from == this) return;
4650   Clear();
4651   UnsafeMergeFrom(from);
4652 }
4653
4654 bool PermuteParameter::IsInitialized() const {
4655
4656   return true;
4657 }
4658
4659 void PermuteParameter::Swap(PermuteParameter* other) {
4660   if (other == this) return;
4661   InternalSwap(other);
4662 }
4663 void PermuteParameter::InternalSwap(PermuteParameter* other) {
4664   order_.UnsafeArenaSwap(&other->order_);
4665   std::swap(_has_bits_[0], other->_has_bits_[0]);
4666   _internal_metadata_.Swap(&other->_internal_metadata_);
4667   std::swap(_cached_size_, other->_cached_size_);
4668 }
4669
4670 ::google::protobuf::Metadata PermuteParameter::GetMetadata() const {
4671   protobuf_AssignDescriptorsOnce();
4672   ::google::protobuf::Metadata metadata;
4673   metadata.descriptor = PermuteParameter_descriptor_;
4674   metadata.reflection = PermuteParameter_reflection_;
4675   return metadata;
4676 }
4677
4678 #if PROTOBUF_INLINE_NOT_IN_HEADERS
4679 // PermuteParameter
4680
4681 // repeated uint32 order = 1;
4682 int PermuteParameter::order_size() const {
4683   return order_.size();
4684 }
4685 void PermuteParameter::clear_order() {
4686   order_.Clear();
4687 }
4688 ::google::protobuf::uint32 PermuteParameter::order(int index) const {
4689   // @@protoc_insertion_point(field_get:opencv_caffe.PermuteParameter.order)
4690   return order_.Get(index);
4691 }
4692 void PermuteParameter::set_order(int index, ::google::protobuf::uint32 value) {
4693   order_.Set(index, value);
4694   // @@protoc_insertion_point(field_set:opencv_caffe.PermuteParameter.order)
4695 }
4696 void PermuteParameter::add_order(::google::protobuf::uint32 value) {
4697   order_.Add(value);
4698   // @@protoc_insertion_point(field_add:opencv_caffe.PermuteParameter.order)
4699 }
4700 const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
4701 PermuteParameter::order() const {
4702   // @@protoc_insertion_point(field_list:opencv_caffe.PermuteParameter.order)
4703   return order_;
4704 }
4705 ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
4706 PermuteParameter::mutable_order() {
4707   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PermuteParameter.order)
4708   return &order_;
4709 }
4710
4711 inline const PermuteParameter* PermuteParameter::internal_default_instance() {
4712   return &PermuteParameter_default_instance_.get();
4713 }
4714 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
4715
4716 // ===================================================================
4717
4718 #if !defined(_MSC_VER) || _MSC_VER >= 1900
4719 const int NormalizeBBoxParameter::kAcrossSpatialFieldNumber;
4720 const int NormalizeBBoxParameter::kScaleFillerFieldNumber;
4721 const int NormalizeBBoxParameter::kChannelSharedFieldNumber;
4722 const int NormalizeBBoxParameter::kEpsFieldNumber;
4723 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
4724
4725 NormalizeBBoxParameter::NormalizeBBoxParameter()
4726   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
4727   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
4728   SharedCtor();
4729   // @@protoc_insertion_point(constructor:opencv_caffe.NormalizeBBoxParameter)
4730 }
4731
4732 void NormalizeBBoxParameter::InitAsDefaultInstance() {
4733   scale_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
4734       ::opencv_caffe::FillerParameter::internal_default_instance());
4735 }
4736
4737 NormalizeBBoxParameter::NormalizeBBoxParameter(const NormalizeBBoxParameter& from)
4738   : ::google::protobuf::Message(),
4739     _internal_metadata_(NULL) {
4740   SharedCtor();
4741   UnsafeMergeFrom(from);
4742   // @@protoc_insertion_point(copy_constructor:opencv_caffe.NormalizeBBoxParameter)
4743 }
4744
4745 void NormalizeBBoxParameter::SharedCtor() {
4746   _cached_size_ = 0;
4747   scale_filler_ = NULL;
4748   across_spatial_ = true;
4749   channel_shared_ = true;
4750   eps_ = 1e-10f;
4751 }
4752
4753 NormalizeBBoxParameter::~NormalizeBBoxParameter() {
4754   // @@protoc_insertion_point(destructor:opencv_caffe.NormalizeBBoxParameter)
4755   SharedDtor();
4756 }
4757
4758 void NormalizeBBoxParameter::SharedDtor() {
4759   if (this != &NormalizeBBoxParameter_default_instance_.get()) {
4760     delete scale_filler_;
4761   }
4762 }
4763
4764 void NormalizeBBoxParameter::SetCachedSize(int size) const {
4765   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
4766   _cached_size_ = size;
4767   GOOGLE_SAFE_CONCURRENT_WRITES_END();
4768 }
4769 const ::google::protobuf::Descriptor* NormalizeBBoxParameter::descriptor() {
4770   protobuf_AssignDescriptorsOnce();
4771   return NormalizeBBoxParameter_descriptor_;
4772 }
4773
4774 const NormalizeBBoxParameter& NormalizeBBoxParameter::default_instance() {
4775   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
4776   return *internal_default_instance();
4777 }
4778
4779 ::google::protobuf::internal::ExplicitlyConstructed<NormalizeBBoxParameter> NormalizeBBoxParameter_default_instance_;
4780
4781 NormalizeBBoxParameter* NormalizeBBoxParameter::New(::google::protobuf::Arena* arena) const {
4782   NormalizeBBoxParameter* n = new NormalizeBBoxParameter;
4783   if (arena != NULL) {
4784     arena->Own(n);
4785   }
4786   return n;
4787 }
4788
4789 void NormalizeBBoxParameter::Clear() {
4790 // @@protoc_insertion_point(message_clear_start:opencv_caffe.NormalizeBBoxParameter)
4791   if (_has_bits_[0 / 32] & 15u) {
4792     across_spatial_ = true;
4793     if (has_scale_filler()) {
4794       if (scale_filler_ != NULL) scale_filler_->::opencv_caffe::FillerParameter::Clear();
4795     }
4796     channel_shared_ = true;
4797     eps_ = 1e-10f;
4798   }
4799   _has_bits_.Clear();
4800   if (_internal_metadata_.have_unknown_fields()) {
4801     mutable_unknown_fields()->Clear();
4802   }
4803 }
4804
4805 bool NormalizeBBoxParameter::MergePartialFromCodedStream(
4806     ::google::protobuf::io::CodedInputStream* input) {
4807 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
4808   ::google::protobuf::uint32 tag;
4809   // @@protoc_insertion_point(parse_start:opencv_caffe.NormalizeBBoxParameter)
4810   for (;;) {
4811     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
4812     tag = p.first;
4813     if (!p.second) goto handle_unusual;
4814     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
4815       // optional bool across_spatial = 1 [default = true];
4816       case 1: {
4817         if (tag == 8) {
4818           set_has_across_spatial();
4819           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
4820                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
4821                  input, &across_spatial_)));
4822         } else {
4823           goto handle_unusual;
4824         }
4825         if (input->ExpectTag(18)) goto parse_scale_filler;
4826         break;
4827       }
4828
4829       // optional .opencv_caffe.FillerParameter scale_filler = 2;
4830       case 2: {
4831         if (tag == 18) {
4832          parse_scale_filler:
4833           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
4834                input, mutable_scale_filler()));
4835         } else {
4836           goto handle_unusual;
4837         }
4838         if (input->ExpectTag(24)) goto parse_channel_shared;
4839         break;
4840       }
4841
4842       // optional bool channel_shared = 3 [default = true];
4843       case 3: {
4844         if (tag == 24) {
4845          parse_channel_shared:
4846           set_has_channel_shared();
4847           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
4848                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
4849                  input, &channel_shared_)));
4850         } else {
4851           goto handle_unusual;
4852         }
4853         if (input->ExpectTag(37)) goto parse_eps;
4854         break;
4855       }
4856
4857       // optional float eps = 4 [default = 1e-10];
4858       case 4: {
4859         if (tag == 37) {
4860          parse_eps:
4861           set_has_eps();
4862           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
4863                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
4864                  input, &eps_)));
4865         } else {
4866           goto handle_unusual;
4867         }
4868         if (input->ExpectAtEnd()) goto success;
4869         break;
4870       }
4871
4872       default: {
4873       handle_unusual:
4874         if (tag == 0 ||
4875             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4876             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
4877           goto success;
4878         }
4879         DO_(::google::protobuf::internal::WireFormat::SkipField(
4880               input, tag, mutable_unknown_fields()));
4881         break;
4882       }
4883     }
4884   }
4885 success:
4886   // @@protoc_insertion_point(parse_success:opencv_caffe.NormalizeBBoxParameter)
4887   return true;
4888 failure:
4889   // @@protoc_insertion_point(parse_failure:opencv_caffe.NormalizeBBoxParameter)
4890   return false;
4891 #undef DO_
4892 }
4893
4894 void NormalizeBBoxParameter::SerializeWithCachedSizes(
4895     ::google::protobuf::io::CodedOutputStream* output) const {
4896   // @@protoc_insertion_point(serialize_start:opencv_caffe.NormalizeBBoxParameter)
4897   // optional bool across_spatial = 1 [default = true];
4898   if (has_across_spatial()) {
4899     ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->across_spatial(), output);
4900   }
4901
4902   // optional .opencv_caffe.FillerParameter scale_filler = 2;
4903   if (has_scale_filler()) {
4904     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
4905       2, *this->scale_filler_, output);
4906   }
4907
4908   // optional bool channel_shared = 3 [default = true];
4909   if (has_channel_shared()) {
4910     ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->channel_shared(), output);
4911   }
4912
4913   // optional float eps = 4 [default = 1e-10];
4914   if (has_eps()) {
4915     ::google::protobuf::internal::WireFormatLite::WriteFloat(4, this->eps(), output);
4916   }
4917
4918   if (_internal_metadata_.have_unknown_fields()) {
4919     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
4920         unknown_fields(), output);
4921   }
4922   // @@protoc_insertion_point(serialize_end:opencv_caffe.NormalizeBBoxParameter)
4923 }
4924
4925 ::google::protobuf::uint8* NormalizeBBoxParameter::InternalSerializeWithCachedSizesToArray(
4926     bool deterministic, ::google::protobuf::uint8* target) const {
4927   (void)deterministic; // Unused
4928   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.NormalizeBBoxParameter)
4929   // optional bool across_spatial = 1 [default = true];
4930   if (has_across_spatial()) {
4931     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->across_spatial(), target);
4932   }
4933
4934   // optional .opencv_caffe.FillerParameter scale_filler = 2;
4935   if (has_scale_filler()) {
4936     target = ::google::protobuf::internal::WireFormatLite::
4937       InternalWriteMessageNoVirtualToArray(
4938         2, *this->scale_filler_, false, target);
4939   }
4940
4941   // optional bool channel_shared = 3 [default = true];
4942   if (has_channel_shared()) {
4943     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->channel_shared(), target);
4944   }
4945
4946   // optional float eps = 4 [default = 1e-10];
4947   if (has_eps()) {
4948     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(4, this->eps(), target);
4949   }
4950
4951   if (_internal_metadata_.have_unknown_fields()) {
4952     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
4953         unknown_fields(), target);
4954   }
4955   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.NormalizeBBoxParameter)
4956   return target;
4957 }
4958
4959 size_t NormalizeBBoxParameter::ByteSizeLong() const {
4960 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.NormalizeBBoxParameter)
4961   size_t total_size = 0;
4962
4963   if (_has_bits_[0 / 32] & 15u) {
4964     // optional bool across_spatial = 1 [default = true];
4965     if (has_across_spatial()) {
4966       total_size += 1 + 1;
4967     }
4968
4969     // optional .opencv_caffe.FillerParameter scale_filler = 2;
4970     if (has_scale_filler()) {
4971       total_size += 1 +
4972         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
4973           *this->scale_filler_);
4974     }
4975
4976     // optional bool channel_shared = 3 [default = true];
4977     if (has_channel_shared()) {
4978       total_size += 1 + 1;
4979     }
4980
4981     // optional float eps = 4 [default = 1e-10];
4982     if (has_eps()) {
4983       total_size += 1 + 4;
4984     }
4985
4986   }
4987   if (_internal_metadata_.have_unknown_fields()) {
4988     total_size +=
4989       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
4990         unknown_fields());
4991   }
4992   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
4993   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
4994   _cached_size_ = cached_size;
4995   GOOGLE_SAFE_CONCURRENT_WRITES_END();
4996   return total_size;
4997 }
4998
4999 void NormalizeBBoxParameter::MergeFrom(const ::google::protobuf::Message& from) {
5000 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.NormalizeBBoxParameter)
5001   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
5002   const NormalizeBBoxParameter* source =
5003       ::google::protobuf::internal::DynamicCastToGenerated<const NormalizeBBoxParameter>(
5004           &from);
5005   if (source == NULL) {
5006   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.NormalizeBBoxParameter)
5007     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
5008   } else {
5009   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.NormalizeBBoxParameter)
5010     UnsafeMergeFrom(*source);
5011   }
5012 }
5013
5014 void NormalizeBBoxParameter::MergeFrom(const NormalizeBBoxParameter& from) {
5015 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.NormalizeBBoxParameter)
5016   if (GOOGLE_PREDICT_TRUE(&from != this)) {
5017     UnsafeMergeFrom(from);
5018   } else {
5019     MergeFromFail(__LINE__);
5020   }
5021 }
5022
5023 void NormalizeBBoxParameter::UnsafeMergeFrom(const NormalizeBBoxParameter& from) {
5024   GOOGLE_DCHECK(&from != this);
5025   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
5026     if (from.has_across_spatial()) {
5027       set_across_spatial(from.across_spatial());
5028     }
5029     if (from.has_scale_filler()) {
5030       mutable_scale_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.scale_filler());
5031     }
5032     if (from.has_channel_shared()) {
5033       set_channel_shared(from.channel_shared());
5034     }
5035     if (from.has_eps()) {
5036       set_eps(from.eps());
5037     }
5038   }
5039   if (from._internal_metadata_.have_unknown_fields()) {
5040     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
5041       from.unknown_fields(), &_internal_metadata_);
5042   }
5043 }
5044
5045 void NormalizeBBoxParameter::CopyFrom(const ::google::protobuf::Message& from) {
5046 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.NormalizeBBoxParameter)
5047   if (&from == this) return;
5048   Clear();
5049   MergeFrom(from);
5050 }
5051
5052 void NormalizeBBoxParameter::CopyFrom(const NormalizeBBoxParameter& from) {
5053 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.NormalizeBBoxParameter)
5054   if (&from == this) return;
5055   Clear();
5056   UnsafeMergeFrom(from);
5057 }
5058
5059 bool NormalizeBBoxParameter::IsInitialized() const {
5060
5061   return true;
5062 }
5063
5064 void NormalizeBBoxParameter::Swap(NormalizeBBoxParameter* other) {
5065   if (other == this) return;
5066   InternalSwap(other);
5067 }
5068 void NormalizeBBoxParameter::InternalSwap(NormalizeBBoxParameter* other) {
5069   std::swap(across_spatial_, other->across_spatial_);
5070   std::swap(scale_filler_, other->scale_filler_);
5071   std::swap(channel_shared_, other->channel_shared_);
5072   std::swap(eps_, other->eps_);
5073   std::swap(_has_bits_[0], other->_has_bits_[0]);
5074   _internal_metadata_.Swap(&other->_internal_metadata_);
5075   std::swap(_cached_size_, other->_cached_size_);
5076 }
5077
5078 ::google::protobuf::Metadata NormalizeBBoxParameter::GetMetadata() const {
5079   protobuf_AssignDescriptorsOnce();
5080   ::google::protobuf::Metadata metadata;
5081   metadata.descriptor = NormalizeBBoxParameter_descriptor_;
5082   metadata.reflection = NormalizeBBoxParameter_reflection_;
5083   return metadata;
5084 }
5085
5086 #if PROTOBUF_INLINE_NOT_IN_HEADERS
5087 // NormalizeBBoxParameter
5088
5089 // optional bool across_spatial = 1 [default = true];
5090 bool NormalizeBBoxParameter::has_across_spatial() const {
5091   return (_has_bits_[0] & 0x00000001u) != 0;
5092 }
5093 void NormalizeBBoxParameter::set_has_across_spatial() {
5094   _has_bits_[0] |= 0x00000001u;
5095 }
5096 void NormalizeBBoxParameter::clear_has_across_spatial() {
5097   _has_bits_[0] &= ~0x00000001u;
5098 }
5099 void NormalizeBBoxParameter::clear_across_spatial() {
5100   across_spatial_ = true;
5101   clear_has_across_spatial();
5102 }
5103 bool NormalizeBBoxParameter::across_spatial() const {
5104   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizeBBoxParameter.across_spatial)
5105   return across_spatial_;
5106 }
5107 void NormalizeBBoxParameter::set_across_spatial(bool value) {
5108   set_has_across_spatial();
5109   across_spatial_ = value;
5110   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizeBBoxParameter.across_spatial)
5111 }
5112
5113 // optional .opencv_caffe.FillerParameter scale_filler = 2;
5114 bool NormalizeBBoxParameter::has_scale_filler() const {
5115   return (_has_bits_[0] & 0x00000002u) != 0;
5116 }
5117 void NormalizeBBoxParameter::set_has_scale_filler() {
5118   _has_bits_[0] |= 0x00000002u;
5119 }
5120 void NormalizeBBoxParameter::clear_has_scale_filler() {
5121   _has_bits_[0] &= ~0x00000002u;
5122 }
5123 void NormalizeBBoxParameter::clear_scale_filler() {
5124   if (scale_filler_ != NULL) scale_filler_->::opencv_caffe::FillerParameter::Clear();
5125   clear_has_scale_filler();
5126 }
5127 const ::opencv_caffe::FillerParameter& NormalizeBBoxParameter::scale_filler() const {
5128   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizeBBoxParameter.scale_filler)
5129   return scale_filler_ != NULL ? *scale_filler_
5130                          : *::opencv_caffe::FillerParameter::internal_default_instance();
5131 }
5132 ::opencv_caffe::FillerParameter* NormalizeBBoxParameter::mutable_scale_filler() {
5133   set_has_scale_filler();
5134   if (scale_filler_ == NULL) {
5135     scale_filler_ = new ::opencv_caffe::FillerParameter;
5136   }
5137   // @@protoc_insertion_point(field_mutable:opencv_caffe.NormalizeBBoxParameter.scale_filler)
5138   return scale_filler_;
5139 }
5140 ::opencv_caffe::FillerParameter* NormalizeBBoxParameter::release_scale_filler() {
5141   // @@protoc_insertion_point(field_release:opencv_caffe.NormalizeBBoxParameter.scale_filler)
5142   clear_has_scale_filler();
5143   ::opencv_caffe::FillerParameter* temp = scale_filler_;
5144   scale_filler_ = NULL;
5145   return temp;
5146 }
5147 void NormalizeBBoxParameter::set_allocated_scale_filler(::opencv_caffe::FillerParameter* scale_filler) {
5148   delete scale_filler_;
5149   scale_filler_ = scale_filler;
5150   if (scale_filler) {
5151     set_has_scale_filler();
5152   } else {
5153     clear_has_scale_filler();
5154   }
5155   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.NormalizeBBoxParameter.scale_filler)
5156 }
5157
5158 // optional bool channel_shared = 3 [default = true];
5159 bool NormalizeBBoxParameter::has_channel_shared() const {
5160   return (_has_bits_[0] & 0x00000004u) != 0;
5161 }
5162 void NormalizeBBoxParameter::set_has_channel_shared() {
5163   _has_bits_[0] |= 0x00000004u;
5164 }
5165 void NormalizeBBoxParameter::clear_has_channel_shared() {
5166   _has_bits_[0] &= ~0x00000004u;
5167 }
5168 void NormalizeBBoxParameter::clear_channel_shared() {
5169   channel_shared_ = true;
5170   clear_has_channel_shared();
5171 }
5172 bool NormalizeBBoxParameter::channel_shared() const {
5173   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizeBBoxParameter.channel_shared)
5174   return channel_shared_;
5175 }
5176 void NormalizeBBoxParameter::set_channel_shared(bool value) {
5177   set_has_channel_shared();
5178   channel_shared_ = value;
5179   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizeBBoxParameter.channel_shared)
5180 }
5181
5182 // optional float eps = 4 [default = 1e-10];
5183 bool NormalizeBBoxParameter::has_eps() const {
5184   return (_has_bits_[0] & 0x00000008u) != 0;
5185 }
5186 void NormalizeBBoxParameter::set_has_eps() {
5187   _has_bits_[0] |= 0x00000008u;
5188 }
5189 void NormalizeBBoxParameter::clear_has_eps() {
5190   _has_bits_[0] &= ~0x00000008u;
5191 }
5192 void NormalizeBBoxParameter::clear_eps() {
5193   eps_ = 1e-10f;
5194   clear_has_eps();
5195 }
5196 float NormalizeBBoxParameter::eps() const {
5197   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizeBBoxParameter.eps)
5198   return eps_;
5199 }
5200 void NormalizeBBoxParameter::set_eps(float value) {
5201   set_has_eps();
5202   eps_ = value;
5203   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizeBBoxParameter.eps)
5204 }
5205
5206 inline const NormalizeBBoxParameter* NormalizeBBoxParameter::internal_default_instance() {
5207   return &NormalizeBBoxParameter_default_instance_.get();
5208 }
5209 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
5210
5211 // ===================================================================
5212
5213 const ::google::protobuf::EnumDescriptor* PriorBoxParameter_CodeType_descriptor() {
5214   protobuf_AssignDescriptorsOnce();
5215   return PriorBoxParameter_CodeType_descriptor_;
5216 }
5217 bool PriorBoxParameter_CodeType_IsValid(int value) {
5218   switch (value) {
5219     case 1:
5220     case 2:
5221       return true;
5222     default:
5223       return false;
5224   }
5225 }
5226
5227 #if !defined(_MSC_VER) || _MSC_VER >= 1900
5228 const PriorBoxParameter_CodeType PriorBoxParameter::CORNER;
5229 const PriorBoxParameter_CodeType PriorBoxParameter::CENTER_SIZE;
5230 const PriorBoxParameter_CodeType PriorBoxParameter::CodeType_MIN;
5231 const PriorBoxParameter_CodeType PriorBoxParameter::CodeType_MAX;
5232 const int PriorBoxParameter::CodeType_ARRAYSIZE;
5233 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
5234 #if !defined(_MSC_VER) || _MSC_VER >= 1900
5235 const int PriorBoxParameter::kMinSizeFieldNumber;
5236 const int PriorBoxParameter::kMaxSizeFieldNumber;
5237 const int PriorBoxParameter::kAspectRatioFieldNumber;
5238 const int PriorBoxParameter::kFlipFieldNumber;
5239 const int PriorBoxParameter::kClipFieldNumber;
5240 const int PriorBoxParameter::kVarianceFieldNumber;
5241 const int PriorBoxParameter::kImgSizeFieldNumber;
5242 const int PriorBoxParameter::kImgHFieldNumber;
5243 const int PriorBoxParameter::kImgWFieldNumber;
5244 const int PriorBoxParameter::kStepFieldNumber;
5245 const int PriorBoxParameter::kStepHFieldNumber;
5246 const int PriorBoxParameter::kStepWFieldNumber;
5247 const int PriorBoxParameter::kOffsetFieldNumber;
5248 const int PriorBoxParameter::kOffsetHFieldNumber;
5249 const int PriorBoxParameter::kOffsetWFieldNumber;
5250 const int PriorBoxParameter::kWidthFieldNumber;
5251 const int PriorBoxParameter::kHeightFieldNumber;
5252 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
5253
5254 PriorBoxParameter::PriorBoxParameter()
5255   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
5256   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
5257   SharedCtor();
5258   // @@protoc_insertion_point(constructor:opencv_caffe.PriorBoxParameter)
5259 }
5260
5261 void PriorBoxParameter::InitAsDefaultInstance() {
5262 }
5263
5264 PriorBoxParameter::PriorBoxParameter(const PriorBoxParameter& from)
5265   : ::google::protobuf::Message(),
5266     _internal_metadata_(NULL) {
5267   SharedCtor();
5268   UnsafeMergeFrom(from);
5269   // @@protoc_insertion_point(copy_constructor:opencv_caffe.PriorBoxParameter)
5270 }
5271
5272 void PriorBoxParameter::SharedCtor() {
5273   _cached_size_ = 0;
5274   ::memset(&min_size_, 0, reinterpret_cast<char*>(&step_w_) -
5275     reinterpret_cast<char*>(&min_size_) + sizeof(step_w_));
5276   flip_ = true;
5277   clip_ = true;
5278   offset_ = 0.5f;
5279 }
5280
5281 PriorBoxParameter::~PriorBoxParameter() {
5282   // @@protoc_insertion_point(destructor:opencv_caffe.PriorBoxParameter)
5283   SharedDtor();
5284 }
5285
5286 void PriorBoxParameter::SharedDtor() {
5287 }
5288
5289 void PriorBoxParameter::SetCachedSize(int size) const {
5290   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
5291   _cached_size_ = size;
5292   GOOGLE_SAFE_CONCURRENT_WRITES_END();
5293 }
5294 const ::google::protobuf::Descriptor* PriorBoxParameter::descriptor() {
5295   protobuf_AssignDescriptorsOnce();
5296   return PriorBoxParameter_descriptor_;
5297 }
5298
5299 const PriorBoxParameter& PriorBoxParameter::default_instance() {
5300   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
5301   return *internal_default_instance();
5302 }
5303
5304 ::google::protobuf::internal::ExplicitlyConstructed<PriorBoxParameter> PriorBoxParameter_default_instance_;
5305
5306 PriorBoxParameter* PriorBoxParameter::New(::google::protobuf::Arena* arena) const {
5307   PriorBoxParameter* n = new PriorBoxParameter;
5308   if (arena != NULL) {
5309     arena->Own(n);
5310   }
5311   return n;
5312 }
5313
5314 void PriorBoxParameter::Clear() {
5315 // @@protoc_insertion_point(message_clear_start:opencv_caffe.PriorBoxParameter)
5316 #if defined(__clang__)
5317 #define ZR_HELPER_(f) \
5318   _Pragma("clang diagnostic push") \
5319   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
5320   __builtin_offsetof(PriorBoxParameter, f) \
5321   _Pragma("clang diagnostic pop")
5322 #else
5323 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
5324   &reinterpret_cast<PriorBoxParameter*>(16)->f)
5325 #endif
5326
5327 #define ZR_(first, last) do {\
5328   ::memset(&(first), 0,\
5329            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
5330 } while (0)
5331
5332   if (_has_bits_[0 / 32] & 219u) {
5333     ZR_(min_size_, img_h_);
5334     flip_ = true;
5335     clip_ = true;
5336   }
5337   if (_has_bits_[8 / 32] & 7936u) {
5338     ZR_(img_w_, step_w_);
5339     offset_ = 0.5f;
5340   }
5341
5342 #undef ZR_HELPER_
5343 #undef ZR_
5344
5345   aspect_ratio_.Clear();
5346   variance_.Clear();
5347   offset_h_.Clear();
5348   offset_w_.Clear();
5349   width_.Clear();
5350   height_.Clear();
5351   _has_bits_.Clear();
5352   if (_internal_metadata_.have_unknown_fields()) {
5353     mutable_unknown_fields()->Clear();
5354   }
5355 }
5356
5357 bool PriorBoxParameter::MergePartialFromCodedStream(
5358     ::google::protobuf::io::CodedInputStream* input) {
5359 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
5360   ::google::protobuf::uint32 tag;
5361   // @@protoc_insertion_point(parse_start:opencv_caffe.PriorBoxParameter)
5362   for (;;) {
5363     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
5364     tag = p.first;
5365     if (!p.second) goto handle_unusual;
5366     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
5367       // optional float min_size = 1;
5368       case 1: {
5369         if (tag == 13) {
5370           set_has_min_size();
5371           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5372                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5373                  input, &min_size_)));
5374         } else {
5375           goto handle_unusual;
5376         }
5377         if (input->ExpectTag(21)) goto parse_max_size;
5378         break;
5379       }
5380
5381       // optional float max_size = 2;
5382       case 2: {
5383         if (tag == 21) {
5384          parse_max_size:
5385           set_has_max_size();
5386           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5387                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5388                  input, &max_size_)));
5389         } else {
5390           goto handle_unusual;
5391         }
5392         if (input->ExpectTag(29)) goto parse_aspect_ratio;
5393         break;
5394       }
5395
5396       // repeated float aspect_ratio = 3;
5397       case 3: {
5398         if (tag == 29) {
5399          parse_aspect_ratio:
5400           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
5401                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5402                  1, 29, input, this->mutable_aspect_ratio())));
5403         } else if (tag == 26) {
5404           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
5405                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5406                  input, this->mutable_aspect_ratio())));
5407         } else {
5408           goto handle_unusual;
5409         }
5410         if (input->ExpectTag(29)) goto parse_aspect_ratio;
5411         if (input->ExpectTag(32)) goto parse_flip;
5412         break;
5413       }
5414
5415       // optional bool flip = 4 [default = true];
5416       case 4: {
5417         if (tag == 32) {
5418          parse_flip:
5419           set_has_flip();
5420           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5421                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
5422                  input, &flip_)));
5423         } else {
5424           goto handle_unusual;
5425         }
5426         if (input->ExpectTag(40)) goto parse_clip;
5427         break;
5428       }
5429
5430       // optional bool clip = 5 [default = true];
5431       case 5: {
5432         if (tag == 40) {
5433          parse_clip:
5434           set_has_clip();
5435           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5436                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
5437                  input, &clip_)));
5438         } else {
5439           goto handle_unusual;
5440         }
5441         if (input->ExpectTag(53)) goto parse_variance;
5442         break;
5443       }
5444
5445       // repeated float variance = 6;
5446       case 6: {
5447         if (tag == 53) {
5448          parse_variance:
5449           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
5450                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5451                  1, 53, input, this->mutable_variance())));
5452         } else if (tag == 50) {
5453           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
5454                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5455                  input, this->mutable_variance())));
5456         } else {
5457           goto handle_unusual;
5458         }
5459         if (input->ExpectTag(53)) goto parse_variance;
5460         if (input->ExpectTag(56)) goto parse_img_size;
5461         break;
5462       }
5463
5464       // optional uint32 img_size = 7;
5465       case 7: {
5466         if (tag == 56) {
5467          parse_img_size:
5468           set_has_img_size();
5469           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5470                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
5471                  input, &img_size_)));
5472         } else {
5473           goto handle_unusual;
5474         }
5475         if (input->ExpectTag(64)) goto parse_img_h;
5476         break;
5477       }
5478
5479       // optional uint32 img_h = 8;
5480       case 8: {
5481         if (tag == 64) {
5482          parse_img_h:
5483           set_has_img_h();
5484           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5485                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
5486                  input, &img_h_)));
5487         } else {
5488           goto handle_unusual;
5489         }
5490         if (input->ExpectTag(72)) goto parse_img_w;
5491         break;
5492       }
5493
5494       // optional uint32 img_w = 9;
5495       case 9: {
5496         if (tag == 72) {
5497          parse_img_w:
5498           set_has_img_w();
5499           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5500                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
5501                  input, &img_w_)));
5502         } else {
5503           goto handle_unusual;
5504         }
5505         if (input->ExpectTag(85)) goto parse_step;
5506         break;
5507       }
5508
5509       // optional float step = 10;
5510       case 10: {
5511         if (tag == 85) {
5512          parse_step:
5513           set_has_step();
5514           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5515                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5516                  input, &step_)));
5517         } else {
5518           goto handle_unusual;
5519         }
5520         if (input->ExpectTag(93)) goto parse_step_h;
5521         break;
5522       }
5523
5524       // optional float step_h = 11;
5525       case 11: {
5526         if (tag == 93) {
5527          parse_step_h:
5528           set_has_step_h();
5529           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5530                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5531                  input, &step_h_)));
5532         } else {
5533           goto handle_unusual;
5534         }
5535         if (input->ExpectTag(101)) goto parse_step_w;
5536         break;
5537       }
5538
5539       // optional float step_w = 12;
5540       case 12: {
5541         if (tag == 101) {
5542          parse_step_w:
5543           set_has_step_w();
5544           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5545                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5546                  input, &step_w_)));
5547         } else {
5548           goto handle_unusual;
5549         }
5550         if (input->ExpectTag(109)) goto parse_offset;
5551         break;
5552       }
5553
5554       // optional float offset = 13 [default = 0.5];
5555       case 13: {
5556         if (tag == 109) {
5557          parse_offset:
5558           set_has_offset();
5559           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5560                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5561                  input, &offset_)));
5562         } else {
5563           goto handle_unusual;
5564         }
5565         if (input->ExpectTag(117)) goto parse_offset_h;
5566         break;
5567       }
5568
5569       // repeated float offset_h = 14;
5570       case 14: {
5571         if (tag == 117) {
5572          parse_offset_h:
5573           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
5574                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5575                  1, 117, input, this->mutable_offset_h())));
5576         } else if (tag == 114) {
5577           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
5578                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5579                  input, this->mutable_offset_h())));
5580         } else {
5581           goto handle_unusual;
5582         }
5583         if (input->ExpectTag(117)) goto parse_offset_h;
5584         if (input->ExpectTag(125)) goto parse_offset_w;
5585         break;
5586       }
5587
5588       // repeated float offset_w = 15;
5589       case 15: {
5590         if (tag == 125) {
5591          parse_offset_w:
5592           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
5593                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5594                  1, 125, input, this->mutable_offset_w())));
5595         } else if (tag == 122) {
5596           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
5597                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5598                  input, this->mutable_offset_w())));
5599         } else {
5600           goto handle_unusual;
5601         }
5602         if (input->ExpectTag(125)) goto parse_offset_w;
5603         if (input->ExpectTag(133)) goto parse_width;
5604         break;
5605       }
5606
5607       // repeated float width = 16;
5608       case 16: {
5609         if (tag == 133) {
5610          parse_width:
5611           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
5612                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5613                  2, 133, input, this->mutable_width())));
5614         } else if (tag == 130) {
5615           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
5616                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5617                  input, this->mutable_width())));
5618         } else {
5619           goto handle_unusual;
5620         }
5621         if (input->ExpectTag(133)) goto parse_width;
5622         if (input->ExpectTag(141)) goto parse_height;
5623         break;
5624       }
5625
5626       // repeated float height = 17;
5627       case 17: {
5628         if (tag == 141) {
5629          parse_height:
5630           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
5631                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5632                  2, 141, input, this->mutable_height())));
5633         } else if (tag == 138) {
5634           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
5635                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5636                  input, this->mutable_height())));
5637         } else {
5638           goto handle_unusual;
5639         }
5640         if (input->ExpectTag(141)) goto parse_height;
5641         if (input->ExpectAtEnd()) goto success;
5642         break;
5643       }
5644
5645       default: {
5646       handle_unusual:
5647         if (tag == 0 ||
5648             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
5649             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
5650           goto success;
5651         }
5652         DO_(::google::protobuf::internal::WireFormat::SkipField(
5653               input, tag, mutable_unknown_fields()));
5654         break;
5655       }
5656     }
5657   }
5658 success:
5659   // @@protoc_insertion_point(parse_success:opencv_caffe.PriorBoxParameter)
5660   return true;
5661 failure:
5662   // @@protoc_insertion_point(parse_failure:opencv_caffe.PriorBoxParameter)
5663   return false;
5664 #undef DO_
5665 }
5666
5667 void PriorBoxParameter::SerializeWithCachedSizes(
5668     ::google::protobuf::io::CodedOutputStream* output) const {
5669   // @@protoc_insertion_point(serialize_start:opencv_caffe.PriorBoxParameter)
5670   // optional float min_size = 1;
5671   if (has_min_size()) {
5672     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->min_size(), output);
5673   }
5674
5675   // optional float max_size = 2;
5676   if (has_max_size()) {
5677     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->max_size(), output);
5678   }
5679
5680   // repeated float aspect_ratio = 3;
5681   for (int i = 0; i < this->aspect_ratio_size(); i++) {
5682     ::google::protobuf::internal::WireFormatLite::WriteFloat(
5683       3, this->aspect_ratio(i), output);
5684   }
5685
5686   // optional bool flip = 4 [default = true];
5687   if (has_flip()) {
5688     ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->flip(), output);
5689   }
5690
5691   // optional bool clip = 5 [default = true];
5692   if (has_clip()) {
5693     ::google::protobuf::internal::WireFormatLite::WriteBool(5, this->clip(), output);
5694   }
5695
5696   // repeated float variance = 6;
5697   for (int i = 0; i < this->variance_size(); i++) {
5698     ::google::protobuf::internal::WireFormatLite::WriteFloat(
5699       6, this->variance(i), output);
5700   }
5701
5702   // optional uint32 img_size = 7;
5703   if (has_img_size()) {
5704     ::google::protobuf::internal::WireFormatLite::WriteUInt32(7, this->img_size(), output);
5705   }
5706
5707   // optional uint32 img_h = 8;
5708   if (has_img_h()) {
5709     ::google::protobuf::internal::WireFormatLite::WriteUInt32(8, this->img_h(), output);
5710   }
5711
5712   // optional uint32 img_w = 9;
5713   if (has_img_w()) {
5714     ::google::protobuf::internal::WireFormatLite::WriteUInt32(9, this->img_w(), output);
5715   }
5716
5717   // optional float step = 10;
5718   if (has_step()) {
5719     ::google::protobuf::internal::WireFormatLite::WriteFloat(10, this->step(), output);
5720   }
5721
5722   // optional float step_h = 11;
5723   if (has_step_h()) {
5724     ::google::protobuf::internal::WireFormatLite::WriteFloat(11, this->step_h(), output);
5725   }
5726
5727   // optional float step_w = 12;
5728   if (has_step_w()) {
5729     ::google::protobuf::internal::WireFormatLite::WriteFloat(12, this->step_w(), output);
5730   }
5731
5732   // optional float offset = 13 [default = 0.5];
5733   if (has_offset()) {
5734     ::google::protobuf::internal::WireFormatLite::WriteFloat(13, this->offset(), output);
5735   }
5736
5737   // repeated float offset_h = 14;
5738   for (int i = 0; i < this->offset_h_size(); i++) {
5739     ::google::protobuf::internal::WireFormatLite::WriteFloat(
5740       14, this->offset_h(i), output);
5741   }
5742
5743   // repeated float offset_w = 15;
5744   for (int i = 0; i < this->offset_w_size(); i++) {
5745     ::google::protobuf::internal::WireFormatLite::WriteFloat(
5746       15, this->offset_w(i), output);
5747   }
5748
5749   // repeated float width = 16;
5750   for (int i = 0; i < this->width_size(); i++) {
5751     ::google::protobuf::internal::WireFormatLite::WriteFloat(
5752       16, this->width(i), output);
5753   }
5754
5755   // repeated float height = 17;
5756   for (int i = 0; i < this->height_size(); i++) {
5757     ::google::protobuf::internal::WireFormatLite::WriteFloat(
5758       17, this->height(i), output);
5759   }
5760
5761   if (_internal_metadata_.have_unknown_fields()) {
5762     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
5763         unknown_fields(), output);
5764   }
5765   // @@protoc_insertion_point(serialize_end:opencv_caffe.PriorBoxParameter)
5766 }
5767
5768 ::google::protobuf::uint8* PriorBoxParameter::InternalSerializeWithCachedSizesToArray(
5769     bool deterministic, ::google::protobuf::uint8* target) const {
5770   (void)deterministic; // Unused
5771   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.PriorBoxParameter)
5772   // optional float min_size = 1;
5773   if (has_min_size()) {
5774     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->min_size(), target);
5775   }
5776
5777   // optional float max_size = 2;
5778   if (has_max_size()) {
5779     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->max_size(), target);
5780   }
5781
5782   // repeated float aspect_ratio = 3;
5783   for (int i = 0; i < this->aspect_ratio_size(); i++) {
5784     target = ::google::protobuf::internal::WireFormatLite::
5785       WriteFloatToArray(3, this->aspect_ratio(i), target);
5786   }
5787
5788   // optional bool flip = 4 [default = true];
5789   if (has_flip()) {
5790     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(4, this->flip(), target);
5791   }
5792
5793   // optional bool clip = 5 [default = true];
5794   if (has_clip()) {
5795     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(5, this->clip(), target);
5796   }
5797
5798   // repeated float variance = 6;
5799   for (int i = 0; i < this->variance_size(); i++) {
5800     target = ::google::protobuf::internal::WireFormatLite::
5801       WriteFloatToArray(6, this->variance(i), target);
5802   }
5803
5804   // optional uint32 img_size = 7;
5805   if (has_img_size()) {
5806     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(7, this->img_size(), target);
5807   }
5808
5809   // optional uint32 img_h = 8;
5810   if (has_img_h()) {
5811     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(8, this->img_h(), target);
5812   }
5813
5814   // optional uint32 img_w = 9;
5815   if (has_img_w()) {
5816     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(9, this->img_w(), target);
5817   }
5818
5819   // optional float step = 10;
5820   if (has_step()) {
5821     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(10, this->step(), target);
5822   }
5823
5824   // optional float step_h = 11;
5825   if (has_step_h()) {
5826     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(11, this->step_h(), target);
5827   }
5828
5829   // optional float step_w = 12;
5830   if (has_step_w()) {
5831     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(12, this->step_w(), target);
5832   }
5833
5834   // optional float offset = 13 [default = 0.5];
5835   if (has_offset()) {
5836     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(13, this->offset(), target);
5837   }
5838
5839   // repeated float offset_h = 14;
5840   for (int i = 0; i < this->offset_h_size(); i++) {
5841     target = ::google::protobuf::internal::WireFormatLite::
5842       WriteFloatToArray(14, this->offset_h(i), target);
5843   }
5844
5845   // repeated float offset_w = 15;
5846   for (int i = 0; i < this->offset_w_size(); i++) {
5847     target = ::google::protobuf::internal::WireFormatLite::
5848       WriteFloatToArray(15, this->offset_w(i), target);
5849   }
5850
5851   // repeated float width = 16;
5852   for (int i = 0; i < this->width_size(); i++) {
5853     target = ::google::protobuf::internal::WireFormatLite::
5854       WriteFloatToArray(16, this->width(i), target);
5855   }
5856
5857   // repeated float height = 17;
5858   for (int i = 0; i < this->height_size(); i++) {
5859     target = ::google::protobuf::internal::WireFormatLite::
5860       WriteFloatToArray(17, this->height(i), target);
5861   }
5862
5863   if (_internal_metadata_.have_unknown_fields()) {
5864     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
5865         unknown_fields(), target);
5866   }
5867   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.PriorBoxParameter)
5868   return target;
5869 }
5870
5871 size_t PriorBoxParameter::ByteSizeLong() const {
5872 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.PriorBoxParameter)
5873   size_t total_size = 0;
5874
5875   if (_has_bits_[0 / 32] & 219u) {
5876     // optional float min_size = 1;
5877     if (has_min_size()) {
5878       total_size += 1 + 4;
5879     }
5880
5881     // optional float max_size = 2;
5882     if (has_max_size()) {
5883       total_size += 1 + 4;
5884     }
5885
5886     // optional bool flip = 4 [default = true];
5887     if (has_flip()) {
5888       total_size += 1 + 1;
5889     }
5890
5891     // optional bool clip = 5 [default = true];
5892     if (has_clip()) {
5893       total_size += 1 + 1;
5894     }
5895
5896     // optional uint32 img_size = 7;
5897     if (has_img_size()) {
5898       total_size += 1 +
5899         ::google::protobuf::internal::WireFormatLite::UInt32Size(
5900           this->img_size());
5901     }
5902
5903     // optional uint32 img_h = 8;
5904     if (has_img_h()) {
5905       total_size += 1 +
5906         ::google::protobuf::internal::WireFormatLite::UInt32Size(
5907           this->img_h());
5908     }
5909
5910   }
5911   if (_has_bits_[8 / 32] & 7936u) {
5912     // optional uint32 img_w = 9;
5913     if (has_img_w()) {
5914       total_size += 1 +
5915         ::google::protobuf::internal::WireFormatLite::UInt32Size(
5916           this->img_w());
5917     }
5918
5919     // optional float step = 10;
5920     if (has_step()) {
5921       total_size += 1 + 4;
5922     }
5923
5924     // optional float step_h = 11;
5925     if (has_step_h()) {
5926       total_size += 1 + 4;
5927     }
5928
5929     // optional float step_w = 12;
5930     if (has_step_w()) {
5931       total_size += 1 + 4;
5932     }
5933
5934     // optional float offset = 13 [default = 0.5];
5935     if (has_offset()) {
5936       total_size += 1 + 4;
5937     }
5938
5939   }
5940   // repeated float aspect_ratio = 3;
5941   {
5942     size_t data_size = 0;
5943     unsigned int count = this->aspect_ratio_size();
5944     data_size = 4UL * count;
5945     total_size += 1 *
5946                   ::google::protobuf::internal::FromIntSize(this->aspect_ratio_size());
5947     total_size += data_size;
5948   }
5949
5950   // repeated float variance = 6;
5951   {
5952     size_t data_size = 0;
5953     unsigned int count = this->variance_size();
5954     data_size = 4UL * count;
5955     total_size += 1 *
5956                   ::google::protobuf::internal::FromIntSize(this->variance_size());
5957     total_size += data_size;
5958   }
5959
5960   // repeated float offset_h = 14;
5961   {
5962     size_t data_size = 0;
5963     unsigned int count = this->offset_h_size();
5964     data_size = 4UL * count;
5965     total_size += 1 *
5966                   ::google::protobuf::internal::FromIntSize(this->offset_h_size());
5967     total_size += data_size;
5968   }
5969
5970   // repeated float offset_w = 15;
5971   {
5972     size_t data_size = 0;
5973     unsigned int count = this->offset_w_size();
5974     data_size = 4UL * count;
5975     total_size += 1 *
5976                   ::google::protobuf::internal::FromIntSize(this->offset_w_size());
5977     total_size += data_size;
5978   }
5979
5980   // repeated float width = 16;
5981   {
5982     size_t data_size = 0;
5983     unsigned int count = this->width_size();
5984     data_size = 4UL * count;
5985     total_size += 2 *
5986                   ::google::protobuf::internal::FromIntSize(this->width_size());
5987     total_size += data_size;
5988   }
5989
5990   // repeated float height = 17;
5991   {
5992     size_t data_size = 0;
5993     unsigned int count = this->height_size();
5994     data_size = 4UL * count;
5995     total_size += 2 *
5996                   ::google::protobuf::internal::FromIntSize(this->height_size());
5997     total_size += data_size;
5998   }
5999
6000   if (_internal_metadata_.have_unknown_fields()) {
6001     total_size +=
6002       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
6003         unknown_fields());
6004   }
6005   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
6006   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
6007   _cached_size_ = cached_size;
6008   GOOGLE_SAFE_CONCURRENT_WRITES_END();
6009   return total_size;
6010 }
6011
6012 void PriorBoxParameter::MergeFrom(const ::google::protobuf::Message& from) {
6013 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.PriorBoxParameter)
6014   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
6015   const PriorBoxParameter* source =
6016       ::google::protobuf::internal::DynamicCastToGenerated<const PriorBoxParameter>(
6017           &from);
6018   if (source == NULL) {
6019   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.PriorBoxParameter)
6020     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
6021   } else {
6022   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.PriorBoxParameter)
6023     UnsafeMergeFrom(*source);
6024   }
6025 }
6026
6027 void PriorBoxParameter::MergeFrom(const PriorBoxParameter& from) {
6028 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.PriorBoxParameter)
6029   if (GOOGLE_PREDICT_TRUE(&from != this)) {
6030     UnsafeMergeFrom(from);
6031   } else {
6032     MergeFromFail(__LINE__);
6033   }
6034 }
6035
6036 void PriorBoxParameter::UnsafeMergeFrom(const PriorBoxParameter& from) {
6037   GOOGLE_DCHECK(&from != this);
6038   aspect_ratio_.UnsafeMergeFrom(from.aspect_ratio_);
6039   variance_.UnsafeMergeFrom(from.variance_);
6040   offset_h_.UnsafeMergeFrom(from.offset_h_);
6041   offset_w_.UnsafeMergeFrom(from.offset_w_);
6042   width_.UnsafeMergeFrom(from.width_);
6043   height_.UnsafeMergeFrom(from.height_);
6044   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
6045     if (from.has_min_size()) {
6046       set_min_size(from.min_size());
6047     }
6048     if (from.has_max_size()) {
6049       set_max_size(from.max_size());
6050     }
6051     if (from.has_flip()) {
6052       set_flip(from.flip());
6053     }
6054     if (from.has_clip()) {
6055       set_clip(from.clip());
6056     }
6057     if (from.has_img_size()) {
6058       set_img_size(from.img_size());
6059     }
6060     if (from.has_img_h()) {
6061       set_img_h(from.img_h());
6062     }
6063   }
6064   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
6065     if (from.has_img_w()) {
6066       set_img_w(from.img_w());
6067     }
6068     if (from.has_step()) {
6069       set_step(from.step());
6070     }
6071     if (from.has_step_h()) {
6072       set_step_h(from.step_h());
6073     }
6074     if (from.has_step_w()) {
6075       set_step_w(from.step_w());
6076     }
6077     if (from.has_offset()) {
6078       set_offset(from.offset());
6079     }
6080   }
6081   if (from._internal_metadata_.have_unknown_fields()) {
6082     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
6083       from.unknown_fields(), &_internal_metadata_);
6084   }
6085 }
6086
6087 void PriorBoxParameter::CopyFrom(const ::google::protobuf::Message& from) {
6088 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.PriorBoxParameter)
6089   if (&from == this) return;
6090   Clear();
6091   MergeFrom(from);
6092 }
6093
6094 void PriorBoxParameter::CopyFrom(const PriorBoxParameter& from) {
6095 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.PriorBoxParameter)
6096   if (&from == this) return;
6097   Clear();
6098   UnsafeMergeFrom(from);
6099 }
6100
6101 bool PriorBoxParameter::IsInitialized() const {
6102
6103   return true;
6104 }
6105
6106 void PriorBoxParameter::Swap(PriorBoxParameter* other) {
6107   if (other == this) return;
6108   InternalSwap(other);
6109 }
6110 void PriorBoxParameter::InternalSwap(PriorBoxParameter* other) {
6111   std::swap(min_size_, other->min_size_);
6112   std::swap(max_size_, other->max_size_);
6113   aspect_ratio_.UnsafeArenaSwap(&other->aspect_ratio_);
6114   std::swap(flip_, other->flip_);
6115   std::swap(clip_, other->clip_);
6116   variance_.UnsafeArenaSwap(&other->variance_);
6117   std::swap(img_size_, other->img_size_);
6118   std::swap(img_h_, other->img_h_);
6119   std::swap(img_w_, other->img_w_);
6120   std::swap(step_, other->step_);
6121   std::swap(step_h_, other->step_h_);
6122   std::swap(step_w_, other->step_w_);
6123   std::swap(offset_, other->offset_);
6124   offset_h_.UnsafeArenaSwap(&other->offset_h_);
6125   offset_w_.UnsafeArenaSwap(&other->offset_w_);
6126   width_.UnsafeArenaSwap(&other->width_);
6127   height_.UnsafeArenaSwap(&other->height_);
6128   std::swap(_has_bits_[0], other->_has_bits_[0]);
6129   _internal_metadata_.Swap(&other->_internal_metadata_);
6130   std::swap(_cached_size_, other->_cached_size_);
6131 }
6132
6133 ::google::protobuf::Metadata PriorBoxParameter::GetMetadata() const {
6134   protobuf_AssignDescriptorsOnce();
6135   ::google::protobuf::Metadata metadata;
6136   metadata.descriptor = PriorBoxParameter_descriptor_;
6137   metadata.reflection = PriorBoxParameter_reflection_;
6138   return metadata;
6139 }
6140
6141 #if PROTOBUF_INLINE_NOT_IN_HEADERS
6142 // PriorBoxParameter
6143
6144 // optional float min_size = 1;
6145 bool PriorBoxParameter::has_min_size() const {
6146   return (_has_bits_[0] & 0x00000001u) != 0;
6147 }
6148 void PriorBoxParameter::set_has_min_size() {
6149   _has_bits_[0] |= 0x00000001u;
6150 }
6151 void PriorBoxParameter::clear_has_min_size() {
6152   _has_bits_[0] &= ~0x00000001u;
6153 }
6154 void PriorBoxParameter::clear_min_size() {
6155   min_size_ = 0;
6156   clear_has_min_size();
6157 }
6158 float PriorBoxParameter::min_size() const {
6159   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.min_size)
6160   return min_size_;
6161 }
6162 void PriorBoxParameter::set_min_size(float value) {
6163   set_has_min_size();
6164   min_size_ = value;
6165   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.min_size)
6166 }
6167
6168 // optional float max_size = 2;
6169 bool PriorBoxParameter::has_max_size() const {
6170   return (_has_bits_[0] & 0x00000002u) != 0;
6171 }
6172 void PriorBoxParameter::set_has_max_size() {
6173   _has_bits_[0] |= 0x00000002u;
6174 }
6175 void PriorBoxParameter::clear_has_max_size() {
6176   _has_bits_[0] &= ~0x00000002u;
6177 }
6178 void PriorBoxParameter::clear_max_size() {
6179   max_size_ = 0;
6180   clear_has_max_size();
6181 }
6182 float PriorBoxParameter::max_size() const {
6183   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.max_size)
6184   return max_size_;
6185 }
6186 void PriorBoxParameter::set_max_size(float value) {
6187   set_has_max_size();
6188   max_size_ = value;
6189   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.max_size)
6190 }
6191
6192 // repeated float aspect_ratio = 3;
6193 int PriorBoxParameter::aspect_ratio_size() const {
6194   return aspect_ratio_.size();
6195 }
6196 void PriorBoxParameter::clear_aspect_ratio() {
6197   aspect_ratio_.Clear();
6198 }
6199 float PriorBoxParameter::aspect_ratio(int index) const {
6200   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.aspect_ratio)
6201   return aspect_ratio_.Get(index);
6202 }
6203 void PriorBoxParameter::set_aspect_ratio(int index, float value) {
6204   aspect_ratio_.Set(index, value);
6205   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.aspect_ratio)
6206 }
6207 void PriorBoxParameter::add_aspect_ratio(float value) {
6208   aspect_ratio_.Add(value);
6209   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.aspect_ratio)
6210 }
6211 const ::google::protobuf::RepeatedField< float >&
6212 PriorBoxParameter::aspect_ratio() const {
6213   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.aspect_ratio)
6214   return aspect_ratio_;
6215 }
6216 ::google::protobuf::RepeatedField< float >*
6217 PriorBoxParameter::mutable_aspect_ratio() {
6218   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.aspect_ratio)
6219   return &aspect_ratio_;
6220 }
6221
6222 // optional bool flip = 4 [default = true];
6223 bool PriorBoxParameter::has_flip() const {
6224   return (_has_bits_[0] & 0x00000008u) != 0;
6225 }
6226 void PriorBoxParameter::set_has_flip() {
6227   _has_bits_[0] |= 0x00000008u;
6228 }
6229 void PriorBoxParameter::clear_has_flip() {
6230   _has_bits_[0] &= ~0x00000008u;
6231 }
6232 void PriorBoxParameter::clear_flip() {
6233   flip_ = true;
6234   clear_has_flip();
6235 }
6236 bool PriorBoxParameter::flip() const {
6237   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.flip)
6238   return flip_;
6239 }
6240 void PriorBoxParameter::set_flip(bool value) {
6241   set_has_flip();
6242   flip_ = value;
6243   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.flip)
6244 }
6245
6246 // optional bool clip = 5 [default = true];
6247 bool PriorBoxParameter::has_clip() const {
6248   return (_has_bits_[0] & 0x00000010u) != 0;
6249 }
6250 void PriorBoxParameter::set_has_clip() {
6251   _has_bits_[0] |= 0x00000010u;
6252 }
6253 void PriorBoxParameter::clear_has_clip() {
6254   _has_bits_[0] &= ~0x00000010u;
6255 }
6256 void PriorBoxParameter::clear_clip() {
6257   clip_ = true;
6258   clear_has_clip();
6259 }
6260 bool PriorBoxParameter::clip() const {
6261   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.clip)
6262   return clip_;
6263 }
6264 void PriorBoxParameter::set_clip(bool value) {
6265   set_has_clip();
6266   clip_ = value;
6267   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.clip)
6268 }
6269
6270 // repeated float variance = 6;
6271 int PriorBoxParameter::variance_size() const {
6272   return variance_.size();
6273 }
6274 void PriorBoxParameter::clear_variance() {
6275   variance_.Clear();
6276 }
6277 float PriorBoxParameter::variance(int index) const {
6278   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.variance)
6279   return variance_.Get(index);
6280 }
6281 void PriorBoxParameter::set_variance(int index, float value) {
6282   variance_.Set(index, value);
6283   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.variance)
6284 }
6285 void PriorBoxParameter::add_variance(float value) {
6286   variance_.Add(value);
6287   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.variance)
6288 }
6289 const ::google::protobuf::RepeatedField< float >&
6290 PriorBoxParameter::variance() const {
6291   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.variance)
6292   return variance_;
6293 }
6294 ::google::protobuf::RepeatedField< float >*
6295 PriorBoxParameter::mutable_variance() {
6296   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.variance)
6297   return &variance_;
6298 }
6299
6300 // optional uint32 img_size = 7;
6301 bool PriorBoxParameter::has_img_size() const {
6302   return (_has_bits_[0] & 0x00000040u) != 0;
6303 }
6304 void PriorBoxParameter::set_has_img_size() {
6305   _has_bits_[0] |= 0x00000040u;
6306 }
6307 void PriorBoxParameter::clear_has_img_size() {
6308   _has_bits_[0] &= ~0x00000040u;
6309 }
6310 void PriorBoxParameter::clear_img_size() {
6311   img_size_ = 0u;
6312   clear_has_img_size();
6313 }
6314 ::google::protobuf::uint32 PriorBoxParameter::img_size() const {
6315   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.img_size)
6316   return img_size_;
6317 }
6318 void PriorBoxParameter::set_img_size(::google::protobuf::uint32 value) {
6319   set_has_img_size();
6320   img_size_ = value;
6321   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.img_size)
6322 }
6323
6324 // optional uint32 img_h = 8;
6325 bool PriorBoxParameter::has_img_h() const {
6326   return (_has_bits_[0] & 0x00000080u) != 0;
6327 }
6328 void PriorBoxParameter::set_has_img_h() {
6329   _has_bits_[0] |= 0x00000080u;
6330 }
6331 void PriorBoxParameter::clear_has_img_h() {
6332   _has_bits_[0] &= ~0x00000080u;
6333 }
6334 void PriorBoxParameter::clear_img_h() {
6335   img_h_ = 0u;
6336   clear_has_img_h();
6337 }
6338 ::google::protobuf::uint32 PriorBoxParameter::img_h() const {
6339   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.img_h)
6340   return img_h_;
6341 }
6342 void PriorBoxParameter::set_img_h(::google::protobuf::uint32 value) {
6343   set_has_img_h();
6344   img_h_ = value;
6345   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.img_h)
6346 }
6347
6348 // optional uint32 img_w = 9;
6349 bool PriorBoxParameter::has_img_w() const {
6350   return (_has_bits_[0] & 0x00000100u) != 0;
6351 }
6352 void PriorBoxParameter::set_has_img_w() {
6353   _has_bits_[0] |= 0x00000100u;
6354 }
6355 void PriorBoxParameter::clear_has_img_w() {
6356   _has_bits_[0] &= ~0x00000100u;
6357 }
6358 void PriorBoxParameter::clear_img_w() {
6359   img_w_ = 0u;
6360   clear_has_img_w();
6361 }
6362 ::google::protobuf::uint32 PriorBoxParameter::img_w() const {
6363   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.img_w)
6364   return img_w_;
6365 }
6366 void PriorBoxParameter::set_img_w(::google::protobuf::uint32 value) {
6367   set_has_img_w();
6368   img_w_ = value;
6369   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.img_w)
6370 }
6371
6372 // optional float step = 10;
6373 bool PriorBoxParameter::has_step() const {
6374   return (_has_bits_[0] & 0x00000200u) != 0;
6375 }
6376 void PriorBoxParameter::set_has_step() {
6377   _has_bits_[0] |= 0x00000200u;
6378 }
6379 void PriorBoxParameter::clear_has_step() {
6380   _has_bits_[0] &= ~0x00000200u;
6381 }
6382 void PriorBoxParameter::clear_step() {
6383   step_ = 0;
6384   clear_has_step();
6385 }
6386 float PriorBoxParameter::step() const {
6387   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.step)
6388   return step_;
6389 }
6390 void PriorBoxParameter::set_step(float value) {
6391   set_has_step();
6392   step_ = value;
6393   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.step)
6394 }
6395
6396 // optional float step_h = 11;
6397 bool PriorBoxParameter::has_step_h() const {
6398   return (_has_bits_[0] & 0x00000400u) != 0;
6399 }
6400 void PriorBoxParameter::set_has_step_h() {
6401   _has_bits_[0] |= 0x00000400u;
6402 }
6403 void PriorBoxParameter::clear_has_step_h() {
6404   _has_bits_[0] &= ~0x00000400u;
6405 }
6406 void PriorBoxParameter::clear_step_h() {
6407   step_h_ = 0;
6408   clear_has_step_h();
6409 }
6410 float PriorBoxParameter::step_h() const {
6411   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.step_h)
6412   return step_h_;
6413 }
6414 void PriorBoxParameter::set_step_h(float value) {
6415   set_has_step_h();
6416   step_h_ = value;
6417   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.step_h)
6418 }
6419
6420 // optional float step_w = 12;
6421 bool PriorBoxParameter::has_step_w() const {
6422   return (_has_bits_[0] & 0x00000800u) != 0;
6423 }
6424 void PriorBoxParameter::set_has_step_w() {
6425   _has_bits_[0] |= 0x00000800u;
6426 }
6427 void PriorBoxParameter::clear_has_step_w() {
6428   _has_bits_[0] &= ~0x00000800u;
6429 }
6430 void PriorBoxParameter::clear_step_w() {
6431   step_w_ = 0;
6432   clear_has_step_w();
6433 }
6434 float PriorBoxParameter::step_w() const {
6435   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.step_w)
6436   return step_w_;
6437 }
6438 void PriorBoxParameter::set_step_w(float value) {
6439   set_has_step_w();
6440   step_w_ = value;
6441   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.step_w)
6442 }
6443
6444 // optional float offset = 13 [default = 0.5];
6445 bool PriorBoxParameter::has_offset() const {
6446   return (_has_bits_[0] & 0x00001000u) != 0;
6447 }
6448 void PriorBoxParameter::set_has_offset() {
6449   _has_bits_[0] |= 0x00001000u;
6450 }
6451 void PriorBoxParameter::clear_has_offset() {
6452   _has_bits_[0] &= ~0x00001000u;
6453 }
6454 void PriorBoxParameter::clear_offset() {
6455   offset_ = 0.5f;
6456   clear_has_offset();
6457 }
6458 float PriorBoxParameter::offset() const {
6459   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.offset)
6460   return offset_;
6461 }
6462 void PriorBoxParameter::set_offset(float value) {
6463   set_has_offset();
6464   offset_ = value;
6465   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.offset)
6466 }
6467
6468 // repeated float offset_h = 14;
6469 int PriorBoxParameter::offset_h_size() const {
6470   return offset_h_.size();
6471 }
6472 void PriorBoxParameter::clear_offset_h() {
6473   offset_h_.Clear();
6474 }
6475 float PriorBoxParameter::offset_h(int index) const {
6476   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.offset_h)
6477   return offset_h_.Get(index);
6478 }
6479 void PriorBoxParameter::set_offset_h(int index, float value) {
6480   offset_h_.Set(index, value);
6481   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.offset_h)
6482 }
6483 void PriorBoxParameter::add_offset_h(float value) {
6484   offset_h_.Add(value);
6485   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.offset_h)
6486 }
6487 const ::google::protobuf::RepeatedField< float >&
6488 PriorBoxParameter::offset_h() const {
6489   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.offset_h)
6490   return offset_h_;
6491 }
6492 ::google::protobuf::RepeatedField< float >*
6493 PriorBoxParameter::mutable_offset_h() {
6494   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.offset_h)
6495   return &offset_h_;
6496 }
6497
6498 // repeated float offset_w = 15;
6499 int PriorBoxParameter::offset_w_size() const {
6500   return offset_w_.size();
6501 }
6502 void PriorBoxParameter::clear_offset_w() {
6503   offset_w_.Clear();
6504 }
6505 float PriorBoxParameter::offset_w(int index) const {
6506   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.offset_w)
6507   return offset_w_.Get(index);
6508 }
6509 void PriorBoxParameter::set_offset_w(int index, float value) {
6510   offset_w_.Set(index, value);
6511   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.offset_w)
6512 }
6513 void PriorBoxParameter::add_offset_w(float value) {
6514   offset_w_.Add(value);
6515   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.offset_w)
6516 }
6517 const ::google::protobuf::RepeatedField< float >&
6518 PriorBoxParameter::offset_w() const {
6519   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.offset_w)
6520   return offset_w_;
6521 }
6522 ::google::protobuf::RepeatedField< float >*
6523 PriorBoxParameter::mutable_offset_w() {
6524   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.offset_w)
6525   return &offset_w_;
6526 }
6527
6528 // repeated float width = 16;
6529 int PriorBoxParameter::width_size() const {
6530   return width_.size();
6531 }
6532 void PriorBoxParameter::clear_width() {
6533   width_.Clear();
6534 }
6535 float PriorBoxParameter::width(int index) const {
6536   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.width)
6537   return width_.Get(index);
6538 }
6539 void PriorBoxParameter::set_width(int index, float value) {
6540   width_.Set(index, value);
6541   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.width)
6542 }
6543 void PriorBoxParameter::add_width(float value) {
6544   width_.Add(value);
6545   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.width)
6546 }
6547 const ::google::protobuf::RepeatedField< float >&
6548 PriorBoxParameter::width() const {
6549   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.width)
6550   return width_;
6551 }
6552 ::google::protobuf::RepeatedField< float >*
6553 PriorBoxParameter::mutable_width() {
6554   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.width)
6555   return &width_;
6556 }
6557
6558 // repeated float height = 17;
6559 int PriorBoxParameter::height_size() const {
6560   return height_.size();
6561 }
6562 void PriorBoxParameter::clear_height() {
6563   height_.Clear();
6564 }
6565 float PriorBoxParameter::height(int index) const {
6566   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.height)
6567   return height_.Get(index);
6568 }
6569 void PriorBoxParameter::set_height(int index, float value) {
6570   height_.Set(index, value);
6571   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.height)
6572 }
6573 void PriorBoxParameter::add_height(float value) {
6574   height_.Add(value);
6575   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.height)
6576 }
6577 const ::google::protobuf::RepeatedField< float >&
6578 PriorBoxParameter::height() const {
6579   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.height)
6580   return height_;
6581 }
6582 ::google::protobuf::RepeatedField< float >*
6583 PriorBoxParameter::mutable_height() {
6584   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.height)
6585   return &height_;
6586 }
6587
6588 inline const PriorBoxParameter* PriorBoxParameter::internal_default_instance() {
6589   return &PriorBoxParameter_default_instance_.get();
6590 }
6591 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
6592
6593 // ===================================================================
6594
6595 #if !defined(_MSC_VER) || _MSC_VER >= 1900
6596 const int DetectionOutputParameter::kNumClassesFieldNumber;
6597 const int DetectionOutputParameter::kShareLocationFieldNumber;
6598 const int DetectionOutputParameter::kBackgroundLabelIdFieldNumber;
6599 const int DetectionOutputParameter::kNmsParamFieldNumber;
6600 const int DetectionOutputParameter::kSaveOutputParamFieldNumber;
6601 const int DetectionOutputParameter::kCodeTypeFieldNumber;
6602 const int DetectionOutputParameter::kVarianceEncodedInTargetFieldNumber;
6603 const int DetectionOutputParameter::kKeepTopKFieldNumber;
6604 const int DetectionOutputParameter::kConfidenceThresholdFieldNumber;
6605 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
6606
6607 DetectionOutputParameter::DetectionOutputParameter()
6608   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
6609   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
6610   SharedCtor();
6611   // @@protoc_insertion_point(constructor:opencv_caffe.DetectionOutputParameter)
6612 }
6613
6614 void DetectionOutputParameter::InitAsDefaultInstance() {
6615   nms_param_ = const_cast< ::opencv_caffe::NonMaximumSuppressionParameter*>(
6616       ::opencv_caffe::NonMaximumSuppressionParameter::internal_default_instance());
6617   save_output_param_ = const_cast< ::opencv_caffe::SaveOutputParameter*>(
6618       ::opencv_caffe::SaveOutputParameter::internal_default_instance());
6619 }
6620
6621 DetectionOutputParameter::DetectionOutputParameter(const DetectionOutputParameter& from)
6622   : ::google::protobuf::Message(),
6623     _internal_metadata_(NULL) {
6624   SharedCtor();
6625   UnsafeMergeFrom(from);
6626   // @@protoc_insertion_point(copy_constructor:opencv_caffe.DetectionOutputParameter)
6627 }
6628
6629 void DetectionOutputParameter::SharedCtor() {
6630   _cached_size_ = 0;
6631   nms_param_ = NULL;
6632   save_output_param_ = NULL;
6633   ::memset(&num_classes_, 0, reinterpret_cast<char*>(&confidence_threshold_) -
6634     reinterpret_cast<char*>(&num_classes_) + sizeof(confidence_threshold_));
6635   keep_top_k_ = -1;
6636   share_location_ = true;
6637   code_type_ = 1;
6638 }
6639
6640 DetectionOutputParameter::~DetectionOutputParameter() {
6641   // @@protoc_insertion_point(destructor:opencv_caffe.DetectionOutputParameter)
6642   SharedDtor();
6643 }
6644
6645 void DetectionOutputParameter::SharedDtor() {
6646   if (this != &DetectionOutputParameter_default_instance_.get()) {
6647     delete nms_param_;
6648     delete save_output_param_;
6649   }
6650 }
6651
6652 void DetectionOutputParameter::SetCachedSize(int size) const {
6653   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
6654   _cached_size_ = size;
6655   GOOGLE_SAFE_CONCURRENT_WRITES_END();
6656 }
6657 const ::google::protobuf::Descriptor* DetectionOutputParameter::descriptor() {
6658   protobuf_AssignDescriptorsOnce();
6659   return DetectionOutputParameter_descriptor_;
6660 }
6661
6662 const DetectionOutputParameter& DetectionOutputParameter::default_instance() {
6663   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
6664   return *internal_default_instance();
6665 }
6666
6667 ::google::protobuf::internal::ExplicitlyConstructed<DetectionOutputParameter> DetectionOutputParameter_default_instance_;
6668
6669 DetectionOutputParameter* DetectionOutputParameter::New(::google::protobuf::Arena* arena) const {
6670   DetectionOutputParameter* n = new DetectionOutputParameter;
6671   if (arena != NULL) {
6672     arena->Own(n);
6673   }
6674   return n;
6675 }
6676
6677 void DetectionOutputParameter::Clear() {
6678 // @@protoc_insertion_point(message_clear_start:opencv_caffe.DetectionOutputParameter)
6679 #if defined(__clang__)
6680 #define ZR_HELPER_(f) \
6681   _Pragma("clang diagnostic push") \
6682   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
6683   __builtin_offsetof(DetectionOutputParameter, f) \
6684   _Pragma("clang diagnostic pop")
6685 #else
6686 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
6687   &reinterpret_cast<DetectionOutputParameter*>(16)->f)
6688 #endif
6689
6690 #define ZR_(first, last) do {\
6691   ::memset(&(first), 0,\
6692            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
6693 } while (0)
6694
6695   if (_has_bits_[0 / 32] & 255u) {
6696     ZR_(num_classes_, variance_encoded_in_target_);
6697     share_location_ = true;
6698     if (has_nms_param()) {
6699       if (nms_param_ != NULL) nms_param_->::opencv_caffe::NonMaximumSuppressionParameter::Clear();
6700     }
6701     if (has_save_output_param()) {
6702       if (save_output_param_ != NULL) save_output_param_->::opencv_caffe::SaveOutputParameter::Clear();
6703     }
6704     code_type_ = 1;
6705     keep_top_k_ = -1;
6706   }
6707   confidence_threshold_ = 0;
6708
6709 #undef ZR_HELPER_
6710 #undef ZR_
6711
6712   _has_bits_.Clear();
6713   if (_internal_metadata_.have_unknown_fields()) {
6714     mutable_unknown_fields()->Clear();
6715   }
6716 }
6717
6718 bool DetectionOutputParameter::MergePartialFromCodedStream(
6719     ::google::protobuf::io::CodedInputStream* input) {
6720 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
6721   ::google::protobuf::uint32 tag;
6722   // @@protoc_insertion_point(parse_start:opencv_caffe.DetectionOutputParameter)
6723   for (;;) {
6724     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
6725     tag = p.first;
6726     if (!p.second) goto handle_unusual;
6727     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
6728       // optional uint32 num_classes = 1;
6729       case 1: {
6730         if (tag == 8) {
6731           set_has_num_classes();
6732           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
6733                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
6734                  input, &num_classes_)));
6735         } else {
6736           goto handle_unusual;
6737         }
6738         if (input->ExpectTag(16)) goto parse_share_location;
6739         break;
6740       }
6741
6742       // optional bool share_location = 2 [default = true];
6743       case 2: {
6744         if (tag == 16) {
6745          parse_share_location:
6746           set_has_share_location();
6747           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
6748                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
6749                  input, &share_location_)));
6750         } else {
6751           goto handle_unusual;
6752         }
6753         if (input->ExpectTag(24)) goto parse_background_label_id;
6754         break;
6755       }
6756
6757       // optional int32 background_label_id = 3 [default = 0];
6758       case 3: {
6759         if (tag == 24) {
6760          parse_background_label_id:
6761           set_has_background_label_id();
6762           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
6763                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
6764                  input, &background_label_id_)));
6765         } else {
6766           goto handle_unusual;
6767         }
6768         if (input->ExpectTag(34)) goto parse_nms_param;
6769         break;
6770       }
6771
6772       // optional .opencv_caffe.NonMaximumSuppressionParameter nms_param = 4;
6773       case 4: {
6774         if (tag == 34) {
6775          parse_nms_param:
6776           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
6777                input, mutable_nms_param()));
6778         } else {
6779           goto handle_unusual;
6780         }
6781         if (input->ExpectTag(42)) goto parse_save_output_param;
6782         break;
6783       }
6784
6785       // optional .opencv_caffe.SaveOutputParameter save_output_param = 5;
6786       case 5: {
6787         if (tag == 42) {
6788          parse_save_output_param:
6789           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
6790                input, mutable_save_output_param()));
6791         } else {
6792           goto handle_unusual;
6793         }
6794         if (input->ExpectTag(48)) goto parse_code_type;
6795         break;
6796       }
6797
6798       // optional .opencv_caffe.PriorBoxParameter.CodeType code_type = 6 [default = CORNER];
6799       case 6: {
6800         if (tag == 48) {
6801          parse_code_type:
6802           int value;
6803           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
6804                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
6805                  input, &value)));
6806           if (::opencv_caffe::PriorBoxParameter_CodeType_IsValid(value)) {
6807             set_code_type(static_cast< ::opencv_caffe::PriorBoxParameter_CodeType >(value));
6808           } else {
6809             mutable_unknown_fields()->AddVarint(6, value);
6810           }
6811         } else {
6812           goto handle_unusual;
6813         }
6814         if (input->ExpectTag(56)) goto parse_keep_top_k;
6815         break;
6816       }
6817
6818       // optional int32 keep_top_k = 7 [default = -1];
6819       case 7: {
6820         if (tag == 56) {
6821          parse_keep_top_k:
6822           set_has_keep_top_k();
6823           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
6824                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
6825                  input, &keep_top_k_)));
6826         } else {
6827           goto handle_unusual;
6828         }
6829         if (input->ExpectTag(64)) goto parse_variance_encoded_in_target;
6830         break;
6831       }
6832
6833       // optional bool variance_encoded_in_target = 8 [default = false];
6834       case 8: {
6835         if (tag == 64) {
6836          parse_variance_encoded_in_target:
6837           set_has_variance_encoded_in_target();
6838           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
6839                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
6840                  input, &variance_encoded_in_target_)));
6841         } else {
6842           goto handle_unusual;
6843         }
6844         if (input->ExpectTag(77)) goto parse_confidence_threshold;
6845         break;
6846       }
6847
6848       // optional float confidence_threshold = 9;
6849       case 9: {
6850         if (tag == 77) {
6851          parse_confidence_threshold:
6852           set_has_confidence_threshold();
6853           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
6854                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
6855                  input, &confidence_threshold_)));
6856         } else {
6857           goto handle_unusual;
6858         }
6859         if (input->ExpectAtEnd()) goto success;
6860         break;
6861       }
6862
6863       default: {
6864       handle_unusual:
6865         if (tag == 0 ||
6866             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
6867             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
6868           goto success;
6869         }
6870         DO_(::google::protobuf::internal::WireFormat::SkipField(
6871               input, tag, mutable_unknown_fields()));
6872         break;
6873       }
6874     }
6875   }
6876 success:
6877   // @@protoc_insertion_point(parse_success:opencv_caffe.DetectionOutputParameter)
6878   return true;
6879 failure:
6880   // @@protoc_insertion_point(parse_failure:opencv_caffe.DetectionOutputParameter)
6881   return false;
6882 #undef DO_
6883 }
6884
6885 void DetectionOutputParameter::SerializeWithCachedSizes(
6886     ::google::protobuf::io::CodedOutputStream* output) const {
6887   // @@protoc_insertion_point(serialize_start:opencv_caffe.DetectionOutputParameter)
6888   // optional uint32 num_classes = 1;
6889   if (has_num_classes()) {
6890     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->num_classes(), output);
6891   }
6892
6893   // optional bool share_location = 2 [default = true];
6894   if (has_share_location()) {
6895     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->share_location(), output);
6896   }
6897
6898   // optional int32 background_label_id = 3 [default = 0];
6899   if (has_background_label_id()) {
6900     ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->background_label_id(), output);
6901   }
6902
6903   // optional .opencv_caffe.NonMaximumSuppressionParameter nms_param = 4;
6904   if (has_nms_param()) {
6905     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
6906       4, *this->nms_param_, output);
6907   }
6908
6909   // optional .opencv_caffe.SaveOutputParameter save_output_param = 5;
6910   if (has_save_output_param()) {
6911     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
6912       5, *this->save_output_param_, output);
6913   }
6914
6915   // optional .opencv_caffe.PriorBoxParameter.CodeType code_type = 6 [default = CORNER];
6916   if (has_code_type()) {
6917     ::google::protobuf::internal::WireFormatLite::WriteEnum(
6918       6, this->code_type(), output);
6919   }
6920
6921   // optional int32 keep_top_k = 7 [default = -1];
6922   if (has_keep_top_k()) {
6923     ::google::protobuf::internal::WireFormatLite::WriteInt32(7, this->keep_top_k(), output);
6924   }
6925
6926   // optional bool variance_encoded_in_target = 8 [default = false];
6927   if (has_variance_encoded_in_target()) {
6928     ::google::protobuf::internal::WireFormatLite::WriteBool(8, this->variance_encoded_in_target(), output);
6929   }
6930
6931   // optional float confidence_threshold = 9;
6932   if (has_confidence_threshold()) {
6933     ::google::protobuf::internal::WireFormatLite::WriteFloat(9, this->confidence_threshold(), output);
6934   }
6935
6936   if (_internal_metadata_.have_unknown_fields()) {
6937     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
6938         unknown_fields(), output);
6939   }
6940   // @@protoc_insertion_point(serialize_end:opencv_caffe.DetectionOutputParameter)
6941 }
6942
6943 ::google::protobuf::uint8* DetectionOutputParameter::InternalSerializeWithCachedSizesToArray(
6944     bool deterministic, ::google::protobuf::uint8* target) const {
6945   (void)deterministic; // Unused
6946   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.DetectionOutputParameter)
6947   // optional uint32 num_classes = 1;
6948   if (has_num_classes()) {
6949     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->num_classes(), target);
6950   }
6951
6952   // optional bool share_location = 2 [default = true];
6953   if (has_share_location()) {
6954     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->share_location(), target);
6955   }
6956
6957   // optional int32 background_label_id = 3 [default = 0];
6958   if (has_background_label_id()) {
6959     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->background_label_id(), target);
6960   }
6961
6962   // optional .opencv_caffe.NonMaximumSuppressionParameter nms_param = 4;
6963   if (has_nms_param()) {
6964     target = ::google::protobuf::internal::WireFormatLite::
6965       InternalWriteMessageNoVirtualToArray(
6966         4, *this->nms_param_, false, target);
6967   }
6968
6969   // optional .opencv_caffe.SaveOutputParameter save_output_param = 5;
6970   if (has_save_output_param()) {
6971     target = ::google::protobuf::internal::WireFormatLite::
6972       InternalWriteMessageNoVirtualToArray(
6973         5, *this->save_output_param_, false, target);
6974   }
6975
6976   // optional .opencv_caffe.PriorBoxParameter.CodeType code_type = 6 [default = CORNER];
6977   if (has_code_type()) {
6978     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
6979       6, this->code_type(), target);
6980   }
6981
6982   // optional int32 keep_top_k = 7 [default = -1];
6983   if (has_keep_top_k()) {
6984     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(7, this->keep_top_k(), target);
6985   }
6986
6987   // optional bool variance_encoded_in_target = 8 [default = false];
6988   if (has_variance_encoded_in_target()) {
6989     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(8, this->variance_encoded_in_target(), target);
6990   }
6991
6992   // optional float confidence_threshold = 9;
6993   if (has_confidence_threshold()) {
6994     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(9, this->confidence_threshold(), target);
6995   }
6996
6997   if (_internal_metadata_.have_unknown_fields()) {
6998     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
6999         unknown_fields(), target);
7000   }
7001   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.DetectionOutputParameter)
7002   return target;
7003 }
7004
7005 size_t DetectionOutputParameter::ByteSizeLong() const {
7006 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.DetectionOutputParameter)
7007   size_t total_size = 0;
7008
7009   if (_has_bits_[0 / 32] & 255u) {
7010     // optional uint32 num_classes = 1;
7011     if (has_num_classes()) {
7012       total_size += 1 +
7013         ::google::protobuf::internal::WireFormatLite::UInt32Size(
7014           this->num_classes());
7015     }
7016
7017     // optional bool share_location = 2 [default = true];
7018     if (has_share_location()) {
7019       total_size += 1 + 1;
7020     }
7021
7022     // optional int32 background_label_id = 3 [default = 0];
7023     if (has_background_label_id()) {
7024       total_size += 1 +
7025         ::google::protobuf::internal::WireFormatLite::Int32Size(
7026           this->background_label_id());
7027     }
7028
7029     // optional .opencv_caffe.NonMaximumSuppressionParameter nms_param = 4;
7030     if (has_nms_param()) {
7031       total_size += 1 +
7032         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
7033           *this->nms_param_);
7034     }
7035
7036     // optional .opencv_caffe.SaveOutputParameter save_output_param = 5;
7037     if (has_save_output_param()) {
7038       total_size += 1 +
7039         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
7040           *this->save_output_param_);
7041     }
7042
7043     // optional .opencv_caffe.PriorBoxParameter.CodeType code_type = 6 [default = CORNER];
7044     if (has_code_type()) {
7045       total_size += 1 +
7046         ::google::protobuf::internal::WireFormatLite::EnumSize(this->code_type());
7047     }
7048
7049     // optional bool variance_encoded_in_target = 8 [default = false];
7050     if (has_variance_encoded_in_target()) {
7051       total_size += 1 + 1;
7052     }
7053
7054     // optional int32 keep_top_k = 7 [default = -1];
7055     if (has_keep_top_k()) {
7056       total_size += 1 +
7057         ::google::protobuf::internal::WireFormatLite::Int32Size(
7058           this->keep_top_k());
7059     }
7060
7061   }
7062   // optional float confidence_threshold = 9;
7063   if (has_confidence_threshold()) {
7064     total_size += 1 + 4;
7065   }
7066
7067   if (_internal_metadata_.have_unknown_fields()) {
7068     total_size +=
7069       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
7070         unknown_fields());
7071   }
7072   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
7073   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
7074   _cached_size_ = cached_size;
7075   GOOGLE_SAFE_CONCURRENT_WRITES_END();
7076   return total_size;
7077 }
7078
7079 void DetectionOutputParameter::MergeFrom(const ::google::protobuf::Message& from) {
7080 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.DetectionOutputParameter)
7081   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
7082   const DetectionOutputParameter* source =
7083       ::google::protobuf::internal::DynamicCastToGenerated<const DetectionOutputParameter>(
7084           &from);
7085   if (source == NULL) {
7086   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.DetectionOutputParameter)
7087     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
7088   } else {
7089   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.DetectionOutputParameter)
7090     UnsafeMergeFrom(*source);
7091   }
7092 }
7093
7094 void DetectionOutputParameter::MergeFrom(const DetectionOutputParameter& from) {
7095 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.DetectionOutputParameter)
7096   if (GOOGLE_PREDICT_TRUE(&from != this)) {
7097     UnsafeMergeFrom(from);
7098   } else {
7099     MergeFromFail(__LINE__);
7100   }
7101 }
7102
7103 void DetectionOutputParameter::UnsafeMergeFrom(const DetectionOutputParameter& from) {
7104   GOOGLE_DCHECK(&from != this);
7105   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
7106     if (from.has_num_classes()) {
7107       set_num_classes(from.num_classes());
7108     }
7109     if (from.has_share_location()) {
7110       set_share_location(from.share_location());
7111     }
7112     if (from.has_background_label_id()) {
7113       set_background_label_id(from.background_label_id());
7114     }
7115     if (from.has_nms_param()) {
7116       mutable_nms_param()->::opencv_caffe::NonMaximumSuppressionParameter::MergeFrom(from.nms_param());
7117     }
7118     if (from.has_save_output_param()) {
7119       mutable_save_output_param()->::opencv_caffe::SaveOutputParameter::MergeFrom(from.save_output_param());
7120     }
7121     if (from.has_code_type()) {
7122       set_code_type(from.code_type());
7123     }
7124     if (from.has_variance_encoded_in_target()) {
7125       set_variance_encoded_in_target(from.variance_encoded_in_target());
7126     }
7127     if (from.has_keep_top_k()) {
7128       set_keep_top_k(from.keep_top_k());
7129     }
7130   }
7131   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
7132     if (from.has_confidence_threshold()) {
7133       set_confidence_threshold(from.confidence_threshold());
7134     }
7135   }
7136   if (from._internal_metadata_.have_unknown_fields()) {
7137     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
7138       from.unknown_fields(), &_internal_metadata_);
7139   }
7140 }
7141
7142 void DetectionOutputParameter::CopyFrom(const ::google::protobuf::Message& from) {
7143 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.DetectionOutputParameter)
7144   if (&from == this) return;
7145   Clear();
7146   MergeFrom(from);
7147 }
7148
7149 void DetectionOutputParameter::CopyFrom(const DetectionOutputParameter& from) {
7150 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.DetectionOutputParameter)
7151   if (&from == this) return;
7152   Clear();
7153   UnsafeMergeFrom(from);
7154 }
7155
7156 bool DetectionOutputParameter::IsInitialized() const {
7157
7158   return true;
7159 }
7160
7161 void DetectionOutputParameter::Swap(DetectionOutputParameter* other) {
7162   if (other == this) return;
7163   InternalSwap(other);
7164 }
7165 void DetectionOutputParameter::InternalSwap(DetectionOutputParameter* other) {
7166   std::swap(num_classes_, other->num_classes_);
7167   std::swap(share_location_, other->share_location_);
7168   std::swap(background_label_id_, other->background_label_id_);
7169   std::swap(nms_param_, other->nms_param_);
7170   std::swap(save_output_param_, other->save_output_param_);
7171   std::swap(code_type_, other->code_type_);
7172   std::swap(variance_encoded_in_target_, other->variance_encoded_in_target_);
7173   std::swap(keep_top_k_, other->keep_top_k_);
7174   std::swap(confidence_threshold_, other->confidence_threshold_);
7175   std::swap(_has_bits_[0], other->_has_bits_[0]);
7176   _internal_metadata_.Swap(&other->_internal_metadata_);
7177   std::swap(_cached_size_, other->_cached_size_);
7178 }
7179
7180 ::google::protobuf::Metadata DetectionOutputParameter::GetMetadata() const {
7181   protobuf_AssignDescriptorsOnce();
7182   ::google::protobuf::Metadata metadata;
7183   metadata.descriptor = DetectionOutputParameter_descriptor_;
7184   metadata.reflection = DetectionOutputParameter_reflection_;
7185   return metadata;
7186 }
7187
7188 #if PROTOBUF_INLINE_NOT_IN_HEADERS
7189 // DetectionOutputParameter
7190
7191 // optional uint32 num_classes = 1;
7192 bool DetectionOutputParameter::has_num_classes() const {
7193   return (_has_bits_[0] & 0x00000001u) != 0;
7194 }
7195 void DetectionOutputParameter::set_has_num_classes() {
7196   _has_bits_[0] |= 0x00000001u;
7197 }
7198 void DetectionOutputParameter::clear_has_num_classes() {
7199   _has_bits_[0] &= ~0x00000001u;
7200 }
7201 void DetectionOutputParameter::clear_num_classes() {
7202   num_classes_ = 0u;
7203   clear_has_num_classes();
7204 }
7205 ::google::protobuf::uint32 DetectionOutputParameter::num_classes() const {
7206   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.num_classes)
7207   return num_classes_;
7208 }
7209 void DetectionOutputParameter::set_num_classes(::google::protobuf::uint32 value) {
7210   set_has_num_classes();
7211   num_classes_ = value;
7212   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.num_classes)
7213 }
7214
7215 // optional bool share_location = 2 [default = true];
7216 bool DetectionOutputParameter::has_share_location() const {
7217   return (_has_bits_[0] & 0x00000002u) != 0;
7218 }
7219 void DetectionOutputParameter::set_has_share_location() {
7220   _has_bits_[0] |= 0x00000002u;
7221 }
7222 void DetectionOutputParameter::clear_has_share_location() {
7223   _has_bits_[0] &= ~0x00000002u;
7224 }
7225 void DetectionOutputParameter::clear_share_location() {
7226   share_location_ = true;
7227   clear_has_share_location();
7228 }
7229 bool DetectionOutputParameter::share_location() const {
7230   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.share_location)
7231   return share_location_;
7232 }
7233 void DetectionOutputParameter::set_share_location(bool value) {
7234   set_has_share_location();
7235   share_location_ = value;
7236   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.share_location)
7237 }
7238
7239 // optional int32 background_label_id = 3 [default = 0];
7240 bool DetectionOutputParameter::has_background_label_id() const {
7241   return (_has_bits_[0] & 0x00000004u) != 0;
7242 }
7243 void DetectionOutputParameter::set_has_background_label_id() {
7244   _has_bits_[0] |= 0x00000004u;
7245 }
7246 void DetectionOutputParameter::clear_has_background_label_id() {
7247   _has_bits_[0] &= ~0x00000004u;
7248 }
7249 void DetectionOutputParameter::clear_background_label_id() {
7250   background_label_id_ = 0;
7251   clear_has_background_label_id();
7252 }
7253 ::google::protobuf::int32 DetectionOutputParameter::background_label_id() const {
7254   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.background_label_id)
7255   return background_label_id_;
7256 }
7257 void DetectionOutputParameter::set_background_label_id(::google::protobuf::int32 value) {
7258   set_has_background_label_id();
7259   background_label_id_ = value;
7260   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.background_label_id)
7261 }
7262
7263 // optional .opencv_caffe.NonMaximumSuppressionParameter nms_param = 4;
7264 bool DetectionOutputParameter::has_nms_param() const {
7265   return (_has_bits_[0] & 0x00000008u) != 0;
7266 }
7267 void DetectionOutputParameter::set_has_nms_param() {
7268   _has_bits_[0] |= 0x00000008u;
7269 }
7270 void DetectionOutputParameter::clear_has_nms_param() {
7271   _has_bits_[0] &= ~0x00000008u;
7272 }
7273 void DetectionOutputParameter::clear_nms_param() {
7274   if (nms_param_ != NULL) nms_param_->::opencv_caffe::NonMaximumSuppressionParameter::Clear();
7275   clear_has_nms_param();
7276 }
7277 const ::opencv_caffe::NonMaximumSuppressionParameter& DetectionOutputParameter::nms_param() const {
7278   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.nms_param)
7279   return nms_param_ != NULL ? *nms_param_
7280                          : *::opencv_caffe::NonMaximumSuppressionParameter::internal_default_instance();
7281 }
7282 ::opencv_caffe::NonMaximumSuppressionParameter* DetectionOutputParameter::mutable_nms_param() {
7283   set_has_nms_param();
7284   if (nms_param_ == NULL) {
7285     nms_param_ = new ::opencv_caffe::NonMaximumSuppressionParameter;
7286   }
7287   // @@protoc_insertion_point(field_mutable:opencv_caffe.DetectionOutputParameter.nms_param)
7288   return nms_param_;
7289 }
7290 ::opencv_caffe::NonMaximumSuppressionParameter* DetectionOutputParameter::release_nms_param() {
7291   // @@protoc_insertion_point(field_release:opencv_caffe.DetectionOutputParameter.nms_param)
7292   clear_has_nms_param();
7293   ::opencv_caffe::NonMaximumSuppressionParameter* temp = nms_param_;
7294   nms_param_ = NULL;
7295   return temp;
7296 }
7297 void DetectionOutputParameter::set_allocated_nms_param(::opencv_caffe::NonMaximumSuppressionParameter* nms_param) {
7298   delete nms_param_;
7299   nms_param_ = nms_param;
7300   if (nms_param) {
7301     set_has_nms_param();
7302   } else {
7303     clear_has_nms_param();
7304   }
7305   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.DetectionOutputParameter.nms_param)
7306 }
7307
7308 // optional .opencv_caffe.SaveOutputParameter save_output_param = 5;
7309 bool DetectionOutputParameter::has_save_output_param() const {
7310   return (_has_bits_[0] & 0x00000010u) != 0;
7311 }
7312 void DetectionOutputParameter::set_has_save_output_param() {
7313   _has_bits_[0] |= 0x00000010u;
7314 }
7315 void DetectionOutputParameter::clear_has_save_output_param() {
7316   _has_bits_[0] &= ~0x00000010u;
7317 }
7318 void DetectionOutputParameter::clear_save_output_param() {
7319   if (save_output_param_ != NULL) save_output_param_->::opencv_caffe::SaveOutputParameter::Clear();
7320   clear_has_save_output_param();
7321 }
7322 const ::opencv_caffe::SaveOutputParameter& DetectionOutputParameter::save_output_param() const {
7323   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.save_output_param)
7324   return save_output_param_ != NULL ? *save_output_param_
7325                          : *::opencv_caffe::SaveOutputParameter::internal_default_instance();
7326 }
7327 ::opencv_caffe::SaveOutputParameter* DetectionOutputParameter::mutable_save_output_param() {
7328   set_has_save_output_param();
7329   if (save_output_param_ == NULL) {
7330     save_output_param_ = new ::opencv_caffe::SaveOutputParameter;
7331   }
7332   // @@protoc_insertion_point(field_mutable:opencv_caffe.DetectionOutputParameter.save_output_param)
7333   return save_output_param_;
7334 }
7335 ::opencv_caffe::SaveOutputParameter* DetectionOutputParameter::release_save_output_param() {
7336   // @@protoc_insertion_point(field_release:opencv_caffe.DetectionOutputParameter.save_output_param)
7337   clear_has_save_output_param();
7338   ::opencv_caffe::SaveOutputParameter* temp = save_output_param_;
7339   save_output_param_ = NULL;
7340   return temp;
7341 }
7342 void DetectionOutputParameter::set_allocated_save_output_param(::opencv_caffe::SaveOutputParameter* save_output_param) {
7343   delete save_output_param_;
7344   save_output_param_ = save_output_param;
7345   if (save_output_param) {
7346     set_has_save_output_param();
7347   } else {
7348     clear_has_save_output_param();
7349   }
7350   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.DetectionOutputParameter.save_output_param)
7351 }
7352
7353 // optional .opencv_caffe.PriorBoxParameter.CodeType code_type = 6 [default = CORNER];
7354 bool DetectionOutputParameter::has_code_type() const {
7355   return (_has_bits_[0] & 0x00000020u) != 0;
7356 }
7357 void DetectionOutputParameter::set_has_code_type() {
7358   _has_bits_[0] |= 0x00000020u;
7359 }
7360 void DetectionOutputParameter::clear_has_code_type() {
7361   _has_bits_[0] &= ~0x00000020u;
7362 }
7363 void DetectionOutputParameter::clear_code_type() {
7364   code_type_ = 1;
7365   clear_has_code_type();
7366 }
7367 ::opencv_caffe::PriorBoxParameter_CodeType DetectionOutputParameter::code_type() const {
7368   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.code_type)
7369   return static_cast< ::opencv_caffe::PriorBoxParameter_CodeType >(code_type_);
7370 }
7371 void DetectionOutputParameter::set_code_type(::opencv_caffe::PriorBoxParameter_CodeType value) {
7372   assert(::opencv_caffe::PriorBoxParameter_CodeType_IsValid(value));
7373   set_has_code_type();
7374   code_type_ = value;
7375   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.code_type)
7376 }
7377
7378 // optional bool variance_encoded_in_target = 8 [default = false];
7379 bool DetectionOutputParameter::has_variance_encoded_in_target() const {
7380   return (_has_bits_[0] & 0x00000040u) != 0;
7381 }
7382 void DetectionOutputParameter::set_has_variance_encoded_in_target() {
7383   _has_bits_[0] |= 0x00000040u;
7384 }
7385 void DetectionOutputParameter::clear_has_variance_encoded_in_target() {
7386   _has_bits_[0] &= ~0x00000040u;
7387 }
7388 void DetectionOutputParameter::clear_variance_encoded_in_target() {
7389   variance_encoded_in_target_ = false;
7390   clear_has_variance_encoded_in_target();
7391 }
7392 bool DetectionOutputParameter::variance_encoded_in_target() const {
7393   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.variance_encoded_in_target)
7394   return variance_encoded_in_target_;
7395 }
7396 void DetectionOutputParameter::set_variance_encoded_in_target(bool value) {
7397   set_has_variance_encoded_in_target();
7398   variance_encoded_in_target_ = value;
7399   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.variance_encoded_in_target)
7400 }
7401
7402 // optional int32 keep_top_k = 7 [default = -1];
7403 bool DetectionOutputParameter::has_keep_top_k() const {
7404   return (_has_bits_[0] & 0x00000080u) != 0;
7405 }
7406 void DetectionOutputParameter::set_has_keep_top_k() {
7407   _has_bits_[0] |= 0x00000080u;
7408 }
7409 void DetectionOutputParameter::clear_has_keep_top_k() {
7410   _has_bits_[0] &= ~0x00000080u;
7411 }
7412 void DetectionOutputParameter::clear_keep_top_k() {
7413   keep_top_k_ = -1;
7414   clear_has_keep_top_k();
7415 }
7416 ::google::protobuf::int32 DetectionOutputParameter::keep_top_k() const {
7417   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.keep_top_k)
7418   return keep_top_k_;
7419 }
7420 void DetectionOutputParameter::set_keep_top_k(::google::protobuf::int32 value) {
7421   set_has_keep_top_k();
7422   keep_top_k_ = value;
7423   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.keep_top_k)
7424 }
7425
7426 // optional float confidence_threshold = 9;
7427 bool DetectionOutputParameter::has_confidence_threshold() const {
7428   return (_has_bits_[0] & 0x00000100u) != 0;
7429 }
7430 void DetectionOutputParameter::set_has_confidence_threshold() {
7431   _has_bits_[0] |= 0x00000100u;
7432 }
7433 void DetectionOutputParameter::clear_has_confidence_threshold() {
7434   _has_bits_[0] &= ~0x00000100u;
7435 }
7436 void DetectionOutputParameter::clear_confidence_threshold() {
7437   confidence_threshold_ = 0;
7438   clear_has_confidence_threshold();
7439 }
7440 float DetectionOutputParameter::confidence_threshold() const {
7441   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.confidence_threshold)
7442   return confidence_threshold_;
7443 }
7444 void DetectionOutputParameter::set_confidence_threshold(float value) {
7445   set_has_confidence_threshold();
7446   confidence_threshold_ = value;
7447   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.confidence_threshold)
7448 }
7449
7450 inline const DetectionOutputParameter* DetectionOutputParameter::internal_default_instance() {
7451   return &DetectionOutputParameter_default_instance_.get();
7452 }
7453 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
7454
7455 // ===================================================================
7456
7457 #if !defined(_MSC_VER) || _MSC_VER >= 1900
7458 const int Datum::kChannelsFieldNumber;
7459 const int Datum::kHeightFieldNumber;
7460 const int Datum::kWidthFieldNumber;
7461 const int Datum::kDataFieldNumber;
7462 const int Datum::kLabelFieldNumber;
7463 const int Datum::kFloatDataFieldNumber;
7464 const int Datum::kEncodedFieldNumber;
7465 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
7466
7467 Datum::Datum()
7468   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
7469   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
7470   SharedCtor();
7471   // @@protoc_insertion_point(constructor:opencv_caffe.Datum)
7472 }
7473
7474 void Datum::InitAsDefaultInstance() {
7475 }
7476
7477 Datum::Datum(const Datum& from)
7478   : ::google::protobuf::Message(),
7479     _internal_metadata_(NULL) {
7480   SharedCtor();
7481   UnsafeMergeFrom(from);
7482   // @@protoc_insertion_point(copy_constructor:opencv_caffe.Datum)
7483 }
7484
7485 void Datum::SharedCtor() {
7486   _cached_size_ = 0;
7487   data_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
7488   ::memset(&channels_, 0, reinterpret_cast<char*>(&encoded_) -
7489     reinterpret_cast<char*>(&channels_) + sizeof(encoded_));
7490 }
7491
7492 Datum::~Datum() {
7493   // @@protoc_insertion_point(destructor:opencv_caffe.Datum)
7494   SharedDtor();
7495 }
7496
7497 void Datum::SharedDtor() {
7498   data_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
7499 }
7500
7501 void Datum::SetCachedSize(int size) const {
7502   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
7503   _cached_size_ = size;
7504   GOOGLE_SAFE_CONCURRENT_WRITES_END();
7505 }
7506 const ::google::protobuf::Descriptor* Datum::descriptor() {
7507   protobuf_AssignDescriptorsOnce();
7508   return Datum_descriptor_;
7509 }
7510
7511 const Datum& Datum::default_instance() {
7512   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
7513   return *internal_default_instance();
7514 }
7515
7516 ::google::protobuf::internal::ExplicitlyConstructed<Datum> Datum_default_instance_;
7517
7518 Datum* Datum::New(::google::protobuf::Arena* arena) const {
7519   Datum* n = new Datum;
7520   if (arena != NULL) {
7521     arena->Own(n);
7522   }
7523   return n;
7524 }
7525
7526 void Datum::Clear() {
7527 // @@protoc_insertion_point(message_clear_start:opencv_caffe.Datum)
7528 #if defined(__clang__)
7529 #define ZR_HELPER_(f) \
7530   _Pragma("clang diagnostic push") \
7531   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
7532   __builtin_offsetof(Datum, f) \
7533   _Pragma("clang diagnostic pop")
7534 #else
7535 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
7536   &reinterpret_cast<Datum*>(16)->f)
7537 #endif
7538
7539 #define ZR_(first, last) do {\
7540   ::memset(&(first), 0,\
7541            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
7542 } while (0)
7543
7544   if (_has_bits_[0 / 32] & 95u) {
7545     ZR_(channels_, encoded_);
7546     if (has_data()) {
7547       data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
7548     }
7549   }
7550
7551 #undef ZR_HELPER_
7552 #undef ZR_
7553
7554   float_data_.Clear();
7555   _has_bits_.Clear();
7556   if (_internal_metadata_.have_unknown_fields()) {
7557     mutable_unknown_fields()->Clear();
7558   }
7559 }
7560
7561 bool Datum::MergePartialFromCodedStream(
7562     ::google::protobuf::io::CodedInputStream* input) {
7563 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
7564   ::google::protobuf::uint32 tag;
7565   // @@protoc_insertion_point(parse_start:opencv_caffe.Datum)
7566   for (;;) {
7567     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
7568     tag = p.first;
7569     if (!p.second) goto handle_unusual;
7570     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
7571       // optional int32 channels = 1;
7572       case 1: {
7573         if (tag == 8) {
7574           set_has_channels();
7575           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
7576                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
7577                  input, &channels_)));
7578         } else {
7579           goto handle_unusual;
7580         }
7581         if (input->ExpectTag(16)) goto parse_height;
7582         break;
7583       }
7584
7585       // optional int32 height = 2;
7586       case 2: {
7587         if (tag == 16) {
7588          parse_height:
7589           set_has_height();
7590           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
7591                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
7592                  input, &height_)));
7593         } else {
7594           goto handle_unusual;
7595         }
7596         if (input->ExpectTag(24)) goto parse_width;
7597         break;
7598       }
7599
7600       // optional int32 width = 3;
7601       case 3: {
7602         if (tag == 24) {
7603          parse_width:
7604           set_has_width();
7605           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
7606                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
7607                  input, &width_)));
7608         } else {
7609           goto handle_unusual;
7610         }
7611         if (input->ExpectTag(34)) goto parse_data;
7612         break;
7613       }
7614
7615       // optional bytes data = 4;
7616       case 4: {
7617         if (tag == 34) {
7618          parse_data:
7619           DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
7620                 input, this->mutable_data()));
7621         } else {
7622           goto handle_unusual;
7623         }
7624         if (input->ExpectTag(40)) goto parse_label;
7625         break;
7626       }
7627
7628       // optional int32 label = 5;
7629       case 5: {
7630         if (tag == 40) {
7631          parse_label:
7632           set_has_label();
7633           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
7634                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
7635                  input, &label_)));
7636         } else {
7637           goto handle_unusual;
7638         }
7639         if (input->ExpectTag(53)) goto parse_float_data;
7640         break;
7641       }
7642
7643       // repeated float float_data = 6;
7644       case 6: {
7645         if (tag == 53) {
7646          parse_float_data:
7647           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
7648                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
7649                  1, 53, input, this->mutable_float_data())));
7650         } else if (tag == 50) {
7651           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
7652                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
7653                  input, this->mutable_float_data())));
7654         } else {
7655           goto handle_unusual;
7656         }
7657         if (input->ExpectTag(53)) goto parse_float_data;
7658         if (input->ExpectTag(56)) goto parse_encoded;
7659         break;
7660       }
7661
7662       // optional bool encoded = 7 [default = false];
7663       case 7: {
7664         if (tag == 56) {
7665          parse_encoded:
7666           set_has_encoded();
7667           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
7668                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
7669                  input, &encoded_)));
7670         } else {
7671           goto handle_unusual;
7672         }
7673         if (input->ExpectAtEnd()) goto success;
7674         break;
7675       }
7676
7677       default: {
7678       handle_unusual:
7679         if (tag == 0 ||
7680             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
7681             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
7682           goto success;
7683         }
7684         DO_(::google::protobuf::internal::WireFormat::SkipField(
7685               input, tag, mutable_unknown_fields()));
7686         break;
7687       }
7688     }
7689   }
7690 success:
7691   // @@protoc_insertion_point(parse_success:opencv_caffe.Datum)
7692   return true;
7693 failure:
7694   // @@protoc_insertion_point(parse_failure:opencv_caffe.Datum)
7695   return false;
7696 #undef DO_
7697 }
7698
7699 void Datum::SerializeWithCachedSizes(
7700     ::google::protobuf::io::CodedOutputStream* output) const {
7701   // @@protoc_insertion_point(serialize_start:opencv_caffe.Datum)
7702   // optional int32 channels = 1;
7703   if (has_channels()) {
7704     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->channels(), output);
7705   }
7706
7707   // optional int32 height = 2;
7708   if (has_height()) {
7709     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->height(), output);
7710   }
7711
7712   // optional int32 width = 3;
7713   if (has_width()) {
7714     ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->width(), output);
7715   }
7716
7717   // optional bytes data = 4;
7718   if (has_data()) {
7719     ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
7720       4, this->data(), output);
7721   }
7722
7723   // optional int32 label = 5;
7724   if (has_label()) {
7725     ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->label(), output);
7726   }
7727
7728   // repeated float float_data = 6;
7729   for (int i = 0; i < this->float_data_size(); i++) {
7730     ::google::protobuf::internal::WireFormatLite::WriteFloat(
7731       6, this->float_data(i), output);
7732   }
7733
7734   // optional bool encoded = 7 [default = false];
7735   if (has_encoded()) {
7736     ::google::protobuf::internal::WireFormatLite::WriteBool(7, this->encoded(), output);
7737   }
7738
7739   if (_internal_metadata_.have_unknown_fields()) {
7740     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
7741         unknown_fields(), output);
7742   }
7743   // @@protoc_insertion_point(serialize_end:opencv_caffe.Datum)
7744 }
7745
7746 ::google::protobuf::uint8* Datum::InternalSerializeWithCachedSizesToArray(
7747     bool deterministic, ::google::protobuf::uint8* target) const {
7748   (void)deterministic; // Unused
7749   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.Datum)
7750   // optional int32 channels = 1;
7751   if (has_channels()) {
7752     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->channels(), target);
7753   }
7754
7755   // optional int32 height = 2;
7756   if (has_height()) {
7757     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->height(), target);
7758   }
7759
7760   // optional int32 width = 3;
7761   if (has_width()) {
7762     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->width(), target);
7763   }
7764
7765   // optional bytes data = 4;
7766   if (has_data()) {
7767     target =
7768       ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
7769         4, this->data(), target);
7770   }
7771
7772   // optional int32 label = 5;
7773   if (has_label()) {
7774     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(5, this->label(), target);
7775   }
7776
7777   // repeated float float_data = 6;
7778   for (int i = 0; i < this->float_data_size(); i++) {
7779     target = ::google::protobuf::internal::WireFormatLite::
7780       WriteFloatToArray(6, this->float_data(i), target);
7781   }
7782
7783   // optional bool encoded = 7 [default = false];
7784   if (has_encoded()) {
7785     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(7, this->encoded(), target);
7786   }
7787
7788   if (_internal_metadata_.have_unknown_fields()) {
7789     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
7790         unknown_fields(), target);
7791   }
7792   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.Datum)
7793   return target;
7794 }
7795
7796 size_t Datum::ByteSizeLong() const {
7797 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.Datum)
7798   size_t total_size = 0;
7799
7800   if (_has_bits_[0 / 32] & 95u) {
7801     // optional int32 channels = 1;
7802     if (has_channels()) {
7803       total_size += 1 +
7804         ::google::protobuf::internal::WireFormatLite::Int32Size(
7805           this->channels());
7806     }
7807
7808     // optional int32 height = 2;
7809     if (has_height()) {
7810       total_size += 1 +
7811         ::google::protobuf::internal::WireFormatLite::Int32Size(
7812           this->height());
7813     }
7814
7815     // optional int32 width = 3;
7816     if (has_width()) {
7817       total_size += 1 +
7818         ::google::protobuf::internal::WireFormatLite::Int32Size(
7819           this->width());
7820     }
7821
7822     // optional bytes data = 4;
7823     if (has_data()) {
7824       total_size += 1 +
7825         ::google::protobuf::internal::WireFormatLite::BytesSize(
7826           this->data());
7827     }
7828
7829     // optional int32 label = 5;
7830     if (has_label()) {
7831       total_size += 1 +
7832         ::google::protobuf::internal::WireFormatLite::Int32Size(
7833           this->label());
7834     }
7835
7836     // optional bool encoded = 7 [default = false];
7837     if (has_encoded()) {
7838       total_size += 1 + 1;
7839     }
7840
7841   }
7842   // repeated float float_data = 6;
7843   {
7844     size_t data_size = 0;
7845     unsigned int count = this->float_data_size();
7846     data_size = 4UL * count;
7847     total_size += 1 *
7848                   ::google::protobuf::internal::FromIntSize(this->float_data_size());
7849     total_size += data_size;
7850   }
7851
7852   if (_internal_metadata_.have_unknown_fields()) {
7853     total_size +=
7854       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
7855         unknown_fields());
7856   }
7857   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
7858   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
7859   _cached_size_ = cached_size;
7860   GOOGLE_SAFE_CONCURRENT_WRITES_END();
7861   return total_size;
7862 }
7863
7864 void Datum::MergeFrom(const ::google::protobuf::Message& from) {
7865 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.Datum)
7866   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
7867   const Datum* source =
7868       ::google::protobuf::internal::DynamicCastToGenerated<const Datum>(
7869           &from);
7870   if (source == NULL) {
7871   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.Datum)
7872     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
7873   } else {
7874   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.Datum)
7875     UnsafeMergeFrom(*source);
7876   }
7877 }
7878
7879 void Datum::MergeFrom(const Datum& from) {
7880 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.Datum)
7881   if (GOOGLE_PREDICT_TRUE(&from != this)) {
7882     UnsafeMergeFrom(from);
7883   } else {
7884     MergeFromFail(__LINE__);
7885   }
7886 }
7887
7888 void Datum::UnsafeMergeFrom(const Datum& from) {
7889   GOOGLE_DCHECK(&from != this);
7890   float_data_.UnsafeMergeFrom(from.float_data_);
7891   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
7892     if (from.has_channels()) {
7893       set_channels(from.channels());
7894     }
7895     if (from.has_height()) {
7896       set_height(from.height());
7897     }
7898     if (from.has_width()) {
7899       set_width(from.width());
7900     }
7901     if (from.has_data()) {
7902       set_has_data();
7903       data_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.data_);
7904     }
7905     if (from.has_label()) {
7906       set_label(from.label());
7907     }
7908     if (from.has_encoded()) {
7909       set_encoded(from.encoded());
7910     }
7911   }
7912   if (from._internal_metadata_.have_unknown_fields()) {
7913     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
7914       from.unknown_fields(), &_internal_metadata_);
7915   }
7916 }
7917
7918 void Datum::CopyFrom(const ::google::protobuf::Message& from) {
7919 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.Datum)
7920   if (&from == this) return;
7921   Clear();
7922   MergeFrom(from);
7923 }
7924
7925 void Datum::CopyFrom(const Datum& from) {
7926 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.Datum)
7927   if (&from == this) return;
7928   Clear();
7929   UnsafeMergeFrom(from);
7930 }
7931
7932 bool Datum::IsInitialized() const {
7933
7934   return true;
7935 }
7936
7937 void Datum::Swap(Datum* other) {
7938   if (other == this) return;
7939   InternalSwap(other);
7940 }
7941 void Datum::InternalSwap(Datum* other) {
7942   std::swap(channels_, other->channels_);
7943   std::swap(height_, other->height_);
7944   std::swap(width_, other->width_);
7945   data_.Swap(&other->data_);
7946   std::swap(label_, other->label_);
7947   float_data_.UnsafeArenaSwap(&other->float_data_);
7948   std::swap(encoded_, other->encoded_);
7949   std::swap(_has_bits_[0], other->_has_bits_[0]);
7950   _internal_metadata_.Swap(&other->_internal_metadata_);
7951   std::swap(_cached_size_, other->_cached_size_);
7952 }
7953
7954 ::google::protobuf::Metadata Datum::GetMetadata() const {
7955   protobuf_AssignDescriptorsOnce();
7956   ::google::protobuf::Metadata metadata;
7957   metadata.descriptor = Datum_descriptor_;
7958   metadata.reflection = Datum_reflection_;
7959   return metadata;
7960 }
7961
7962 #if PROTOBUF_INLINE_NOT_IN_HEADERS
7963 // Datum
7964
7965 // optional int32 channels = 1;
7966 bool Datum::has_channels() const {
7967   return (_has_bits_[0] & 0x00000001u) != 0;
7968 }
7969 void Datum::set_has_channels() {
7970   _has_bits_[0] |= 0x00000001u;
7971 }
7972 void Datum::clear_has_channels() {
7973   _has_bits_[0] &= ~0x00000001u;
7974 }
7975 void Datum::clear_channels() {
7976   channels_ = 0;
7977   clear_has_channels();
7978 }
7979 ::google::protobuf::int32 Datum::channels() const {
7980   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.channels)
7981   return channels_;
7982 }
7983 void Datum::set_channels(::google::protobuf::int32 value) {
7984   set_has_channels();
7985   channels_ = value;
7986   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.channels)
7987 }
7988
7989 // optional int32 height = 2;
7990 bool Datum::has_height() const {
7991   return (_has_bits_[0] & 0x00000002u) != 0;
7992 }
7993 void Datum::set_has_height() {
7994   _has_bits_[0] |= 0x00000002u;
7995 }
7996 void Datum::clear_has_height() {
7997   _has_bits_[0] &= ~0x00000002u;
7998 }
7999 void Datum::clear_height() {
8000   height_ = 0;
8001   clear_has_height();
8002 }
8003 ::google::protobuf::int32 Datum::height() const {
8004   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.height)
8005   return height_;
8006 }
8007 void Datum::set_height(::google::protobuf::int32 value) {
8008   set_has_height();
8009   height_ = value;
8010   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.height)
8011 }
8012
8013 // optional int32 width = 3;
8014 bool Datum::has_width() const {
8015   return (_has_bits_[0] & 0x00000004u) != 0;
8016 }
8017 void Datum::set_has_width() {
8018   _has_bits_[0] |= 0x00000004u;
8019 }
8020 void Datum::clear_has_width() {
8021   _has_bits_[0] &= ~0x00000004u;
8022 }
8023 void Datum::clear_width() {
8024   width_ = 0;
8025   clear_has_width();
8026 }
8027 ::google::protobuf::int32 Datum::width() const {
8028   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.width)
8029   return width_;
8030 }
8031 void Datum::set_width(::google::protobuf::int32 value) {
8032   set_has_width();
8033   width_ = value;
8034   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.width)
8035 }
8036
8037 // optional bytes data = 4;
8038 bool Datum::has_data() const {
8039   return (_has_bits_[0] & 0x00000008u) != 0;
8040 }
8041 void Datum::set_has_data() {
8042   _has_bits_[0] |= 0x00000008u;
8043 }
8044 void Datum::clear_has_data() {
8045   _has_bits_[0] &= ~0x00000008u;
8046 }
8047 void Datum::clear_data() {
8048   data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
8049   clear_has_data();
8050 }
8051 const ::std::string& Datum::data() const {
8052   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.data)
8053   return data_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
8054 }
8055 void Datum::set_data(const ::std::string& value) {
8056   set_has_data();
8057   data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
8058   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.data)
8059 }
8060 void Datum::set_data(const char* value) {
8061   set_has_data();
8062   data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
8063   // @@protoc_insertion_point(field_set_char:opencv_caffe.Datum.data)
8064 }
8065 void Datum::set_data(const void* value, size_t size) {
8066   set_has_data();
8067   data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
8068       ::std::string(reinterpret_cast<const char*>(value), size));
8069   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.Datum.data)
8070 }
8071 ::std::string* Datum::mutable_data() {
8072   set_has_data();
8073   // @@protoc_insertion_point(field_mutable:opencv_caffe.Datum.data)
8074   return data_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
8075 }
8076 ::std::string* Datum::release_data() {
8077   // @@protoc_insertion_point(field_release:opencv_caffe.Datum.data)
8078   clear_has_data();
8079   return data_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
8080 }
8081 void Datum::set_allocated_data(::std::string* data) {
8082   if (data != NULL) {
8083     set_has_data();
8084   } else {
8085     clear_has_data();
8086   }
8087   data_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), data);
8088   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.Datum.data)
8089 }
8090
8091 // optional int32 label = 5;
8092 bool Datum::has_label() const {
8093   return (_has_bits_[0] & 0x00000010u) != 0;
8094 }
8095 void Datum::set_has_label() {
8096   _has_bits_[0] |= 0x00000010u;
8097 }
8098 void Datum::clear_has_label() {
8099   _has_bits_[0] &= ~0x00000010u;
8100 }
8101 void Datum::clear_label() {
8102   label_ = 0;
8103   clear_has_label();
8104 }
8105 ::google::protobuf::int32 Datum::label() const {
8106   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.label)
8107   return label_;
8108 }
8109 void Datum::set_label(::google::protobuf::int32 value) {
8110   set_has_label();
8111   label_ = value;
8112   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.label)
8113 }
8114
8115 // repeated float float_data = 6;
8116 int Datum::float_data_size() const {
8117   return float_data_.size();
8118 }
8119 void Datum::clear_float_data() {
8120   float_data_.Clear();
8121 }
8122 float Datum::float_data(int index) const {
8123   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.float_data)
8124   return float_data_.Get(index);
8125 }
8126 void Datum::set_float_data(int index, float value) {
8127   float_data_.Set(index, value);
8128   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.float_data)
8129 }
8130 void Datum::add_float_data(float value) {
8131   float_data_.Add(value);
8132   // @@protoc_insertion_point(field_add:opencv_caffe.Datum.float_data)
8133 }
8134 const ::google::protobuf::RepeatedField< float >&
8135 Datum::float_data() const {
8136   // @@protoc_insertion_point(field_list:opencv_caffe.Datum.float_data)
8137   return float_data_;
8138 }
8139 ::google::protobuf::RepeatedField< float >*
8140 Datum::mutable_float_data() {
8141   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.Datum.float_data)
8142   return &float_data_;
8143 }
8144
8145 // optional bool encoded = 7 [default = false];
8146 bool Datum::has_encoded() const {
8147   return (_has_bits_[0] & 0x00000040u) != 0;
8148 }
8149 void Datum::set_has_encoded() {
8150   _has_bits_[0] |= 0x00000040u;
8151 }
8152 void Datum::clear_has_encoded() {
8153   _has_bits_[0] &= ~0x00000040u;
8154 }
8155 void Datum::clear_encoded() {
8156   encoded_ = false;
8157   clear_has_encoded();
8158 }
8159 bool Datum::encoded() const {
8160   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.encoded)
8161   return encoded_;
8162 }
8163 void Datum::set_encoded(bool value) {
8164   set_has_encoded();
8165   encoded_ = value;
8166   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.encoded)
8167 }
8168
8169 inline const Datum* Datum::internal_default_instance() {
8170   return &Datum_default_instance_.get();
8171 }
8172 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
8173
8174 // ===================================================================
8175
8176 const ::google::protobuf::EnumDescriptor* FillerParameter_VarianceNorm_descriptor() {
8177   protobuf_AssignDescriptorsOnce();
8178   return FillerParameter_VarianceNorm_descriptor_;
8179 }
8180 bool FillerParameter_VarianceNorm_IsValid(int value) {
8181   switch (value) {
8182     case 0:
8183     case 1:
8184     case 2:
8185       return true;
8186     default:
8187       return false;
8188   }
8189 }
8190
8191 #if !defined(_MSC_VER) || _MSC_VER >= 1900
8192 const FillerParameter_VarianceNorm FillerParameter::FAN_IN;
8193 const FillerParameter_VarianceNorm FillerParameter::FAN_OUT;
8194 const FillerParameter_VarianceNorm FillerParameter::AVERAGE;
8195 const FillerParameter_VarianceNorm FillerParameter::VarianceNorm_MIN;
8196 const FillerParameter_VarianceNorm FillerParameter::VarianceNorm_MAX;
8197 const int FillerParameter::VarianceNorm_ARRAYSIZE;
8198 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
8199 ::std::string* FillerParameter::_default_type_ = NULL;
8200 #if !defined(_MSC_VER) || _MSC_VER >= 1900
8201 const int FillerParameter::kTypeFieldNumber;
8202 const int FillerParameter::kValueFieldNumber;
8203 const int FillerParameter::kMinFieldNumber;
8204 const int FillerParameter::kMaxFieldNumber;
8205 const int FillerParameter::kMeanFieldNumber;
8206 const int FillerParameter::kStdFieldNumber;
8207 const int FillerParameter::kSparseFieldNumber;
8208 const int FillerParameter::kVarianceNormFieldNumber;
8209 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
8210
8211 FillerParameter::FillerParameter()
8212   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
8213   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
8214   SharedCtor();
8215   // @@protoc_insertion_point(constructor:opencv_caffe.FillerParameter)
8216 }
8217
8218 void FillerParameter::InitAsDefaultInstance() {
8219 }
8220
8221 FillerParameter::FillerParameter(const FillerParameter& from)
8222   : ::google::protobuf::Message(),
8223     _internal_metadata_(NULL) {
8224   SharedCtor();
8225   UnsafeMergeFrom(from);
8226   // @@protoc_insertion_point(copy_constructor:opencv_caffe.FillerParameter)
8227 }
8228
8229 void FillerParameter::SharedCtor() {
8230   _cached_size_ = 0;
8231   type_.UnsafeSetDefault(_default_type_);
8232   ::memset(&value_, 0, reinterpret_cast<char*>(&variance_norm_) -
8233     reinterpret_cast<char*>(&value_) + sizeof(variance_norm_));
8234   sparse_ = -1;
8235   max_ = 1;
8236   std_ = 1;
8237 }
8238
8239 FillerParameter::~FillerParameter() {
8240   // @@protoc_insertion_point(destructor:opencv_caffe.FillerParameter)
8241   SharedDtor();
8242 }
8243
8244 void FillerParameter::SharedDtor() {
8245   type_.DestroyNoArena(_default_type_);
8246 }
8247
8248 void FillerParameter::SetCachedSize(int size) const {
8249   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
8250   _cached_size_ = size;
8251   GOOGLE_SAFE_CONCURRENT_WRITES_END();
8252 }
8253 const ::google::protobuf::Descriptor* FillerParameter::descriptor() {
8254   protobuf_AssignDescriptorsOnce();
8255   return FillerParameter_descriptor_;
8256 }
8257
8258 const FillerParameter& FillerParameter::default_instance() {
8259   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
8260   return *internal_default_instance();
8261 }
8262
8263 ::google::protobuf::internal::ExplicitlyConstructed<FillerParameter> FillerParameter_default_instance_;
8264
8265 FillerParameter* FillerParameter::New(::google::protobuf::Arena* arena) const {
8266   FillerParameter* n = new FillerParameter;
8267   if (arena != NULL) {
8268     arena->Own(n);
8269   }
8270   return n;
8271 }
8272
8273 void FillerParameter::Clear() {
8274 // @@protoc_insertion_point(message_clear_start:opencv_caffe.FillerParameter)
8275 #if defined(__clang__)
8276 #define ZR_HELPER_(f) \
8277   _Pragma("clang diagnostic push") \
8278   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
8279   __builtin_offsetof(FillerParameter, f) \
8280   _Pragma("clang diagnostic pop")
8281 #else
8282 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
8283   &reinterpret_cast<FillerParameter*>(16)->f)
8284 #endif
8285
8286 #define ZR_(first, last) do {\
8287   ::memset(&(first), 0,\
8288            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
8289 } while (0)
8290
8291   if (_has_bits_[0 / 32] & 255u) {
8292     ZR_(value_, variance_norm_);
8293     if (has_type()) {
8294       type_.ClearToDefaultNoArena(_default_type_);
8295     }
8296     max_ = 1;
8297     std_ = 1;
8298     sparse_ = -1;
8299   }
8300
8301 #undef ZR_HELPER_
8302 #undef ZR_
8303
8304   _has_bits_.Clear();
8305   if (_internal_metadata_.have_unknown_fields()) {
8306     mutable_unknown_fields()->Clear();
8307   }
8308 }
8309
8310 bool FillerParameter::MergePartialFromCodedStream(
8311     ::google::protobuf::io::CodedInputStream* input) {
8312 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
8313   ::google::protobuf::uint32 tag;
8314   // @@protoc_insertion_point(parse_start:opencv_caffe.FillerParameter)
8315   for (;;) {
8316     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
8317     tag = p.first;
8318     if (!p.second) goto handle_unusual;
8319     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
8320       // optional string type = 1 [default = "constant"];
8321       case 1: {
8322         if (tag == 10) {
8323           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
8324                 input, this->mutable_type()));
8325           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
8326             this->type().data(), this->type().length(),
8327             ::google::protobuf::internal::WireFormat::PARSE,
8328             "opencv_caffe.FillerParameter.type");
8329         } else {
8330           goto handle_unusual;
8331         }
8332         if (input->ExpectTag(21)) goto parse_value;
8333         break;
8334       }
8335
8336       // optional float value = 2 [default = 0];
8337       case 2: {
8338         if (tag == 21) {
8339          parse_value:
8340           set_has_value();
8341           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
8342                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
8343                  input, &value_)));
8344         } else {
8345           goto handle_unusual;
8346         }
8347         if (input->ExpectTag(29)) goto parse_min;
8348         break;
8349       }
8350
8351       // optional float min = 3 [default = 0];
8352       case 3: {
8353         if (tag == 29) {
8354          parse_min:
8355           set_has_min();
8356           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
8357                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
8358                  input, &min_)));
8359         } else {
8360           goto handle_unusual;
8361         }
8362         if (input->ExpectTag(37)) goto parse_max;
8363         break;
8364       }
8365
8366       // optional float max = 4 [default = 1];
8367       case 4: {
8368         if (tag == 37) {
8369          parse_max:
8370           set_has_max();
8371           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
8372                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
8373                  input, &max_)));
8374         } else {
8375           goto handle_unusual;
8376         }
8377         if (input->ExpectTag(45)) goto parse_mean;
8378         break;
8379       }
8380
8381       // optional float mean = 5 [default = 0];
8382       case 5: {
8383         if (tag == 45) {
8384          parse_mean:
8385           set_has_mean();
8386           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
8387                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
8388                  input, &mean_)));
8389         } else {
8390           goto handle_unusual;
8391         }
8392         if (input->ExpectTag(53)) goto parse_std;
8393         break;
8394       }
8395
8396       // optional float std = 6 [default = 1];
8397       case 6: {
8398         if (tag == 53) {
8399          parse_std:
8400           set_has_std();
8401           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
8402                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
8403                  input, &std_)));
8404         } else {
8405           goto handle_unusual;
8406         }
8407         if (input->ExpectTag(56)) goto parse_sparse;
8408         break;
8409       }
8410
8411       // optional int32 sparse = 7 [default = -1];
8412       case 7: {
8413         if (tag == 56) {
8414          parse_sparse:
8415           set_has_sparse();
8416           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
8417                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
8418                  input, &sparse_)));
8419         } else {
8420           goto handle_unusual;
8421         }
8422         if (input->ExpectTag(64)) goto parse_variance_norm;
8423         break;
8424       }
8425
8426       // optional .opencv_caffe.FillerParameter.VarianceNorm variance_norm = 8 [default = FAN_IN];
8427       case 8: {
8428         if (tag == 64) {
8429          parse_variance_norm:
8430           int value;
8431           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
8432                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
8433                  input, &value)));
8434           if (::opencv_caffe::FillerParameter_VarianceNorm_IsValid(value)) {
8435             set_variance_norm(static_cast< ::opencv_caffe::FillerParameter_VarianceNorm >(value));
8436           } else {
8437             mutable_unknown_fields()->AddVarint(8, value);
8438           }
8439         } else {
8440           goto handle_unusual;
8441         }
8442         if (input->ExpectAtEnd()) goto success;
8443         break;
8444       }
8445
8446       default: {
8447       handle_unusual:
8448         if (tag == 0 ||
8449             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
8450             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
8451           goto success;
8452         }
8453         DO_(::google::protobuf::internal::WireFormat::SkipField(
8454               input, tag, mutable_unknown_fields()));
8455         break;
8456       }
8457     }
8458   }
8459 success:
8460   // @@protoc_insertion_point(parse_success:opencv_caffe.FillerParameter)
8461   return true;
8462 failure:
8463   // @@protoc_insertion_point(parse_failure:opencv_caffe.FillerParameter)
8464   return false;
8465 #undef DO_
8466 }
8467
8468 void FillerParameter::SerializeWithCachedSizes(
8469     ::google::protobuf::io::CodedOutputStream* output) const {
8470   // @@protoc_insertion_point(serialize_start:opencv_caffe.FillerParameter)
8471   // optional string type = 1 [default = "constant"];
8472   if (has_type()) {
8473     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
8474       this->type().data(), this->type().length(),
8475       ::google::protobuf::internal::WireFormat::SERIALIZE,
8476       "opencv_caffe.FillerParameter.type");
8477     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
8478       1, this->type(), output);
8479   }
8480
8481   // optional float value = 2 [default = 0];
8482   if (has_value()) {
8483     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->value(), output);
8484   }
8485
8486   // optional float min = 3 [default = 0];
8487   if (has_min()) {
8488     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->min(), output);
8489   }
8490
8491   // optional float max = 4 [default = 1];
8492   if (has_max()) {
8493     ::google::protobuf::internal::WireFormatLite::WriteFloat(4, this->max(), output);
8494   }
8495
8496   // optional float mean = 5 [default = 0];
8497   if (has_mean()) {
8498     ::google::protobuf::internal::WireFormatLite::WriteFloat(5, this->mean(), output);
8499   }
8500
8501   // optional float std = 6 [default = 1];
8502   if (has_std()) {
8503     ::google::protobuf::internal::WireFormatLite::WriteFloat(6, this->std(), output);
8504   }
8505
8506   // optional int32 sparse = 7 [default = -1];
8507   if (has_sparse()) {
8508     ::google::protobuf::internal::WireFormatLite::WriteInt32(7, this->sparse(), output);
8509   }
8510
8511   // optional .opencv_caffe.FillerParameter.VarianceNorm variance_norm = 8 [default = FAN_IN];
8512   if (has_variance_norm()) {
8513     ::google::protobuf::internal::WireFormatLite::WriteEnum(
8514       8, this->variance_norm(), output);
8515   }
8516
8517   if (_internal_metadata_.have_unknown_fields()) {
8518     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
8519         unknown_fields(), output);
8520   }
8521   // @@protoc_insertion_point(serialize_end:opencv_caffe.FillerParameter)
8522 }
8523
8524 ::google::protobuf::uint8* FillerParameter::InternalSerializeWithCachedSizesToArray(
8525     bool deterministic, ::google::protobuf::uint8* target) const {
8526   (void)deterministic; // Unused
8527   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.FillerParameter)
8528   // optional string type = 1 [default = "constant"];
8529   if (has_type()) {
8530     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
8531       this->type().data(), this->type().length(),
8532       ::google::protobuf::internal::WireFormat::SERIALIZE,
8533       "opencv_caffe.FillerParameter.type");
8534     target =
8535       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
8536         1, this->type(), target);
8537   }
8538
8539   // optional float value = 2 [default = 0];
8540   if (has_value()) {
8541     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->value(), target);
8542   }
8543
8544   // optional float min = 3 [default = 0];
8545   if (has_min()) {
8546     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->min(), target);
8547   }
8548
8549   // optional float max = 4 [default = 1];
8550   if (has_max()) {
8551     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(4, this->max(), target);
8552   }
8553
8554   // optional float mean = 5 [default = 0];
8555   if (has_mean()) {
8556     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(5, this->mean(), target);
8557   }
8558
8559   // optional float std = 6 [default = 1];
8560   if (has_std()) {
8561     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(6, this->std(), target);
8562   }
8563
8564   // optional int32 sparse = 7 [default = -1];
8565   if (has_sparse()) {
8566     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(7, this->sparse(), target);
8567   }
8568
8569   // optional .opencv_caffe.FillerParameter.VarianceNorm variance_norm = 8 [default = FAN_IN];
8570   if (has_variance_norm()) {
8571     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
8572       8, this->variance_norm(), target);
8573   }
8574
8575   if (_internal_metadata_.have_unknown_fields()) {
8576     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
8577         unknown_fields(), target);
8578   }
8579   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.FillerParameter)
8580   return target;
8581 }
8582
8583 size_t FillerParameter::ByteSizeLong() const {
8584 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.FillerParameter)
8585   size_t total_size = 0;
8586
8587   if (_has_bits_[0 / 32] & 255u) {
8588     // optional string type = 1 [default = "constant"];
8589     if (has_type()) {
8590       total_size += 1 +
8591         ::google::protobuf::internal::WireFormatLite::StringSize(
8592           this->type());
8593     }
8594
8595     // optional float value = 2 [default = 0];
8596     if (has_value()) {
8597       total_size += 1 + 4;
8598     }
8599
8600     // optional float min = 3 [default = 0];
8601     if (has_min()) {
8602       total_size += 1 + 4;
8603     }
8604
8605     // optional float max = 4 [default = 1];
8606     if (has_max()) {
8607       total_size += 1 + 4;
8608     }
8609
8610     // optional float mean = 5 [default = 0];
8611     if (has_mean()) {
8612       total_size += 1 + 4;
8613     }
8614
8615     // optional float std = 6 [default = 1];
8616     if (has_std()) {
8617       total_size += 1 + 4;
8618     }
8619
8620     // optional int32 sparse = 7 [default = -1];
8621     if (has_sparse()) {
8622       total_size += 1 +
8623         ::google::protobuf::internal::WireFormatLite::Int32Size(
8624           this->sparse());
8625     }
8626
8627     // optional .opencv_caffe.FillerParameter.VarianceNorm variance_norm = 8 [default = FAN_IN];
8628     if (has_variance_norm()) {
8629       total_size += 1 +
8630         ::google::protobuf::internal::WireFormatLite::EnumSize(this->variance_norm());
8631     }
8632
8633   }
8634   if (_internal_metadata_.have_unknown_fields()) {
8635     total_size +=
8636       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
8637         unknown_fields());
8638   }
8639   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
8640   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
8641   _cached_size_ = cached_size;
8642   GOOGLE_SAFE_CONCURRENT_WRITES_END();
8643   return total_size;
8644 }
8645
8646 void FillerParameter::MergeFrom(const ::google::protobuf::Message& from) {
8647 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.FillerParameter)
8648   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
8649   const FillerParameter* source =
8650       ::google::protobuf::internal::DynamicCastToGenerated<const FillerParameter>(
8651           &from);
8652   if (source == NULL) {
8653   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.FillerParameter)
8654     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
8655   } else {
8656   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.FillerParameter)
8657     UnsafeMergeFrom(*source);
8658   }
8659 }
8660
8661 void FillerParameter::MergeFrom(const FillerParameter& from) {
8662 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.FillerParameter)
8663   if (GOOGLE_PREDICT_TRUE(&from != this)) {
8664     UnsafeMergeFrom(from);
8665   } else {
8666     MergeFromFail(__LINE__);
8667   }
8668 }
8669
8670 void FillerParameter::UnsafeMergeFrom(const FillerParameter& from) {
8671   GOOGLE_DCHECK(&from != this);
8672   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
8673     if (from.has_type()) {
8674       set_has_type();
8675       type_.AssignWithDefault(_default_type_, from.type_);
8676     }
8677     if (from.has_value()) {
8678       set_value(from.value());
8679     }
8680     if (from.has_min()) {
8681       set_min(from.min());
8682     }
8683     if (from.has_max()) {
8684       set_max(from.max());
8685     }
8686     if (from.has_mean()) {
8687       set_mean(from.mean());
8688     }
8689     if (from.has_std()) {
8690       set_std(from.std());
8691     }
8692     if (from.has_sparse()) {
8693       set_sparse(from.sparse());
8694     }
8695     if (from.has_variance_norm()) {
8696       set_variance_norm(from.variance_norm());
8697     }
8698   }
8699   if (from._internal_metadata_.have_unknown_fields()) {
8700     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
8701       from.unknown_fields(), &_internal_metadata_);
8702   }
8703 }
8704
8705 void FillerParameter::CopyFrom(const ::google::protobuf::Message& from) {
8706 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.FillerParameter)
8707   if (&from == this) return;
8708   Clear();
8709   MergeFrom(from);
8710 }
8711
8712 void FillerParameter::CopyFrom(const FillerParameter& from) {
8713 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.FillerParameter)
8714   if (&from == this) return;
8715   Clear();
8716   UnsafeMergeFrom(from);
8717 }
8718
8719 bool FillerParameter::IsInitialized() const {
8720
8721   return true;
8722 }
8723
8724 void FillerParameter::Swap(FillerParameter* other) {
8725   if (other == this) return;
8726   InternalSwap(other);
8727 }
8728 void FillerParameter::InternalSwap(FillerParameter* other) {
8729   type_.Swap(&other->type_);
8730   std::swap(value_, other->value_);
8731   std::swap(min_, other->min_);
8732   std::swap(max_, other->max_);
8733   std::swap(mean_, other->mean_);
8734   std::swap(std_, other->std_);
8735   std::swap(sparse_, other->sparse_);
8736   std::swap(variance_norm_, other->variance_norm_);
8737   std::swap(_has_bits_[0], other->_has_bits_[0]);
8738   _internal_metadata_.Swap(&other->_internal_metadata_);
8739   std::swap(_cached_size_, other->_cached_size_);
8740 }
8741
8742 ::google::protobuf::Metadata FillerParameter::GetMetadata() const {
8743   protobuf_AssignDescriptorsOnce();
8744   ::google::protobuf::Metadata metadata;
8745   metadata.descriptor = FillerParameter_descriptor_;
8746   metadata.reflection = FillerParameter_reflection_;
8747   return metadata;
8748 }
8749
8750 #if PROTOBUF_INLINE_NOT_IN_HEADERS
8751 // FillerParameter
8752
8753 // optional string type = 1 [default = "constant"];
8754 bool FillerParameter::has_type() const {
8755   return (_has_bits_[0] & 0x00000001u) != 0;
8756 }
8757 void FillerParameter::set_has_type() {
8758   _has_bits_[0] |= 0x00000001u;
8759 }
8760 void FillerParameter::clear_has_type() {
8761   _has_bits_[0] &= ~0x00000001u;
8762 }
8763 void FillerParameter::clear_type() {
8764   type_.ClearToDefaultNoArena(_default_type_);
8765   clear_has_type();
8766 }
8767 const ::std::string& FillerParameter::type() const {
8768   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.type)
8769   return type_.GetNoArena(_default_type_);
8770 }
8771 void FillerParameter::set_type(const ::std::string& value) {
8772   set_has_type();
8773   type_.SetNoArena(_default_type_, value);
8774   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.type)
8775 }
8776 void FillerParameter::set_type(const char* value) {
8777   set_has_type();
8778   type_.SetNoArena(_default_type_, ::std::string(value));
8779   // @@protoc_insertion_point(field_set_char:opencv_caffe.FillerParameter.type)
8780 }
8781 void FillerParameter::set_type(const char* value, size_t size) {
8782   set_has_type();
8783   type_.SetNoArena(_default_type_,
8784       ::std::string(reinterpret_cast<const char*>(value), size));
8785   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.FillerParameter.type)
8786 }
8787 ::std::string* FillerParameter::mutable_type() {
8788   set_has_type();
8789   // @@protoc_insertion_point(field_mutable:opencv_caffe.FillerParameter.type)
8790   return type_.MutableNoArena(_default_type_);
8791 }
8792 ::std::string* FillerParameter::release_type() {
8793   // @@protoc_insertion_point(field_release:opencv_caffe.FillerParameter.type)
8794   clear_has_type();
8795   return type_.ReleaseNoArena(_default_type_);
8796 }
8797 void FillerParameter::set_allocated_type(::std::string* type) {
8798   if (type != NULL) {
8799     set_has_type();
8800   } else {
8801     clear_has_type();
8802   }
8803   type_.SetAllocatedNoArena(_default_type_, type);
8804   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.FillerParameter.type)
8805 }
8806
8807 // optional float value = 2 [default = 0];
8808 bool FillerParameter::has_value() const {
8809   return (_has_bits_[0] & 0x00000002u) != 0;
8810 }
8811 void FillerParameter::set_has_value() {
8812   _has_bits_[0] |= 0x00000002u;
8813 }
8814 void FillerParameter::clear_has_value() {
8815   _has_bits_[0] &= ~0x00000002u;
8816 }
8817 void FillerParameter::clear_value() {
8818   value_ = 0;
8819   clear_has_value();
8820 }
8821 float FillerParameter::value() const {
8822   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.value)
8823   return value_;
8824 }
8825 void FillerParameter::set_value(float value) {
8826   set_has_value();
8827   value_ = value;
8828   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.value)
8829 }
8830
8831 // optional float min = 3 [default = 0];
8832 bool FillerParameter::has_min() const {
8833   return (_has_bits_[0] & 0x00000004u) != 0;
8834 }
8835 void FillerParameter::set_has_min() {
8836   _has_bits_[0] |= 0x00000004u;
8837 }
8838 void FillerParameter::clear_has_min() {
8839   _has_bits_[0] &= ~0x00000004u;
8840 }
8841 void FillerParameter::clear_min() {
8842   min_ = 0;
8843   clear_has_min();
8844 }
8845 float FillerParameter::min() const {
8846   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.min)
8847   return min_;
8848 }
8849 void FillerParameter::set_min(float value) {
8850   set_has_min();
8851   min_ = value;
8852   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.min)
8853 }
8854
8855 // optional float max = 4 [default = 1];
8856 bool FillerParameter::has_max() const {
8857   return (_has_bits_[0] & 0x00000008u) != 0;
8858 }
8859 void FillerParameter::set_has_max() {
8860   _has_bits_[0] |= 0x00000008u;
8861 }
8862 void FillerParameter::clear_has_max() {
8863   _has_bits_[0] &= ~0x00000008u;
8864 }
8865 void FillerParameter::clear_max() {
8866   max_ = 1;
8867   clear_has_max();
8868 }
8869 float FillerParameter::max() const {
8870   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.max)
8871   return max_;
8872 }
8873 void FillerParameter::set_max(float value) {
8874   set_has_max();
8875   max_ = value;
8876   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.max)
8877 }
8878
8879 // optional float mean = 5 [default = 0];
8880 bool FillerParameter::has_mean() const {
8881   return (_has_bits_[0] & 0x00000010u) != 0;
8882 }
8883 void FillerParameter::set_has_mean() {
8884   _has_bits_[0] |= 0x00000010u;
8885 }
8886 void FillerParameter::clear_has_mean() {
8887   _has_bits_[0] &= ~0x00000010u;
8888 }
8889 void FillerParameter::clear_mean() {
8890   mean_ = 0;
8891   clear_has_mean();
8892 }
8893 float FillerParameter::mean() const {
8894   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.mean)
8895   return mean_;
8896 }
8897 void FillerParameter::set_mean(float value) {
8898   set_has_mean();
8899   mean_ = value;
8900   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.mean)
8901 }
8902
8903 // optional float std = 6 [default = 1];
8904 bool FillerParameter::has_std() const {
8905   return (_has_bits_[0] & 0x00000020u) != 0;
8906 }
8907 void FillerParameter::set_has_std() {
8908   _has_bits_[0] |= 0x00000020u;
8909 }
8910 void FillerParameter::clear_has_std() {
8911   _has_bits_[0] &= ~0x00000020u;
8912 }
8913 void FillerParameter::clear_std() {
8914   std_ = 1;
8915   clear_has_std();
8916 }
8917 float FillerParameter::std() const {
8918   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.std)
8919   return std_;
8920 }
8921 void FillerParameter::set_std(float value) {
8922   set_has_std();
8923   std_ = value;
8924   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.std)
8925 }
8926
8927 // optional int32 sparse = 7 [default = -1];
8928 bool FillerParameter::has_sparse() const {
8929   return (_has_bits_[0] & 0x00000040u) != 0;
8930 }
8931 void FillerParameter::set_has_sparse() {
8932   _has_bits_[0] |= 0x00000040u;
8933 }
8934 void FillerParameter::clear_has_sparse() {
8935   _has_bits_[0] &= ~0x00000040u;
8936 }
8937 void FillerParameter::clear_sparse() {
8938   sparse_ = -1;
8939   clear_has_sparse();
8940 }
8941 ::google::protobuf::int32 FillerParameter::sparse() const {
8942   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.sparse)
8943   return sparse_;
8944 }
8945 void FillerParameter::set_sparse(::google::protobuf::int32 value) {
8946   set_has_sparse();
8947   sparse_ = value;
8948   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.sparse)
8949 }
8950
8951 // optional .opencv_caffe.FillerParameter.VarianceNorm variance_norm = 8 [default = FAN_IN];
8952 bool FillerParameter::has_variance_norm() const {
8953   return (_has_bits_[0] & 0x00000080u) != 0;
8954 }
8955 void FillerParameter::set_has_variance_norm() {
8956   _has_bits_[0] |= 0x00000080u;
8957 }
8958 void FillerParameter::clear_has_variance_norm() {
8959   _has_bits_[0] &= ~0x00000080u;
8960 }
8961 void FillerParameter::clear_variance_norm() {
8962   variance_norm_ = 0;
8963   clear_has_variance_norm();
8964 }
8965 ::opencv_caffe::FillerParameter_VarianceNorm FillerParameter::variance_norm() const {
8966   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.variance_norm)
8967   return static_cast< ::opencv_caffe::FillerParameter_VarianceNorm >(variance_norm_);
8968 }
8969 void FillerParameter::set_variance_norm(::opencv_caffe::FillerParameter_VarianceNorm value) {
8970   assert(::opencv_caffe::FillerParameter_VarianceNorm_IsValid(value));
8971   set_has_variance_norm();
8972   variance_norm_ = value;
8973   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.variance_norm)
8974 }
8975
8976 inline const FillerParameter* FillerParameter::internal_default_instance() {
8977   return &FillerParameter_default_instance_.get();
8978 }
8979 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
8980
8981 // ===================================================================
8982
8983 #if !defined(_MSC_VER) || _MSC_VER >= 1900
8984 const int NetParameter::kNameFieldNumber;
8985 const int NetParameter::kInputFieldNumber;
8986 const int NetParameter::kInputShapeFieldNumber;
8987 const int NetParameter::kInputDimFieldNumber;
8988 const int NetParameter::kForceBackwardFieldNumber;
8989 const int NetParameter::kStateFieldNumber;
8990 const int NetParameter::kDebugInfoFieldNumber;
8991 const int NetParameter::kLayerFieldNumber;
8992 const int NetParameter::kLayersFieldNumber;
8993 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
8994
8995 NetParameter::NetParameter()
8996   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
8997   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
8998   SharedCtor();
8999   // @@protoc_insertion_point(constructor:opencv_caffe.NetParameter)
9000 }
9001
9002 void NetParameter::InitAsDefaultInstance() {
9003   state_ = const_cast< ::opencv_caffe::NetState*>(
9004       ::opencv_caffe::NetState::internal_default_instance());
9005 }
9006
9007 NetParameter::NetParameter(const NetParameter& from)
9008   : ::google::protobuf::Message(),
9009     _internal_metadata_(NULL) {
9010   SharedCtor();
9011   UnsafeMergeFrom(from);
9012   // @@protoc_insertion_point(copy_constructor:opencv_caffe.NetParameter)
9013 }
9014
9015 void NetParameter::SharedCtor() {
9016   _cached_size_ = 0;
9017   name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
9018   state_ = NULL;
9019   ::memset(&force_backward_, 0, reinterpret_cast<char*>(&debug_info_) -
9020     reinterpret_cast<char*>(&force_backward_) + sizeof(debug_info_));
9021 }
9022
9023 NetParameter::~NetParameter() {
9024   // @@protoc_insertion_point(destructor:opencv_caffe.NetParameter)
9025   SharedDtor();
9026 }
9027
9028 void NetParameter::SharedDtor() {
9029   name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
9030   if (this != &NetParameter_default_instance_.get()) {
9031     delete state_;
9032   }
9033 }
9034
9035 void NetParameter::SetCachedSize(int size) const {
9036   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
9037   _cached_size_ = size;
9038   GOOGLE_SAFE_CONCURRENT_WRITES_END();
9039 }
9040 const ::google::protobuf::Descriptor* NetParameter::descriptor() {
9041   protobuf_AssignDescriptorsOnce();
9042   return NetParameter_descriptor_;
9043 }
9044
9045 const NetParameter& NetParameter::default_instance() {
9046   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
9047   return *internal_default_instance();
9048 }
9049
9050 ::google::protobuf::internal::ExplicitlyConstructed<NetParameter> NetParameter_default_instance_;
9051
9052 NetParameter* NetParameter::New(::google::protobuf::Arena* arena) const {
9053   NetParameter* n = new NetParameter;
9054   if (arena != NULL) {
9055     arena->Own(n);
9056   }
9057   return n;
9058 }
9059
9060 void NetParameter::Clear() {
9061 // @@protoc_insertion_point(message_clear_start:opencv_caffe.NetParameter)
9062 #if defined(__clang__)
9063 #define ZR_HELPER_(f) \
9064   _Pragma("clang diagnostic push") \
9065   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
9066   __builtin_offsetof(NetParameter, f) \
9067   _Pragma("clang diagnostic pop")
9068 #else
9069 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
9070   &reinterpret_cast<NetParameter*>(16)->f)
9071 #endif
9072
9073 #define ZR_(first, last) do {\
9074   ::memset(&(first), 0,\
9075            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
9076 } while (0)
9077
9078   if (_has_bits_[0 / 32] & 113u) {
9079     ZR_(force_backward_, debug_info_);
9080     if (has_name()) {
9081       name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
9082     }
9083     if (has_state()) {
9084       if (state_ != NULL) state_->::opencv_caffe::NetState::Clear();
9085     }
9086   }
9087
9088 #undef ZR_HELPER_
9089 #undef ZR_
9090
9091   input_.Clear();
9092   input_shape_.Clear();
9093   input_dim_.Clear();
9094   layer_.Clear();
9095   layers_.Clear();
9096   _has_bits_.Clear();
9097   if (_internal_metadata_.have_unknown_fields()) {
9098     mutable_unknown_fields()->Clear();
9099   }
9100 }
9101
9102 bool NetParameter::MergePartialFromCodedStream(
9103     ::google::protobuf::io::CodedInputStream* input) {
9104 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
9105   ::google::protobuf::uint32 tag;
9106   // @@protoc_insertion_point(parse_start:opencv_caffe.NetParameter)
9107   for (;;) {
9108     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
9109     tag = p.first;
9110     if (!p.second) goto handle_unusual;
9111     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
9112       // optional string name = 1;
9113       case 1: {
9114         if (tag == 10) {
9115           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
9116                 input, this->mutable_name()));
9117           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
9118             this->name().data(), this->name().length(),
9119             ::google::protobuf::internal::WireFormat::PARSE,
9120             "opencv_caffe.NetParameter.name");
9121         } else {
9122           goto handle_unusual;
9123         }
9124         if (input->ExpectTag(18)) goto parse_layers;
9125         break;
9126       }
9127
9128       // repeated .opencv_caffe.V1LayerParameter layers = 2;
9129       case 2: {
9130         if (tag == 18) {
9131          parse_layers:
9132           DO_(input->IncrementRecursionDepth());
9133          parse_loop_layers:
9134           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
9135                 input, add_layers()));
9136         } else {
9137           goto handle_unusual;
9138         }
9139         if (input->ExpectTag(18)) goto parse_loop_layers;
9140         input->UnsafeDecrementRecursionDepth();
9141         if (input->ExpectTag(26)) goto parse_input;
9142         break;
9143       }
9144
9145       // repeated string input = 3;
9146       case 3: {
9147         if (tag == 26) {
9148          parse_input:
9149           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
9150                 input, this->add_input()));
9151           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
9152             this->input(this->input_size() - 1).data(),
9153             this->input(this->input_size() - 1).length(),
9154             ::google::protobuf::internal::WireFormat::PARSE,
9155             "opencv_caffe.NetParameter.input");
9156         } else {
9157           goto handle_unusual;
9158         }
9159         if (input->ExpectTag(26)) goto parse_input;
9160         if (input->ExpectTag(32)) goto parse_input_dim;
9161         break;
9162       }
9163
9164       // repeated int32 input_dim = 4;
9165       case 4: {
9166         if (tag == 32) {
9167          parse_input_dim:
9168           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
9169                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
9170                  1, 32, input, this->mutable_input_dim())));
9171         } else if (tag == 34) {
9172           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
9173                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
9174                  input, this->mutable_input_dim())));
9175         } else {
9176           goto handle_unusual;
9177         }
9178         if (input->ExpectTag(32)) goto parse_input_dim;
9179         if (input->ExpectTag(40)) goto parse_force_backward;
9180         break;
9181       }
9182
9183       // optional bool force_backward = 5 [default = false];
9184       case 5: {
9185         if (tag == 40) {
9186          parse_force_backward:
9187           set_has_force_backward();
9188           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
9189                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
9190                  input, &force_backward_)));
9191         } else {
9192           goto handle_unusual;
9193         }
9194         if (input->ExpectTag(50)) goto parse_state;
9195         break;
9196       }
9197
9198       // optional .opencv_caffe.NetState state = 6;
9199       case 6: {
9200         if (tag == 50) {
9201          parse_state:
9202           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
9203                input, mutable_state()));
9204         } else {
9205           goto handle_unusual;
9206         }
9207         if (input->ExpectTag(56)) goto parse_debug_info;
9208         break;
9209       }
9210
9211       // optional bool debug_info = 7 [default = false];
9212       case 7: {
9213         if (tag == 56) {
9214          parse_debug_info:
9215           set_has_debug_info();
9216           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
9217                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
9218                  input, &debug_info_)));
9219         } else {
9220           goto handle_unusual;
9221         }
9222         if (input->ExpectTag(66)) goto parse_input_shape;
9223         break;
9224       }
9225
9226       // repeated .opencv_caffe.BlobShape input_shape = 8;
9227       case 8: {
9228         if (tag == 66) {
9229          parse_input_shape:
9230           DO_(input->IncrementRecursionDepth());
9231          parse_loop_input_shape:
9232           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
9233                 input, add_input_shape()));
9234         } else {
9235           goto handle_unusual;
9236         }
9237         if (input->ExpectTag(66)) goto parse_loop_input_shape;
9238         if (input->ExpectTag(802)) goto parse_loop_layer;
9239         input->UnsafeDecrementRecursionDepth();
9240         break;
9241       }
9242
9243       // repeated .opencv_caffe.LayerParameter layer = 100;
9244       case 100: {
9245         if (tag == 802) {
9246           DO_(input->IncrementRecursionDepth());
9247          parse_loop_layer:
9248           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
9249                 input, add_layer()));
9250         } else {
9251           goto handle_unusual;
9252         }
9253         if (input->ExpectTag(802)) goto parse_loop_layer;
9254         input->UnsafeDecrementRecursionDepth();
9255         if (input->ExpectAtEnd()) goto success;
9256         break;
9257       }
9258
9259       default: {
9260       handle_unusual:
9261         if (tag == 0 ||
9262             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
9263             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
9264           goto success;
9265         }
9266         DO_(::google::protobuf::internal::WireFormat::SkipField(
9267               input, tag, mutable_unknown_fields()));
9268         break;
9269       }
9270     }
9271   }
9272 success:
9273   // @@protoc_insertion_point(parse_success:opencv_caffe.NetParameter)
9274   return true;
9275 failure:
9276   // @@protoc_insertion_point(parse_failure:opencv_caffe.NetParameter)
9277   return false;
9278 #undef DO_
9279 }
9280
9281 void NetParameter::SerializeWithCachedSizes(
9282     ::google::protobuf::io::CodedOutputStream* output) const {
9283   // @@protoc_insertion_point(serialize_start:opencv_caffe.NetParameter)
9284   // optional string name = 1;
9285   if (has_name()) {
9286     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
9287       this->name().data(), this->name().length(),
9288       ::google::protobuf::internal::WireFormat::SERIALIZE,
9289       "opencv_caffe.NetParameter.name");
9290     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
9291       1, this->name(), output);
9292   }
9293
9294   // repeated .opencv_caffe.V1LayerParameter layers = 2;
9295   for (unsigned int i = 0, n = this->layers_size(); i < n; i++) {
9296     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
9297       2, this->layers(i), output);
9298   }
9299
9300   // repeated string input = 3;
9301   for (int i = 0; i < this->input_size(); i++) {
9302     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
9303       this->input(i).data(), this->input(i).length(),
9304       ::google::protobuf::internal::WireFormat::SERIALIZE,
9305       "opencv_caffe.NetParameter.input");
9306     ::google::protobuf::internal::WireFormatLite::WriteString(
9307       3, this->input(i), output);
9308   }
9309
9310   // repeated int32 input_dim = 4;
9311   for (int i = 0; i < this->input_dim_size(); i++) {
9312     ::google::protobuf::internal::WireFormatLite::WriteInt32(
9313       4, this->input_dim(i), output);
9314   }
9315
9316   // optional bool force_backward = 5 [default = false];
9317   if (has_force_backward()) {
9318     ::google::protobuf::internal::WireFormatLite::WriteBool(5, this->force_backward(), output);
9319   }
9320
9321   // optional .opencv_caffe.NetState state = 6;
9322   if (has_state()) {
9323     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
9324       6, *this->state_, output);
9325   }
9326
9327   // optional bool debug_info = 7 [default = false];
9328   if (has_debug_info()) {
9329     ::google::protobuf::internal::WireFormatLite::WriteBool(7, this->debug_info(), output);
9330   }
9331
9332   // repeated .opencv_caffe.BlobShape input_shape = 8;
9333   for (unsigned int i = 0, n = this->input_shape_size(); i < n; i++) {
9334     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
9335       8, this->input_shape(i), output);
9336   }
9337
9338   // repeated .opencv_caffe.LayerParameter layer = 100;
9339   for (unsigned int i = 0, n = this->layer_size(); i < n; i++) {
9340     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
9341       100, this->layer(i), output);
9342   }
9343
9344   if (_internal_metadata_.have_unknown_fields()) {
9345     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
9346         unknown_fields(), output);
9347   }
9348   // @@protoc_insertion_point(serialize_end:opencv_caffe.NetParameter)
9349 }
9350
9351 ::google::protobuf::uint8* NetParameter::InternalSerializeWithCachedSizesToArray(
9352     bool deterministic, ::google::protobuf::uint8* target) const {
9353   (void)deterministic; // Unused
9354   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.NetParameter)
9355   // optional string name = 1;
9356   if (has_name()) {
9357     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
9358       this->name().data(), this->name().length(),
9359       ::google::protobuf::internal::WireFormat::SERIALIZE,
9360       "opencv_caffe.NetParameter.name");
9361     target =
9362       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
9363         1, this->name(), target);
9364   }
9365
9366   // repeated .opencv_caffe.V1LayerParameter layers = 2;
9367   for (unsigned int i = 0, n = this->layers_size(); i < n; i++) {
9368     target = ::google::protobuf::internal::WireFormatLite::
9369       InternalWriteMessageNoVirtualToArray(
9370         2, this->layers(i), false, target);
9371   }
9372
9373   // repeated string input = 3;
9374   for (int i = 0; i < this->input_size(); i++) {
9375     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
9376       this->input(i).data(), this->input(i).length(),
9377       ::google::protobuf::internal::WireFormat::SERIALIZE,
9378       "opencv_caffe.NetParameter.input");
9379     target = ::google::protobuf::internal::WireFormatLite::
9380       WriteStringToArray(3, this->input(i), target);
9381   }
9382
9383   // repeated int32 input_dim = 4;
9384   for (int i = 0; i < this->input_dim_size(); i++) {
9385     target = ::google::protobuf::internal::WireFormatLite::
9386       WriteInt32ToArray(4, this->input_dim(i), target);
9387   }
9388
9389   // optional bool force_backward = 5 [default = false];
9390   if (has_force_backward()) {
9391     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(5, this->force_backward(), target);
9392   }
9393
9394   // optional .opencv_caffe.NetState state = 6;
9395   if (has_state()) {
9396     target = ::google::protobuf::internal::WireFormatLite::
9397       InternalWriteMessageNoVirtualToArray(
9398         6, *this->state_, false, target);
9399   }
9400
9401   // optional bool debug_info = 7 [default = false];
9402   if (has_debug_info()) {
9403     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(7, this->debug_info(), target);
9404   }
9405
9406   // repeated .opencv_caffe.BlobShape input_shape = 8;
9407   for (unsigned int i = 0, n = this->input_shape_size(); i < n; i++) {
9408     target = ::google::protobuf::internal::WireFormatLite::
9409       InternalWriteMessageNoVirtualToArray(
9410         8, this->input_shape(i), false, target);
9411   }
9412
9413   // repeated .opencv_caffe.LayerParameter layer = 100;
9414   for (unsigned int i = 0, n = this->layer_size(); i < n; i++) {
9415     target = ::google::protobuf::internal::WireFormatLite::
9416       InternalWriteMessageNoVirtualToArray(
9417         100, this->layer(i), false, target);
9418   }
9419
9420   if (_internal_metadata_.have_unknown_fields()) {
9421     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
9422         unknown_fields(), target);
9423   }
9424   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.NetParameter)
9425   return target;
9426 }
9427
9428 size_t NetParameter::ByteSizeLong() const {
9429 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.NetParameter)
9430   size_t total_size = 0;
9431
9432   if (_has_bits_[0 / 32] & 113u) {
9433     // optional string name = 1;
9434     if (has_name()) {
9435       total_size += 1 +
9436         ::google::protobuf::internal::WireFormatLite::StringSize(
9437           this->name());
9438     }
9439
9440     // optional bool force_backward = 5 [default = false];
9441     if (has_force_backward()) {
9442       total_size += 1 + 1;
9443     }
9444
9445     // optional .opencv_caffe.NetState state = 6;
9446     if (has_state()) {
9447       total_size += 1 +
9448         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
9449           *this->state_);
9450     }
9451
9452     // optional bool debug_info = 7 [default = false];
9453     if (has_debug_info()) {
9454       total_size += 1 + 1;
9455     }
9456
9457   }
9458   // repeated string input = 3;
9459   total_size += 1 *
9460       ::google::protobuf::internal::FromIntSize(this->input_size());
9461   for (int i = 0; i < this->input_size(); i++) {
9462     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
9463       this->input(i));
9464   }
9465
9466   // repeated .opencv_caffe.BlobShape input_shape = 8;
9467   {
9468     unsigned int count = this->input_shape_size();
9469     total_size += 1UL * count;
9470     for (unsigned int i = 0; i < count; i++) {
9471       total_size +=
9472         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
9473           this->input_shape(i));
9474     }
9475   }
9476
9477   // repeated int32 input_dim = 4;
9478   {
9479     size_t data_size = 0;
9480     unsigned int count = this->input_dim_size();
9481     for (unsigned int i = 0; i < count; i++) {
9482       data_size += ::google::protobuf::internal::WireFormatLite::
9483         Int32Size(this->input_dim(i));
9484     }
9485     total_size += 1 *
9486                   ::google::protobuf::internal::FromIntSize(this->input_dim_size());
9487     total_size += data_size;
9488   }
9489
9490   // repeated .opencv_caffe.LayerParameter layer = 100;
9491   {
9492     unsigned int count = this->layer_size();
9493     total_size += 2UL * count;
9494     for (unsigned int i = 0; i < count; i++) {
9495       total_size +=
9496         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
9497           this->layer(i));
9498     }
9499   }
9500
9501   // repeated .opencv_caffe.V1LayerParameter layers = 2;
9502   {
9503     unsigned int count = this->layers_size();
9504     total_size += 1UL * count;
9505     for (unsigned int i = 0; i < count; i++) {
9506       total_size +=
9507         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
9508           this->layers(i));
9509     }
9510   }
9511
9512   if (_internal_metadata_.have_unknown_fields()) {
9513     total_size +=
9514       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
9515         unknown_fields());
9516   }
9517   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
9518   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
9519   _cached_size_ = cached_size;
9520   GOOGLE_SAFE_CONCURRENT_WRITES_END();
9521   return total_size;
9522 }
9523
9524 void NetParameter::MergeFrom(const ::google::protobuf::Message& from) {
9525 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.NetParameter)
9526   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
9527   const NetParameter* source =
9528       ::google::protobuf::internal::DynamicCastToGenerated<const NetParameter>(
9529           &from);
9530   if (source == NULL) {
9531   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.NetParameter)
9532     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
9533   } else {
9534   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.NetParameter)
9535     UnsafeMergeFrom(*source);
9536   }
9537 }
9538
9539 void NetParameter::MergeFrom(const NetParameter& from) {
9540 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.NetParameter)
9541   if (GOOGLE_PREDICT_TRUE(&from != this)) {
9542     UnsafeMergeFrom(from);
9543   } else {
9544     MergeFromFail(__LINE__);
9545   }
9546 }
9547
9548 void NetParameter::UnsafeMergeFrom(const NetParameter& from) {
9549   GOOGLE_DCHECK(&from != this);
9550   input_.UnsafeMergeFrom(from.input_);
9551   input_shape_.MergeFrom(from.input_shape_);
9552   input_dim_.UnsafeMergeFrom(from.input_dim_);
9553   layer_.MergeFrom(from.layer_);
9554   layers_.MergeFrom(from.layers_);
9555   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
9556     if (from.has_name()) {
9557       set_has_name();
9558       name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
9559     }
9560     if (from.has_force_backward()) {
9561       set_force_backward(from.force_backward());
9562     }
9563     if (from.has_state()) {
9564       mutable_state()->::opencv_caffe::NetState::MergeFrom(from.state());
9565     }
9566     if (from.has_debug_info()) {
9567       set_debug_info(from.debug_info());
9568     }
9569   }
9570   if (from._internal_metadata_.have_unknown_fields()) {
9571     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
9572       from.unknown_fields(), &_internal_metadata_);
9573   }
9574 }
9575
9576 void NetParameter::CopyFrom(const ::google::protobuf::Message& from) {
9577 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.NetParameter)
9578   if (&from == this) return;
9579   Clear();
9580   MergeFrom(from);
9581 }
9582
9583 void NetParameter::CopyFrom(const NetParameter& from) {
9584 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.NetParameter)
9585   if (&from == this) return;
9586   Clear();
9587   UnsafeMergeFrom(from);
9588 }
9589
9590 bool NetParameter::IsInitialized() const {
9591
9592   return true;
9593 }
9594
9595 void NetParameter::Swap(NetParameter* other) {
9596   if (other == this) return;
9597   InternalSwap(other);
9598 }
9599 void NetParameter::InternalSwap(NetParameter* other) {
9600   name_.Swap(&other->name_);
9601   input_.UnsafeArenaSwap(&other->input_);
9602   input_shape_.UnsafeArenaSwap(&other->input_shape_);
9603   input_dim_.UnsafeArenaSwap(&other->input_dim_);
9604   std::swap(force_backward_, other->force_backward_);
9605   std::swap(state_, other->state_);
9606   std::swap(debug_info_, other->debug_info_);
9607   layer_.UnsafeArenaSwap(&other->layer_);
9608   layers_.UnsafeArenaSwap(&other->layers_);
9609   std::swap(_has_bits_[0], other->_has_bits_[0]);
9610   _internal_metadata_.Swap(&other->_internal_metadata_);
9611   std::swap(_cached_size_, other->_cached_size_);
9612 }
9613
9614 ::google::protobuf::Metadata NetParameter::GetMetadata() const {
9615   protobuf_AssignDescriptorsOnce();
9616   ::google::protobuf::Metadata metadata;
9617   metadata.descriptor = NetParameter_descriptor_;
9618   metadata.reflection = NetParameter_reflection_;
9619   return metadata;
9620 }
9621
9622 #if PROTOBUF_INLINE_NOT_IN_HEADERS
9623 // NetParameter
9624
9625 // optional string name = 1;
9626 bool NetParameter::has_name() const {
9627   return (_has_bits_[0] & 0x00000001u) != 0;
9628 }
9629 void NetParameter::set_has_name() {
9630   _has_bits_[0] |= 0x00000001u;
9631 }
9632 void NetParameter::clear_has_name() {
9633   _has_bits_[0] &= ~0x00000001u;
9634 }
9635 void NetParameter::clear_name() {
9636   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
9637   clear_has_name();
9638 }
9639 const ::std::string& NetParameter::name() const {
9640   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.name)
9641   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
9642 }
9643 void NetParameter::set_name(const ::std::string& value) {
9644   set_has_name();
9645   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
9646   // @@protoc_insertion_point(field_set:opencv_caffe.NetParameter.name)
9647 }
9648 void NetParameter::set_name(const char* value) {
9649   set_has_name();
9650   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
9651   // @@protoc_insertion_point(field_set_char:opencv_caffe.NetParameter.name)
9652 }
9653 void NetParameter::set_name(const char* value, size_t size) {
9654   set_has_name();
9655   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
9656       ::std::string(reinterpret_cast<const char*>(value), size));
9657   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.NetParameter.name)
9658 }
9659 ::std::string* NetParameter::mutable_name() {
9660   set_has_name();
9661   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.name)
9662   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
9663 }
9664 ::std::string* NetParameter::release_name() {
9665   // @@protoc_insertion_point(field_release:opencv_caffe.NetParameter.name)
9666   clear_has_name();
9667   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
9668 }
9669 void NetParameter::set_allocated_name(::std::string* name) {
9670   if (name != NULL) {
9671     set_has_name();
9672   } else {
9673     clear_has_name();
9674   }
9675   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
9676   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.NetParameter.name)
9677 }
9678
9679 // repeated string input = 3;
9680 int NetParameter::input_size() const {
9681   return input_.size();
9682 }
9683 void NetParameter::clear_input() {
9684   input_.Clear();
9685 }
9686 const ::std::string& NetParameter::input(int index) const {
9687   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.input)
9688   return input_.Get(index);
9689 }
9690 ::std::string* NetParameter::mutable_input(int index) {
9691   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.input)
9692   return input_.Mutable(index);
9693 }
9694 void NetParameter::set_input(int index, const ::std::string& value) {
9695   // @@protoc_insertion_point(field_set:opencv_caffe.NetParameter.input)
9696   input_.Mutable(index)->assign(value);
9697 }
9698 void NetParameter::set_input(int index, const char* value) {
9699   input_.Mutable(index)->assign(value);
9700   // @@protoc_insertion_point(field_set_char:opencv_caffe.NetParameter.input)
9701 }
9702 void NetParameter::set_input(int index, const char* value, size_t size) {
9703   input_.Mutable(index)->assign(
9704     reinterpret_cast<const char*>(value), size);
9705   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.NetParameter.input)
9706 }
9707 ::std::string* NetParameter::add_input() {
9708   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.NetParameter.input)
9709   return input_.Add();
9710 }
9711 void NetParameter::add_input(const ::std::string& value) {
9712   input_.Add()->assign(value);
9713   // @@protoc_insertion_point(field_add:opencv_caffe.NetParameter.input)
9714 }
9715 void NetParameter::add_input(const char* value) {
9716   input_.Add()->assign(value);
9717   // @@protoc_insertion_point(field_add_char:opencv_caffe.NetParameter.input)
9718 }
9719 void NetParameter::add_input(const char* value, size_t size) {
9720   input_.Add()->assign(reinterpret_cast<const char*>(value), size);
9721   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.NetParameter.input)
9722 }
9723 const ::google::protobuf::RepeatedPtrField< ::std::string>&
9724 NetParameter::input() const {
9725   // @@protoc_insertion_point(field_list:opencv_caffe.NetParameter.input)
9726   return input_;
9727 }
9728 ::google::protobuf::RepeatedPtrField< ::std::string>*
9729 NetParameter::mutable_input() {
9730   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetParameter.input)
9731   return &input_;
9732 }
9733
9734 // repeated .opencv_caffe.BlobShape input_shape = 8;
9735 int NetParameter::input_shape_size() const {
9736   return input_shape_.size();
9737 }
9738 void NetParameter::clear_input_shape() {
9739   input_shape_.Clear();
9740 }
9741 const ::opencv_caffe::BlobShape& NetParameter::input_shape(int index) const {
9742   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.input_shape)
9743   return input_shape_.Get(index);
9744 }
9745 ::opencv_caffe::BlobShape* NetParameter::mutable_input_shape(int index) {
9746   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.input_shape)
9747   return input_shape_.Mutable(index);
9748 }
9749 ::opencv_caffe::BlobShape* NetParameter::add_input_shape() {
9750   // @@protoc_insertion_point(field_add:opencv_caffe.NetParameter.input_shape)
9751   return input_shape_.Add();
9752 }
9753 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >*
9754 NetParameter::mutable_input_shape() {
9755   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetParameter.input_shape)
9756   return &input_shape_;
9757 }
9758 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >&
9759 NetParameter::input_shape() const {
9760   // @@protoc_insertion_point(field_list:opencv_caffe.NetParameter.input_shape)
9761   return input_shape_;
9762 }
9763
9764 // repeated int32 input_dim = 4;
9765 int NetParameter::input_dim_size() const {
9766   return input_dim_.size();
9767 }
9768 void NetParameter::clear_input_dim() {
9769   input_dim_.Clear();
9770 }
9771 ::google::protobuf::int32 NetParameter::input_dim(int index) const {
9772   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.input_dim)
9773   return input_dim_.Get(index);
9774 }
9775 void NetParameter::set_input_dim(int index, ::google::protobuf::int32 value) {
9776   input_dim_.Set(index, value);
9777   // @@protoc_insertion_point(field_set:opencv_caffe.NetParameter.input_dim)
9778 }
9779 void NetParameter::add_input_dim(::google::protobuf::int32 value) {
9780   input_dim_.Add(value);
9781   // @@protoc_insertion_point(field_add:opencv_caffe.NetParameter.input_dim)
9782 }
9783 const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
9784 NetParameter::input_dim() const {
9785   // @@protoc_insertion_point(field_list:opencv_caffe.NetParameter.input_dim)
9786   return input_dim_;
9787 }
9788 ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
9789 NetParameter::mutable_input_dim() {
9790   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetParameter.input_dim)
9791   return &input_dim_;
9792 }
9793
9794 // optional bool force_backward = 5 [default = false];
9795 bool NetParameter::has_force_backward() const {
9796   return (_has_bits_[0] & 0x00000010u) != 0;
9797 }
9798 void NetParameter::set_has_force_backward() {
9799   _has_bits_[0] |= 0x00000010u;
9800 }
9801 void NetParameter::clear_has_force_backward() {
9802   _has_bits_[0] &= ~0x00000010u;
9803 }
9804 void NetParameter::clear_force_backward() {
9805   force_backward_ = false;
9806   clear_has_force_backward();
9807 }
9808 bool NetParameter::force_backward() const {
9809   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.force_backward)
9810   return force_backward_;
9811 }
9812 void NetParameter::set_force_backward(bool value) {
9813   set_has_force_backward();
9814   force_backward_ = value;
9815   // @@protoc_insertion_point(field_set:opencv_caffe.NetParameter.force_backward)
9816 }
9817
9818 // optional .opencv_caffe.NetState state = 6;
9819 bool NetParameter::has_state() const {
9820   return (_has_bits_[0] & 0x00000020u) != 0;
9821 }
9822 void NetParameter::set_has_state() {
9823   _has_bits_[0] |= 0x00000020u;
9824 }
9825 void NetParameter::clear_has_state() {
9826   _has_bits_[0] &= ~0x00000020u;
9827 }
9828 void NetParameter::clear_state() {
9829   if (state_ != NULL) state_->::opencv_caffe::NetState::Clear();
9830   clear_has_state();
9831 }
9832 const ::opencv_caffe::NetState& NetParameter::state() const {
9833   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.state)
9834   return state_ != NULL ? *state_
9835                          : *::opencv_caffe::NetState::internal_default_instance();
9836 }
9837 ::opencv_caffe::NetState* NetParameter::mutable_state() {
9838   set_has_state();
9839   if (state_ == NULL) {
9840     state_ = new ::opencv_caffe::NetState;
9841   }
9842   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.state)
9843   return state_;
9844 }
9845 ::opencv_caffe::NetState* NetParameter::release_state() {
9846   // @@protoc_insertion_point(field_release:opencv_caffe.NetParameter.state)
9847   clear_has_state();
9848   ::opencv_caffe::NetState* temp = state_;
9849   state_ = NULL;
9850   return temp;
9851 }
9852 void NetParameter::set_allocated_state(::opencv_caffe::NetState* state) {
9853   delete state_;
9854   state_ = state;
9855   if (state) {
9856     set_has_state();
9857   } else {
9858     clear_has_state();
9859   }
9860   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.NetParameter.state)
9861 }
9862
9863 // optional bool debug_info = 7 [default = false];
9864 bool NetParameter::has_debug_info() const {
9865   return (_has_bits_[0] & 0x00000040u) != 0;
9866 }
9867 void NetParameter::set_has_debug_info() {
9868   _has_bits_[0] |= 0x00000040u;
9869 }
9870 void NetParameter::clear_has_debug_info() {
9871   _has_bits_[0] &= ~0x00000040u;
9872 }
9873 void NetParameter::clear_debug_info() {
9874   debug_info_ = false;
9875   clear_has_debug_info();
9876 }
9877 bool NetParameter::debug_info() const {
9878   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.debug_info)
9879   return debug_info_;
9880 }
9881 void NetParameter::set_debug_info(bool value) {
9882   set_has_debug_info();
9883   debug_info_ = value;
9884   // @@protoc_insertion_point(field_set:opencv_caffe.NetParameter.debug_info)
9885 }
9886
9887 // repeated .opencv_caffe.LayerParameter layer = 100;
9888 int NetParameter::layer_size() const {
9889   return layer_.size();
9890 }
9891 void NetParameter::clear_layer() {
9892   layer_.Clear();
9893 }
9894 const ::opencv_caffe::LayerParameter& NetParameter::layer(int index) const {
9895   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.layer)
9896   return layer_.Get(index);
9897 }
9898 ::opencv_caffe::LayerParameter* NetParameter::mutable_layer(int index) {
9899   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.layer)
9900   return layer_.Mutable(index);
9901 }
9902 ::opencv_caffe::LayerParameter* NetParameter::add_layer() {
9903   // @@protoc_insertion_point(field_add:opencv_caffe.NetParameter.layer)
9904   return layer_.Add();
9905 }
9906 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::LayerParameter >*
9907 NetParameter::mutable_layer() {
9908   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetParameter.layer)
9909   return &layer_;
9910 }
9911 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::LayerParameter >&
9912 NetParameter::layer() const {
9913   // @@protoc_insertion_point(field_list:opencv_caffe.NetParameter.layer)
9914   return layer_;
9915 }
9916
9917 // repeated .opencv_caffe.V1LayerParameter layers = 2;
9918 int NetParameter::layers_size() const {
9919   return layers_.size();
9920 }
9921 void NetParameter::clear_layers() {
9922   layers_.Clear();
9923 }
9924 const ::opencv_caffe::V1LayerParameter& NetParameter::layers(int index) const {
9925   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.layers)
9926   return layers_.Get(index);
9927 }
9928 ::opencv_caffe::V1LayerParameter* NetParameter::mutable_layers(int index) {
9929   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.layers)
9930   return layers_.Mutable(index);
9931 }
9932 ::opencv_caffe::V1LayerParameter* NetParameter::add_layers() {
9933   // @@protoc_insertion_point(field_add:opencv_caffe.NetParameter.layers)
9934   return layers_.Add();
9935 }
9936 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::V1LayerParameter >*
9937 NetParameter::mutable_layers() {
9938   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetParameter.layers)
9939   return &layers_;
9940 }
9941 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::V1LayerParameter >&
9942 NetParameter::layers() const {
9943   // @@protoc_insertion_point(field_list:opencv_caffe.NetParameter.layers)
9944   return layers_;
9945 }
9946
9947 inline const NetParameter* NetParameter::internal_default_instance() {
9948   return &NetParameter_default_instance_.get();
9949 }
9950 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
9951
9952 // ===================================================================
9953
9954 const ::google::protobuf::EnumDescriptor* SolverParameter_SnapshotFormat_descriptor() {
9955   protobuf_AssignDescriptorsOnce();
9956   return SolverParameter_SnapshotFormat_descriptor_;
9957 }
9958 bool SolverParameter_SnapshotFormat_IsValid(int value) {
9959   switch (value) {
9960     case 0:
9961     case 1:
9962       return true;
9963     default:
9964       return false;
9965   }
9966 }
9967
9968 #if !defined(_MSC_VER) || _MSC_VER >= 1900
9969 const SolverParameter_SnapshotFormat SolverParameter::HDF5;
9970 const SolverParameter_SnapshotFormat SolverParameter::BINARYPROTO;
9971 const SolverParameter_SnapshotFormat SolverParameter::SnapshotFormat_MIN;
9972 const SolverParameter_SnapshotFormat SolverParameter::SnapshotFormat_MAX;
9973 const int SolverParameter::SnapshotFormat_ARRAYSIZE;
9974 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
9975 const ::google::protobuf::EnumDescriptor* SolverParameter_SolverMode_descriptor() {
9976   protobuf_AssignDescriptorsOnce();
9977   return SolverParameter_SolverMode_descriptor_;
9978 }
9979 bool SolverParameter_SolverMode_IsValid(int value) {
9980   switch (value) {
9981     case 0:
9982     case 1:
9983       return true;
9984     default:
9985       return false;
9986   }
9987 }
9988
9989 #if !defined(_MSC_VER) || _MSC_VER >= 1900
9990 const SolverParameter_SolverMode SolverParameter::CPU;
9991 const SolverParameter_SolverMode SolverParameter::GPU;
9992 const SolverParameter_SolverMode SolverParameter::SolverMode_MIN;
9993 const SolverParameter_SolverMode SolverParameter::SolverMode_MAX;
9994 const int SolverParameter::SolverMode_ARRAYSIZE;
9995 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
9996 const ::google::protobuf::EnumDescriptor* SolverParameter_SolverType_descriptor() {
9997   protobuf_AssignDescriptorsOnce();
9998   return SolverParameter_SolverType_descriptor_;
9999 }
10000 bool SolverParameter_SolverType_IsValid(int value) {
10001   switch (value) {
10002     case 0:
10003     case 1:
10004     case 2:
10005     case 3:
10006     case 4:
10007     case 5:
10008       return true;
10009     default:
10010       return false;
10011   }
10012 }
10013
10014 #if !defined(_MSC_VER) || _MSC_VER >= 1900
10015 const SolverParameter_SolverType SolverParameter::SGD;
10016 const SolverParameter_SolverType SolverParameter::NESTEROV;
10017 const SolverParameter_SolverType SolverParameter::ADAGRAD;
10018 const SolverParameter_SolverType SolverParameter::RMSPROP;
10019 const SolverParameter_SolverType SolverParameter::ADADELTA;
10020 const SolverParameter_SolverType SolverParameter::ADAM;
10021 const SolverParameter_SolverType SolverParameter::SolverType_MIN;
10022 const SolverParameter_SolverType SolverParameter::SolverType_MAX;
10023 const int SolverParameter::SolverType_ARRAYSIZE;
10024 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
10025 ::std::string* SolverParameter::_default_regularization_type_ = NULL;
10026 ::std::string* SolverParameter::_default_type_ = NULL;
10027 #if !defined(_MSC_VER) || _MSC_VER >= 1900
10028 const int SolverParameter::kNetFieldNumber;
10029 const int SolverParameter::kNetParamFieldNumber;
10030 const int SolverParameter::kTrainNetFieldNumber;
10031 const int SolverParameter::kTestNetFieldNumber;
10032 const int SolverParameter::kTrainNetParamFieldNumber;
10033 const int SolverParameter::kTestNetParamFieldNumber;
10034 const int SolverParameter::kTrainStateFieldNumber;
10035 const int SolverParameter::kTestStateFieldNumber;
10036 const int SolverParameter::kTestIterFieldNumber;
10037 const int SolverParameter::kTestIntervalFieldNumber;
10038 const int SolverParameter::kTestComputeLossFieldNumber;
10039 const int SolverParameter::kTestInitializationFieldNumber;
10040 const int SolverParameter::kBaseLrFieldNumber;
10041 const int SolverParameter::kDisplayFieldNumber;
10042 const int SolverParameter::kAverageLossFieldNumber;
10043 const int SolverParameter::kMaxIterFieldNumber;
10044 const int SolverParameter::kIterSizeFieldNumber;
10045 const int SolverParameter::kLrPolicyFieldNumber;
10046 const int SolverParameter::kGammaFieldNumber;
10047 const int SolverParameter::kPowerFieldNumber;
10048 const int SolverParameter::kMomentumFieldNumber;
10049 const int SolverParameter::kWeightDecayFieldNumber;
10050 const int SolverParameter::kRegularizationTypeFieldNumber;
10051 const int SolverParameter::kStepsizeFieldNumber;
10052 const int SolverParameter::kStepvalueFieldNumber;
10053 const int SolverParameter::kClipGradientsFieldNumber;
10054 const int SolverParameter::kSnapshotFieldNumber;
10055 const int SolverParameter::kSnapshotPrefixFieldNumber;
10056 const int SolverParameter::kSnapshotDiffFieldNumber;
10057 const int SolverParameter::kSnapshotFormatFieldNumber;
10058 const int SolverParameter::kSolverModeFieldNumber;
10059 const int SolverParameter::kDeviceIdFieldNumber;
10060 const int SolverParameter::kRandomSeedFieldNumber;
10061 const int SolverParameter::kTypeFieldNumber;
10062 const int SolverParameter::kDeltaFieldNumber;
10063 const int SolverParameter::kMomentum2FieldNumber;
10064 const int SolverParameter::kRmsDecayFieldNumber;
10065 const int SolverParameter::kDebugInfoFieldNumber;
10066 const int SolverParameter::kSnapshotAfterTrainFieldNumber;
10067 const int SolverParameter::kSolverTypeFieldNumber;
10068 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
10069
10070 SolverParameter::SolverParameter()
10071   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
10072   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
10073   SharedCtor();
10074   // @@protoc_insertion_point(constructor:opencv_caffe.SolverParameter)
10075 }
10076
10077 void SolverParameter::InitAsDefaultInstance() {
10078   net_param_ = const_cast< ::opencv_caffe::NetParameter*>(
10079       ::opencv_caffe::NetParameter::internal_default_instance());
10080   train_net_param_ = const_cast< ::opencv_caffe::NetParameter*>(
10081       ::opencv_caffe::NetParameter::internal_default_instance());
10082   train_state_ = const_cast< ::opencv_caffe::NetState*>(
10083       ::opencv_caffe::NetState::internal_default_instance());
10084 }
10085
10086 SolverParameter::SolverParameter(const SolverParameter& from)
10087   : ::google::protobuf::Message(),
10088     _internal_metadata_(NULL) {
10089   SharedCtor();
10090   UnsafeMergeFrom(from);
10091   // @@protoc_insertion_point(copy_constructor:opencv_caffe.SolverParameter)
10092 }
10093
10094 void SolverParameter::SharedCtor() {
10095   net_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10096   train_net_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10097   lr_policy_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10098   regularization_type_.UnsafeSetDefault(_default_regularization_type_);
10099   snapshot_prefix_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10100   type_.UnsafeSetDefault(_default_type_);
10101   net_param_ = NULL;
10102   train_net_param_ = NULL;
10103   train_state_ = NULL;
10104   ::memset(&test_interval_, 0, reinterpret_cast<char*>(&solver_type_) -
10105     reinterpret_cast<char*>(&test_interval_) + sizeof(solver_type_));
10106   rms_decay_ = 0.99f;
10107   average_loss_ = 1;
10108   iter_size_ = 1;
10109   test_initialization_ = true;
10110   snapshot_after_train_ = true;
10111   clip_gradients_ = -1;
10112   snapshot_format_ = 1;
10113   solver_mode_ = 1;
10114   random_seed_ = GOOGLE_LONGLONG(-1);
10115   delta_ = 1e-08f;
10116   momentum2_ = 0.999f;
10117   _cached_size_ = 0;
10118 }
10119
10120 SolverParameter::~SolverParameter() {
10121   // @@protoc_insertion_point(destructor:opencv_caffe.SolverParameter)
10122   SharedDtor();
10123 }
10124
10125 void SolverParameter::SharedDtor() {
10126   net_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10127   train_net_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10128   lr_policy_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10129   regularization_type_.DestroyNoArena(_default_regularization_type_);
10130   snapshot_prefix_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10131   type_.DestroyNoArena(_default_type_);
10132   if (this != &SolverParameter_default_instance_.get()) {
10133     delete net_param_;
10134     delete train_net_param_;
10135     delete train_state_;
10136   }
10137 }
10138
10139 void SolverParameter::SetCachedSize(int size) const {
10140   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
10141   _cached_size_ = size;
10142   GOOGLE_SAFE_CONCURRENT_WRITES_END();
10143 }
10144 const ::google::protobuf::Descriptor* SolverParameter::descriptor() {
10145   protobuf_AssignDescriptorsOnce();
10146   return SolverParameter_descriptor_;
10147 }
10148
10149 const SolverParameter& SolverParameter::default_instance() {
10150   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
10151   return *internal_default_instance();
10152 }
10153
10154 ::google::protobuf::internal::ExplicitlyConstructed<SolverParameter> SolverParameter_default_instance_;
10155
10156 SolverParameter* SolverParameter::New(::google::protobuf::Arena* arena) const {
10157   SolverParameter* n = new SolverParameter;
10158   if (arena != NULL) {
10159     arena->Own(n);
10160   }
10161   return n;
10162 }
10163
10164 void SolverParameter::Clear() {
10165 // @@protoc_insertion_point(message_clear_start:opencv_caffe.SolverParameter)
10166 #if defined(__clang__)
10167 #define ZR_HELPER_(f) \
10168   _Pragma("clang diagnostic push") \
10169   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
10170   __builtin_offsetof(SolverParameter, f) \
10171   _Pragma("clang diagnostic pop")
10172 #else
10173 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
10174   &reinterpret_cast<SolverParameter*>(16)->f)
10175 #endif
10176
10177 #define ZR_(first, last) do {\
10178   ::memset(&(first), 0,\
10179            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
10180 } while (0)
10181
10182   if (_has_bits_[0 / 32] & 87u) {
10183     if (has_net()) {
10184       net_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10185     }
10186     if (has_net_param()) {
10187       if (net_param_ != NULL) net_param_->::opencv_caffe::NetParameter::Clear();
10188     }
10189     if (has_train_net()) {
10190       train_net_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10191     }
10192     if (has_train_net_param()) {
10193       if (train_net_param_ != NULL) train_net_param_->::opencv_caffe::NetParameter::Clear();
10194     }
10195     if (has_train_state()) {
10196       if (train_state_ != NULL) train_state_->::opencv_caffe::NetState::Clear();
10197     }
10198   }
10199   if (_has_bits_[8 / 32] & 65024u) {
10200     ZR_(test_interval_, max_iter_);
10201     test_compute_loss_ = false;
10202     test_initialization_ = true;
10203     average_loss_ = 1;
10204   }
10205   if (_has_bits_[16 / 32] & 16711680u) {
10206     ZR_(gamma_, stepsize_);
10207     iter_size_ = 1;
10208     if (has_lr_policy()) {
10209       lr_policy_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10210     }
10211     if (has_regularization_type()) {
10212       regularization_type_.ClearToDefaultNoArena(_default_regularization_type_);
10213     }
10214   }
10215   if (_has_bits_[24 / 32] & 4261412864u) {
10216     ZR_(snapshot_, device_id_);
10217     clip_gradients_ = -1;
10218     if (has_snapshot_prefix()) {
10219       snapshot_prefix_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10220     }
10221     snapshot_diff_ = false;
10222     snapshot_format_ = 1;
10223     solver_mode_ = 1;
10224   }
10225   if (_has_bits_[32 / 32] & 255u) {
10226     random_seed_ = GOOGLE_LONGLONG(-1);
10227     if (has_type()) {
10228       type_.ClearToDefaultNoArena(_default_type_);
10229     }
10230     delta_ = 1e-08f;
10231     momentum2_ = 0.999f;
10232     rms_decay_ = 0.99f;
10233     debug_info_ = false;
10234     snapshot_after_train_ = true;
10235     solver_type_ = 0;
10236   }
10237
10238 #undef ZR_HELPER_
10239 #undef ZR_
10240
10241   test_net_.Clear();
10242   test_net_param_.Clear();
10243   test_state_.Clear();
10244   test_iter_.Clear();
10245   stepvalue_.Clear();
10246   _has_bits_.Clear();
10247   if (_internal_metadata_.have_unknown_fields()) {
10248     mutable_unknown_fields()->Clear();
10249   }
10250 }
10251
10252 bool SolverParameter::MergePartialFromCodedStream(
10253     ::google::protobuf::io::CodedInputStream* input) {
10254 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
10255   ::google::protobuf::uint32 tag;
10256   // @@protoc_insertion_point(parse_start:opencv_caffe.SolverParameter)
10257   for (;;) {
10258     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
10259     tag = p.first;
10260     if (!p.second) goto handle_unusual;
10261     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
10262       // optional string train_net = 1;
10263       case 1: {
10264         if (tag == 10) {
10265           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
10266                 input, this->mutable_train_net()));
10267           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
10268             this->train_net().data(), this->train_net().length(),
10269             ::google::protobuf::internal::WireFormat::PARSE,
10270             "opencv_caffe.SolverParameter.train_net");
10271         } else {
10272           goto handle_unusual;
10273         }
10274         if (input->ExpectTag(18)) goto parse_test_net;
10275         break;
10276       }
10277
10278       // repeated string test_net = 2;
10279       case 2: {
10280         if (tag == 18) {
10281          parse_test_net:
10282           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
10283                 input, this->add_test_net()));
10284           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
10285             this->test_net(this->test_net_size() - 1).data(),
10286             this->test_net(this->test_net_size() - 1).length(),
10287             ::google::protobuf::internal::WireFormat::PARSE,
10288             "opencv_caffe.SolverParameter.test_net");
10289         } else {
10290           goto handle_unusual;
10291         }
10292         if (input->ExpectTag(18)) goto parse_test_net;
10293         if (input->ExpectTag(24)) goto parse_test_iter;
10294         break;
10295       }
10296
10297       // repeated int32 test_iter = 3;
10298       case 3: {
10299         if (tag == 24) {
10300          parse_test_iter:
10301           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
10302                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10303                  1, 24, input, this->mutable_test_iter())));
10304         } else if (tag == 26) {
10305           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
10306                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10307                  input, this->mutable_test_iter())));
10308         } else {
10309           goto handle_unusual;
10310         }
10311         if (input->ExpectTag(24)) goto parse_test_iter;
10312         if (input->ExpectTag(32)) goto parse_test_interval;
10313         break;
10314       }
10315
10316       // optional int32 test_interval = 4 [default = 0];
10317       case 4: {
10318         if (tag == 32) {
10319          parse_test_interval:
10320           set_has_test_interval();
10321           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10322                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10323                  input, &test_interval_)));
10324         } else {
10325           goto handle_unusual;
10326         }
10327         if (input->ExpectTag(45)) goto parse_base_lr;
10328         break;
10329       }
10330
10331       // optional float base_lr = 5;
10332       case 5: {
10333         if (tag == 45) {
10334          parse_base_lr:
10335           set_has_base_lr();
10336           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10337                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
10338                  input, &base_lr_)));
10339         } else {
10340           goto handle_unusual;
10341         }
10342         if (input->ExpectTag(48)) goto parse_display;
10343         break;
10344       }
10345
10346       // optional int32 display = 6;
10347       case 6: {
10348         if (tag == 48) {
10349          parse_display:
10350           set_has_display();
10351           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10352                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10353                  input, &display_)));
10354         } else {
10355           goto handle_unusual;
10356         }
10357         if (input->ExpectTag(56)) goto parse_max_iter;
10358         break;
10359       }
10360
10361       // optional int32 max_iter = 7;
10362       case 7: {
10363         if (tag == 56) {
10364          parse_max_iter:
10365           set_has_max_iter();
10366           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10367                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10368                  input, &max_iter_)));
10369         } else {
10370           goto handle_unusual;
10371         }
10372         if (input->ExpectTag(66)) goto parse_lr_policy;
10373         break;
10374       }
10375
10376       // optional string lr_policy = 8;
10377       case 8: {
10378         if (tag == 66) {
10379          parse_lr_policy:
10380           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
10381                 input, this->mutable_lr_policy()));
10382           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
10383             this->lr_policy().data(), this->lr_policy().length(),
10384             ::google::protobuf::internal::WireFormat::PARSE,
10385             "opencv_caffe.SolverParameter.lr_policy");
10386         } else {
10387           goto handle_unusual;
10388         }
10389         if (input->ExpectTag(77)) goto parse_gamma;
10390         break;
10391       }
10392
10393       // optional float gamma = 9;
10394       case 9: {
10395         if (tag == 77) {
10396          parse_gamma:
10397           set_has_gamma();
10398           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10399                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
10400                  input, &gamma_)));
10401         } else {
10402           goto handle_unusual;
10403         }
10404         if (input->ExpectTag(85)) goto parse_power;
10405         break;
10406       }
10407
10408       // optional float power = 10;
10409       case 10: {
10410         if (tag == 85) {
10411          parse_power:
10412           set_has_power();
10413           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10414                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
10415                  input, &power_)));
10416         } else {
10417           goto handle_unusual;
10418         }
10419         if (input->ExpectTag(93)) goto parse_momentum;
10420         break;
10421       }
10422
10423       // optional float momentum = 11;
10424       case 11: {
10425         if (tag == 93) {
10426          parse_momentum:
10427           set_has_momentum();
10428           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10429                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
10430                  input, &momentum_)));
10431         } else {
10432           goto handle_unusual;
10433         }
10434         if (input->ExpectTag(101)) goto parse_weight_decay;
10435         break;
10436       }
10437
10438       // optional float weight_decay = 12;
10439       case 12: {
10440         if (tag == 101) {
10441          parse_weight_decay:
10442           set_has_weight_decay();
10443           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10444                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
10445                  input, &weight_decay_)));
10446         } else {
10447           goto handle_unusual;
10448         }
10449         if (input->ExpectTag(104)) goto parse_stepsize;
10450         break;
10451       }
10452
10453       // optional int32 stepsize = 13;
10454       case 13: {
10455         if (tag == 104) {
10456          parse_stepsize:
10457           set_has_stepsize();
10458           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10459                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10460                  input, &stepsize_)));
10461         } else {
10462           goto handle_unusual;
10463         }
10464         if (input->ExpectTag(112)) goto parse_snapshot;
10465         break;
10466       }
10467
10468       // optional int32 snapshot = 14 [default = 0];
10469       case 14: {
10470         if (tag == 112) {
10471          parse_snapshot:
10472           set_has_snapshot();
10473           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10474                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10475                  input, &snapshot_)));
10476         } else {
10477           goto handle_unusual;
10478         }
10479         if (input->ExpectTag(122)) goto parse_snapshot_prefix;
10480         break;
10481       }
10482
10483       // optional string snapshot_prefix = 15;
10484       case 15: {
10485         if (tag == 122) {
10486          parse_snapshot_prefix:
10487           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
10488                 input, this->mutable_snapshot_prefix()));
10489           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
10490             this->snapshot_prefix().data(), this->snapshot_prefix().length(),
10491             ::google::protobuf::internal::WireFormat::PARSE,
10492             "opencv_caffe.SolverParameter.snapshot_prefix");
10493         } else {
10494           goto handle_unusual;
10495         }
10496         if (input->ExpectTag(128)) goto parse_snapshot_diff;
10497         break;
10498       }
10499
10500       // optional bool snapshot_diff = 16 [default = false];
10501       case 16: {
10502         if (tag == 128) {
10503          parse_snapshot_diff:
10504           set_has_snapshot_diff();
10505           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10506                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
10507                  input, &snapshot_diff_)));
10508         } else {
10509           goto handle_unusual;
10510         }
10511         if (input->ExpectTag(136)) goto parse_solver_mode;
10512         break;
10513       }
10514
10515       // optional .opencv_caffe.SolverParameter.SolverMode solver_mode = 17 [default = GPU];
10516       case 17: {
10517         if (tag == 136) {
10518          parse_solver_mode:
10519           int value;
10520           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10521                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
10522                  input, &value)));
10523           if (::opencv_caffe::SolverParameter_SolverMode_IsValid(value)) {
10524             set_solver_mode(static_cast< ::opencv_caffe::SolverParameter_SolverMode >(value));
10525           } else {
10526             mutable_unknown_fields()->AddVarint(17, value);
10527           }
10528         } else {
10529           goto handle_unusual;
10530         }
10531         if (input->ExpectTag(144)) goto parse_device_id;
10532         break;
10533       }
10534
10535       // optional int32 device_id = 18 [default = 0];
10536       case 18: {
10537         if (tag == 144) {
10538          parse_device_id:
10539           set_has_device_id();
10540           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10541                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10542                  input, &device_id_)));
10543         } else {
10544           goto handle_unusual;
10545         }
10546         if (input->ExpectTag(152)) goto parse_test_compute_loss;
10547         break;
10548       }
10549
10550       // optional bool test_compute_loss = 19 [default = false];
10551       case 19: {
10552         if (tag == 152) {
10553          parse_test_compute_loss:
10554           set_has_test_compute_loss();
10555           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10556                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
10557                  input, &test_compute_loss_)));
10558         } else {
10559           goto handle_unusual;
10560         }
10561         if (input->ExpectTag(160)) goto parse_random_seed;
10562         break;
10563       }
10564
10565       // optional int64 random_seed = 20 [default = -1];
10566       case 20: {
10567         if (tag == 160) {
10568          parse_random_seed:
10569           set_has_random_seed();
10570           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10571                    ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
10572                  input, &random_seed_)));
10573         } else {
10574           goto handle_unusual;
10575         }
10576         if (input->ExpectTag(170)) goto parse_train_net_param;
10577         break;
10578       }
10579
10580       // optional .opencv_caffe.NetParameter train_net_param = 21;
10581       case 21: {
10582         if (tag == 170) {
10583          parse_train_net_param:
10584           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
10585                input, mutable_train_net_param()));
10586         } else {
10587           goto handle_unusual;
10588         }
10589         if (input->ExpectTag(178)) goto parse_test_net_param;
10590         break;
10591       }
10592
10593       // repeated .opencv_caffe.NetParameter test_net_param = 22;
10594       case 22: {
10595         if (tag == 178) {
10596          parse_test_net_param:
10597           DO_(input->IncrementRecursionDepth());
10598          parse_loop_test_net_param:
10599           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
10600                 input, add_test_net_param()));
10601         } else {
10602           goto handle_unusual;
10603         }
10604         if (input->ExpectTag(178)) goto parse_loop_test_net_param;
10605         input->UnsafeDecrementRecursionDepth();
10606         if (input->ExpectTag(184)) goto parse_debug_info;
10607         break;
10608       }
10609
10610       // optional bool debug_info = 23 [default = false];
10611       case 23: {
10612         if (tag == 184) {
10613          parse_debug_info:
10614           set_has_debug_info();
10615           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10616                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
10617                  input, &debug_info_)));
10618         } else {
10619           goto handle_unusual;
10620         }
10621         if (input->ExpectTag(194)) goto parse_net;
10622         break;
10623       }
10624
10625       // optional string net = 24;
10626       case 24: {
10627         if (tag == 194) {
10628          parse_net:
10629           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
10630                 input, this->mutable_net()));
10631           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
10632             this->net().data(), this->net().length(),
10633             ::google::protobuf::internal::WireFormat::PARSE,
10634             "opencv_caffe.SolverParameter.net");
10635         } else {
10636           goto handle_unusual;
10637         }
10638         if (input->ExpectTag(202)) goto parse_net_param;
10639         break;
10640       }
10641
10642       // optional .opencv_caffe.NetParameter net_param = 25;
10643       case 25: {
10644         if (tag == 202) {
10645          parse_net_param:
10646           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
10647                input, mutable_net_param()));
10648         } else {
10649           goto handle_unusual;
10650         }
10651         if (input->ExpectTag(210)) goto parse_train_state;
10652         break;
10653       }
10654
10655       // optional .opencv_caffe.NetState train_state = 26;
10656       case 26: {
10657         if (tag == 210) {
10658          parse_train_state:
10659           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
10660                input, mutable_train_state()));
10661         } else {
10662           goto handle_unusual;
10663         }
10664         if (input->ExpectTag(218)) goto parse_test_state;
10665         break;
10666       }
10667
10668       // repeated .opencv_caffe.NetState test_state = 27;
10669       case 27: {
10670         if (tag == 218) {
10671          parse_test_state:
10672           DO_(input->IncrementRecursionDepth());
10673          parse_loop_test_state:
10674           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
10675                 input, add_test_state()));
10676         } else {
10677           goto handle_unusual;
10678         }
10679         if (input->ExpectTag(218)) goto parse_loop_test_state;
10680         input->UnsafeDecrementRecursionDepth();
10681         if (input->ExpectTag(224)) goto parse_snapshot_after_train;
10682         break;
10683       }
10684
10685       // optional bool snapshot_after_train = 28 [default = true];
10686       case 28: {
10687         if (tag == 224) {
10688          parse_snapshot_after_train:
10689           set_has_snapshot_after_train();
10690           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10691                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
10692                  input, &snapshot_after_train_)));
10693         } else {
10694           goto handle_unusual;
10695         }
10696         if (input->ExpectTag(234)) goto parse_regularization_type;
10697         break;
10698       }
10699
10700       // optional string regularization_type = 29 [default = "L2"];
10701       case 29: {
10702         if (tag == 234) {
10703          parse_regularization_type:
10704           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
10705                 input, this->mutable_regularization_type()));
10706           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
10707             this->regularization_type().data(), this->regularization_type().length(),
10708             ::google::protobuf::internal::WireFormat::PARSE,
10709             "opencv_caffe.SolverParameter.regularization_type");
10710         } else {
10711           goto handle_unusual;
10712         }
10713         if (input->ExpectTag(240)) goto parse_solver_type;
10714         break;
10715       }
10716
10717       // optional .opencv_caffe.SolverParameter.SolverType solver_type = 30 [default = SGD];
10718       case 30: {
10719         if (tag == 240) {
10720          parse_solver_type:
10721           int value;
10722           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10723                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
10724                  input, &value)));
10725           if (::opencv_caffe::SolverParameter_SolverType_IsValid(value)) {
10726             set_solver_type(static_cast< ::opencv_caffe::SolverParameter_SolverType >(value));
10727           } else {
10728             mutable_unknown_fields()->AddVarint(30, value);
10729           }
10730         } else {
10731           goto handle_unusual;
10732         }
10733         if (input->ExpectTag(253)) goto parse_delta;
10734         break;
10735       }
10736
10737       // optional float delta = 31 [default = 1e-08];
10738       case 31: {
10739         if (tag == 253) {
10740          parse_delta:
10741           set_has_delta();
10742           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10743                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
10744                  input, &delta_)));
10745         } else {
10746           goto handle_unusual;
10747         }
10748         if (input->ExpectTag(256)) goto parse_test_initialization;
10749         break;
10750       }
10751
10752       // optional bool test_initialization = 32 [default = true];
10753       case 32: {
10754         if (tag == 256) {
10755          parse_test_initialization:
10756           set_has_test_initialization();
10757           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10758                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
10759                  input, &test_initialization_)));
10760         } else {
10761           goto handle_unusual;
10762         }
10763         if (input->ExpectTag(264)) goto parse_average_loss;
10764         break;
10765       }
10766
10767       // optional int32 average_loss = 33 [default = 1];
10768       case 33: {
10769         if (tag == 264) {
10770          parse_average_loss:
10771           set_has_average_loss();
10772           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10773                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10774                  input, &average_loss_)));
10775         } else {
10776           goto handle_unusual;
10777         }
10778         if (input->ExpectTag(272)) goto parse_stepvalue;
10779         break;
10780       }
10781
10782       // repeated int32 stepvalue = 34;
10783       case 34: {
10784         if (tag == 272) {
10785          parse_stepvalue:
10786           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
10787                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10788                  2, 272, input, this->mutable_stepvalue())));
10789         } else if (tag == 274) {
10790           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
10791                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10792                  input, this->mutable_stepvalue())));
10793         } else {
10794           goto handle_unusual;
10795         }
10796         if (input->ExpectTag(272)) goto parse_stepvalue;
10797         if (input->ExpectTag(285)) goto parse_clip_gradients;
10798         break;
10799       }
10800
10801       // optional float clip_gradients = 35 [default = -1];
10802       case 35: {
10803         if (tag == 285) {
10804          parse_clip_gradients:
10805           set_has_clip_gradients();
10806           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10807                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
10808                  input, &clip_gradients_)));
10809         } else {
10810           goto handle_unusual;
10811         }
10812         if (input->ExpectTag(288)) goto parse_iter_size;
10813         break;
10814       }
10815
10816       // optional int32 iter_size = 36 [default = 1];
10817       case 36: {
10818         if (tag == 288) {
10819          parse_iter_size:
10820           set_has_iter_size();
10821           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10822                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10823                  input, &iter_size_)));
10824         } else {
10825           goto handle_unusual;
10826         }
10827         if (input->ExpectTag(296)) goto parse_snapshot_format;
10828         break;
10829       }
10830
10831       // optional .opencv_caffe.SolverParameter.SnapshotFormat snapshot_format = 37 [default = BINARYPROTO];
10832       case 37: {
10833         if (tag == 296) {
10834          parse_snapshot_format:
10835           int value;
10836           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10837                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
10838                  input, &value)));
10839           if (::opencv_caffe::SolverParameter_SnapshotFormat_IsValid(value)) {
10840             set_snapshot_format(static_cast< ::opencv_caffe::SolverParameter_SnapshotFormat >(value));
10841           } else {
10842             mutable_unknown_fields()->AddVarint(37, value);
10843           }
10844         } else {
10845           goto handle_unusual;
10846         }
10847         if (input->ExpectTag(309)) goto parse_rms_decay;
10848         break;
10849       }
10850
10851       // optional float rms_decay = 38 [default = 0.99];
10852       case 38: {
10853         if (tag == 309) {
10854          parse_rms_decay:
10855           set_has_rms_decay();
10856           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10857                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
10858                  input, &rms_decay_)));
10859         } else {
10860           goto handle_unusual;
10861         }
10862         if (input->ExpectTag(317)) goto parse_momentum2;
10863         break;
10864       }
10865
10866       // optional float momentum2 = 39 [default = 0.999];
10867       case 39: {
10868         if (tag == 317) {
10869          parse_momentum2:
10870           set_has_momentum2();
10871           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10872                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
10873                  input, &momentum2_)));
10874         } else {
10875           goto handle_unusual;
10876         }
10877         if (input->ExpectTag(322)) goto parse_type;
10878         break;
10879       }
10880
10881       // optional string type = 40 [default = "SGD"];
10882       case 40: {
10883         if (tag == 322) {
10884          parse_type:
10885           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
10886                 input, this->mutable_type()));
10887           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
10888             this->type().data(), this->type().length(),
10889             ::google::protobuf::internal::WireFormat::PARSE,
10890             "opencv_caffe.SolverParameter.type");
10891         } else {
10892           goto handle_unusual;
10893         }
10894         if (input->ExpectAtEnd()) goto success;
10895         break;
10896       }
10897
10898       default: {
10899       handle_unusual:
10900         if (tag == 0 ||
10901             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
10902             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
10903           goto success;
10904         }
10905         DO_(::google::protobuf::internal::WireFormat::SkipField(
10906               input, tag, mutable_unknown_fields()));
10907         break;
10908       }
10909     }
10910   }
10911 success:
10912   // @@protoc_insertion_point(parse_success:opencv_caffe.SolverParameter)
10913   return true;
10914 failure:
10915   // @@protoc_insertion_point(parse_failure:opencv_caffe.SolverParameter)
10916   return false;
10917 #undef DO_
10918 }
10919
10920 void SolverParameter::SerializeWithCachedSizes(
10921     ::google::protobuf::io::CodedOutputStream* output) const {
10922   // @@protoc_insertion_point(serialize_start:opencv_caffe.SolverParameter)
10923   // optional string train_net = 1;
10924   if (has_train_net()) {
10925     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
10926       this->train_net().data(), this->train_net().length(),
10927       ::google::protobuf::internal::WireFormat::SERIALIZE,
10928       "opencv_caffe.SolverParameter.train_net");
10929     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
10930       1, this->train_net(), output);
10931   }
10932
10933   // repeated string test_net = 2;
10934   for (int i = 0; i < this->test_net_size(); i++) {
10935     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
10936       this->test_net(i).data(), this->test_net(i).length(),
10937       ::google::protobuf::internal::WireFormat::SERIALIZE,
10938       "opencv_caffe.SolverParameter.test_net");
10939     ::google::protobuf::internal::WireFormatLite::WriteString(
10940       2, this->test_net(i), output);
10941   }
10942
10943   // repeated int32 test_iter = 3;
10944   for (int i = 0; i < this->test_iter_size(); i++) {
10945     ::google::protobuf::internal::WireFormatLite::WriteInt32(
10946       3, this->test_iter(i), output);
10947   }
10948
10949   // optional int32 test_interval = 4 [default = 0];
10950   if (has_test_interval()) {
10951     ::google::protobuf::internal::WireFormatLite::WriteInt32(4, this->test_interval(), output);
10952   }
10953
10954   // optional float base_lr = 5;
10955   if (has_base_lr()) {
10956     ::google::protobuf::internal::WireFormatLite::WriteFloat(5, this->base_lr(), output);
10957   }
10958
10959   // optional int32 display = 6;
10960   if (has_display()) {
10961     ::google::protobuf::internal::WireFormatLite::WriteInt32(6, this->display(), output);
10962   }
10963
10964   // optional int32 max_iter = 7;
10965   if (has_max_iter()) {
10966     ::google::protobuf::internal::WireFormatLite::WriteInt32(7, this->max_iter(), output);
10967   }
10968
10969   // optional string lr_policy = 8;
10970   if (has_lr_policy()) {
10971     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
10972       this->lr_policy().data(), this->lr_policy().length(),
10973       ::google::protobuf::internal::WireFormat::SERIALIZE,
10974       "opencv_caffe.SolverParameter.lr_policy");
10975     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
10976       8, this->lr_policy(), output);
10977   }
10978
10979   // optional float gamma = 9;
10980   if (has_gamma()) {
10981     ::google::protobuf::internal::WireFormatLite::WriteFloat(9, this->gamma(), output);
10982   }
10983
10984   // optional float power = 10;
10985   if (has_power()) {
10986     ::google::protobuf::internal::WireFormatLite::WriteFloat(10, this->power(), output);
10987   }
10988
10989   // optional float momentum = 11;
10990   if (has_momentum()) {
10991     ::google::protobuf::internal::WireFormatLite::WriteFloat(11, this->momentum(), output);
10992   }
10993
10994   // optional float weight_decay = 12;
10995   if (has_weight_decay()) {
10996     ::google::protobuf::internal::WireFormatLite::WriteFloat(12, this->weight_decay(), output);
10997   }
10998
10999   // optional int32 stepsize = 13;
11000   if (has_stepsize()) {
11001     ::google::protobuf::internal::WireFormatLite::WriteInt32(13, this->stepsize(), output);
11002   }
11003
11004   // optional int32 snapshot = 14 [default = 0];
11005   if (has_snapshot()) {
11006     ::google::protobuf::internal::WireFormatLite::WriteInt32(14, this->snapshot(), output);
11007   }
11008
11009   // optional string snapshot_prefix = 15;
11010   if (has_snapshot_prefix()) {
11011     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
11012       this->snapshot_prefix().data(), this->snapshot_prefix().length(),
11013       ::google::protobuf::internal::WireFormat::SERIALIZE,
11014       "opencv_caffe.SolverParameter.snapshot_prefix");
11015     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
11016       15, this->snapshot_prefix(), output);
11017   }
11018
11019   // optional bool snapshot_diff = 16 [default = false];
11020   if (has_snapshot_diff()) {
11021     ::google::protobuf::internal::WireFormatLite::WriteBool(16, this->snapshot_diff(), output);
11022   }
11023
11024   // optional .opencv_caffe.SolverParameter.SolverMode solver_mode = 17 [default = GPU];
11025   if (has_solver_mode()) {
11026     ::google::protobuf::internal::WireFormatLite::WriteEnum(
11027       17, this->solver_mode(), output);
11028   }
11029
11030   // optional int32 device_id = 18 [default = 0];
11031   if (has_device_id()) {
11032     ::google::protobuf::internal::WireFormatLite::WriteInt32(18, this->device_id(), output);
11033   }
11034
11035   // optional bool test_compute_loss = 19 [default = false];
11036   if (has_test_compute_loss()) {
11037     ::google::protobuf::internal::WireFormatLite::WriteBool(19, this->test_compute_loss(), output);
11038   }
11039
11040   // optional int64 random_seed = 20 [default = -1];
11041   if (has_random_seed()) {
11042     ::google::protobuf::internal::WireFormatLite::WriteInt64(20, this->random_seed(), output);
11043   }
11044
11045   // optional .opencv_caffe.NetParameter train_net_param = 21;
11046   if (has_train_net_param()) {
11047     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
11048       21, *this->train_net_param_, output);
11049   }
11050
11051   // repeated .opencv_caffe.NetParameter test_net_param = 22;
11052   for (unsigned int i = 0, n = this->test_net_param_size(); i < n; i++) {
11053     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
11054       22, this->test_net_param(i), output);
11055   }
11056
11057   // optional bool debug_info = 23 [default = false];
11058   if (has_debug_info()) {
11059     ::google::protobuf::internal::WireFormatLite::WriteBool(23, this->debug_info(), output);
11060   }
11061
11062   // optional string net = 24;
11063   if (has_net()) {
11064     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
11065       this->net().data(), this->net().length(),
11066       ::google::protobuf::internal::WireFormat::SERIALIZE,
11067       "opencv_caffe.SolverParameter.net");
11068     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
11069       24, this->net(), output);
11070   }
11071
11072   // optional .opencv_caffe.NetParameter net_param = 25;
11073   if (has_net_param()) {
11074     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
11075       25, *this->net_param_, output);
11076   }
11077
11078   // optional .opencv_caffe.NetState train_state = 26;
11079   if (has_train_state()) {
11080     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
11081       26, *this->train_state_, output);
11082   }
11083
11084   // repeated .opencv_caffe.NetState test_state = 27;
11085   for (unsigned int i = 0, n = this->test_state_size(); i < n; i++) {
11086     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
11087       27, this->test_state(i), output);
11088   }
11089
11090   // optional bool snapshot_after_train = 28 [default = true];
11091   if (has_snapshot_after_train()) {
11092     ::google::protobuf::internal::WireFormatLite::WriteBool(28, this->snapshot_after_train(), output);
11093   }
11094
11095   // optional string regularization_type = 29 [default = "L2"];
11096   if (has_regularization_type()) {
11097     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
11098       this->regularization_type().data(), this->regularization_type().length(),
11099       ::google::protobuf::internal::WireFormat::SERIALIZE,
11100       "opencv_caffe.SolverParameter.regularization_type");
11101     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
11102       29, this->regularization_type(), output);
11103   }
11104
11105   // optional .opencv_caffe.SolverParameter.SolverType solver_type = 30 [default = SGD];
11106   if (has_solver_type()) {
11107     ::google::protobuf::internal::WireFormatLite::WriteEnum(
11108       30, this->solver_type(), output);
11109   }
11110
11111   // optional float delta = 31 [default = 1e-08];
11112   if (has_delta()) {
11113     ::google::protobuf::internal::WireFormatLite::WriteFloat(31, this->delta(), output);
11114   }
11115
11116   // optional bool test_initialization = 32 [default = true];
11117   if (has_test_initialization()) {
11118     ::google::protobuf::internal::WireFormatLite::WriteBool(32, this->test_initialization(), output);
11119   }
11120
11121   // optional int32 average_loss = 33 [default = 1];
11122   if (has_average_loss()) {
11123     ::google::protobuf::internal::WireFormatLite::WriteInt32(33, this->average_loss(), output);
11124   }
11125
11126   // repeated int32 stepvalue = 34;
11127   for (int i = 0; i < this->stepvalue_size(); i++) {
11128     ::google::protobuf::internal::WireFormatLite::WriteInt32(
11129       34, this->stepvalue(i), output);
11130   }
11131
11132   // optional float clip_gradients = 35 [default = -1];
11133   if (has_clip_gradients()) {
11134     ::google::protobuf::internal::WireFormatLite::WriteFloat(35, this->clip_gradients(), output);
11135   }
11136
11137   // optional int32 iter_size = 36 [default = 1];
11138   if (has_iter_size()) {
11139     ::google::protobuf::internal::WireFormatLite::WriteInt32(36, this->iter_size(), output);
11140   }
11141
11142   // optional .opencv_caffe.SolverParameter.SnapshotFormat snapshot_format = 37 [default = BINARYPROTO];
11143   if (has_snapshot_format()) {
11144     ::google::protobuf::internal::WireFormatLite::WriteEnum(
11145       37, this->snapshot_format(), output);
11146   }
11147
11148   // optional float rms_decay = 38 [default = 0.99];
11149   if (has_rms_decay()) {
11150     ::google::protobuf::internal::WireFormatLite::WriteFloat(38, this->rms_decay(), output);
11151   }
11152
11153   // optional float momentum2 = 39 [default = 0.999];
11154   if (has_momentum2()) {
11155     ::google::protobuf::internal::WireFormatLite::WriteFloat(39, this->momentum2(), output);
11156   }
11157
11158   // optional string type = 40 [default = "SGD"];
11159   if (has_type()) {
11160     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
11161       this->type().data(), this->type().length(),
11162       ::google::protobuf::internal::WireFormat::SERIALIZE,
11163       "opencv_caffe.SolverParameter.type");
11164     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
11165       40, this->type(), output);
11166   }
11167
11168   if (_internal_metadata_.have_unknown_fields()) {
11169     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
11170         unknown_fields(), output);
11171   }
11172   // @@protoc_insertion_point(serialize_end:opencv_caffe.SolverParameter)
11173 }
11174
11175 ::google::protobuf::uint8* SolverParameter::InternalSerializeWithCachedSizesToArray(
11176     bool deterministic, ::google::protobuf::uint8* target) const {
11177   (void)deterministic; // Unused
11178   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.SolverParameter)
11179   // optional string train_net = 1;
11180   if (has_train_net()) {
11181     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
11182       this->train_net().data(), this->train_net().length(),
11183       ::google::protobuf::internal::WireFormat::SERIALIZE,
11184       "opencv_caffe.SolverParameter.train_net");
11185     target =
11186       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
11187         1, this->train_net(), target);
11188   }
11189
11190   // repeated string test_net = 2;
11191   for (int i = 0; i < this->test_net_size(); i++) {
11192     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
11193       this->test_net(i).data(), this->test_net(i).length(),
11194       ::google::protobuf::internal::WireFormat::SERIALIZE,
11195       "opencv_caffe.SolverParameter.test_net");
11196     target = ::google::protobuf::internal::WireFormatLite::
11197       WriteStringToArray(2, this->test_net(i), target);
11198   }
11199
11200   // repeated int32 test_iter = 3;
11201   for (int i = 0; i < this->test_iter_size(); i++) {
11202     target = ::google::protobuf::internal::WireFormatLite::
11203       WriteInt32ToArray(3, this->test_iter(i), target);
11204   }
11205
11206   // optional int32 test_interval = 4 [default = 0];
11207   if (has_test_interval()) {
11208     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(4, this->test_interval(), target);
11209   }
11210
11211   // optional float base_lr = 5;
11212   if (has_base_lr()) {
11213     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(5, this->base_lr(), target);
11214   }
11215
11216   // optional int32 display = 6;
11217   if (has_display()) {
11218     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(6, this->display(), target);
11219   }
11220
11221   // optional int32 max_iter = 7;
11222   if (has_max_iter()) {
11223     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(7, this->max_iter(), target);
11224   }
11225
11226   // optional string lr_policy = 8;
11227   if (has_lr_policy()) {
11228     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
11229       this->lr_policy().data(), this->lr_policy().length(),
11230       ::google::protobuf::internal::WireFormat::SERIALIZE,
11231       "opencv_caffe.SolverParameter.lr_policy");
11232     target =
11233       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
11234         8, this->lr_policy(), target);
11235   }
11236
11237   // optional float gamma = 9;
11238   if (has_gamma()) {
11239     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(9, this->gamma(), target);
11240   }
11241
11242   // optional float power = 10;
11243   if (has_power()) {
11244     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(10, this->power(), target);
11245   }
11246
11247   // optional float momentum = 11;
11248   if (has_momentum()) {
11249     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(11, this->momentum(), target);
11250   }
11251
11252   // optional float weight_decay = 12;
11253   if (has_weight_decay()) {
11254     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(12, this->weight_decay(), target);
11255   }
11256
11257   // optional int32 stepsize = 13;
11258   if (has_stepsize()) {
11259     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(13, this->stepsize(), target);
11260   }
11261
11262   // optional int32 snapshot = 14 [default = 0];
11263   if (has_snapshot()) {
11264     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(14, this->snapshot(), target);
11265   }
11266
11267   // optional string snapshot_prefix = 15;
11268   if (has_snapshot_prefix()) {
11269     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
11270       this->snapshot_prefix().data(), this->snapshot_prefix().length(),
11271       ::google::protobuf::internal::WireFormat::SERIALIZE,
11272       "opencv_caffe.SolverParameter.snapshot_prefix");
11273     target =
11274       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
11275         15, this->snapshot_prefix(), target);
11276   }
11277
11278   // optional bool snapshot_diff = 16 [default = false];
11279   if (has_snapshot_diff()) {
11280     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(16, this->snapshot_diff(), target);
11281   }
11282
11283   // optional .opencv_caffe.SolverParameter.SolverMode solver_mode = 17 [default = GPU];
11284   if (has_solver_mode()) {
11285     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
11286       17, this->solver_mode(), target);
11287   }
11288
11289   // optional int32 device_id = 18 [default = 0];
11290   if (has_device_id()) {
11291     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(18, this->device_id(), target);
11292   }
11293
11294   // optional bool test_compute_loss = 19 [default = false];
11295   if (has_test_compute_loss()) {
11296     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(19, this->test_compute_loss(), target);
11297   }
11298
11299   // optional int64 random_seed = 20 [default = -1];
11300   if (has_random_seed()) {
11301     target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(20, this->random_seed(), target);
11302   }
11303
11304   // optional .opencv_caffe.NetParameter train_net_param = 21;
11305   if (has_train_net_param()) {
11306     target = ::google::protobuf::internal::WireFormatLite::
11307       InternalWriteMessageNoVirtualToArray(
11308         21, *this->train_net_param_, false, target);
11309   }
11310
11311   // repeated .opencv_caffe.NetParameter test_net_param = 22;
11312   for (unsigned int i = 0, n = this->test_net_param_size(); i < n; i++) {
11313     target = ::google::protobuf::internal::WireFormatLite::
11314       InternalWriteMessageNoVirtualToArray(
11315         22, this->test_net_param(i), false, target);
11316   }
11317
11318   // optional bool debug_info = 23 [default = false];
11319   if (has_debug_info()) {
11320     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(23, this->debug_info(), target);
11321   }
11322
11323   // optional string net = 24;
11324   if (has_net()) {
11325     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
11326       this->net().data(), this->net().length(),
11327       ::google::protobuf::internal::WireFormat::SERIALIZE,
11328       "opencv_caffe.SolverParameter.net");
11329     target =
11330       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
11331         24, this->net(), target);
11332   }
11333
11334   // optional .opencv_caffe.NetParameter net_param = 25;
11335   if (has_net_param()) {
11336     target = ::google::protobuf::internal::WireFormatLite::
11337       InternalWriteMessageNoVirtualToArray(
11338         25, *this->net_param_, false, target);
11339   }
11340
11341   // optional .opencv_caffe.NetState train_state = 26;
11342   if (has_train_state()) {
11343     target = ::google::protobuf::internal::WireFormatLite::
11344       InternalWriteMessageNoVirtualToArray(
11345         26, *this->train_state_, false, target);
11346   }
11347
11348   // repeated .opencv_caffe.NetState test_state = 27;
11349   for (unsigned int i = 0, n = this->test_state_size(); i < n; i++) {
11350     target = ::google::protobuf::internal::WireFormatLite::
11351       InternalWriteMessageNoVirtualToArray(
11352         27, this->test_state(i), false, target);
11353   }
11354
11355   // optional bool snapshot_after_train = 28 [default = true];
11356   if (has_snapshot_after_train()) {
11357     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(28, this->snapshot_after_train(), target);
11358   }
11359
11360   // optional string regularization_type = 29 [default = "L2"];
11361   if (has_regularization_type()) {
11362     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
11363       this->regularization_type().data(), this->regularization_type().length(),
11364       ::google::protobuf::internal::WireFormat::SERIALIZE,
11365       "opencv_caffe.SolverParameter.regularization_type");
11366     target =
11367       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
11368         29, this->regularization_type(), target);
11369   }
11370
11371   // optional .opencv_caffe.SolverParameter.SolverType solver_type = 30 [default = SGD];
11372   if (has_solver_type()) {
11373     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
11374       30, this->solver_type(), target);
11375   }
11376
11377   // optional float delta = 31 [default = 1e-08];
11378   if (has_delta()) {
11379     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(31, this->delta(), target);
11380   }
11381
11382   // optional bool test_initialization = 32 [default = true];
11383   if (has_test_initialization()) {
11384     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(32, this->test_initialization(), target);
11385   }
11386
11387   // optional int32 average_loss = 33 [default = 1];
11388   if (has_average_loss()) {
11389     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(33, this->average_loss(), target);
11390   }
11391
11392   // repeated int32 stepvalue = 34;
11393   for (int i = 0; i < this->stepvalue_size(); i++) {
11394     target = ::google::protobuf::internal::WireFormatLite::
11395       WriteInt32ToArray(34, this->stepvalue(i), target);
11396   }
11397
11398   // optional float clip_gradients = 35 [default = -1];
11399   if (has_clip_gradients()) {
11400     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(35, this->clip_gradients(), target);
11401   }
11402
11403   // optional int32 iter_size = 36 [default = 1];
11404   if (has_iter_size()) {
11405     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(36, this->iter_size(), target);
11406   }
11407
11408   // optional .opencv_caffe.SolverParameter.SnapshotFormat snapshot_format = 37 [default = BINARYPROTO];
11409   if (has_snapshot_format()) {
11410     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
11411       37, this->snapshot_format(), target);
11412   }
11413
11414   // optional float rms_decay = 38 [default = 0.99];
11415   if (has_rms_decay()) {
11416     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(38, this->rms_decay(), target);
11417   }
11418
11419   // optional float momentum2 = 39 [default = 0.999];
11420   if (has_momentum2()) {
11421     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(39, this->momentum2(), target);
11422   }
11423
11424   // optional string type = 40 [default = "SGD"];
11425   if (has_type()) {
11426     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
11427       this->type().data(), this->type().length(),
11428       ::google::protobuf::internal::WireFormat::SERIALIZE,
11429       "opencv_caffe.SolverParameter.type");
11430     target =
11431       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
11432         40, this->type(), target);
11433   }
11434
11435   if (_internal_metadata_.have_unknown_fields()) {
11436     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
11437         unknown_fields(), target);
11438   }
11439   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.SolverParameter)
11440   return target;
11441 }
11442
11443 size_t SolverParameter::ByteSizeLong() const {
11444 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.SolverParameter)
11445   size_t total_size = 0;
11446
11447   if (_has_bits_[0 / 32] & 87u) {
11448     // optional string net = 24;
11449     if (has_net()) {
11450       total_size += 2 +
11451         ::google::protobuf::internal::WireFormatLite::StringSize(
11452           this->net());
11453     }
11454
11455     // optional .opencv_caffe.NetParameter net_param = 25;
11456     if (has_net_param()) {
11457       total_size += 2 +
11458         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
11459           *this->net_param_);
11460     }
11461
11462     // optional string train_net = 1;
11463     if (has_train_net()) {
11464       total_size += 1 +
11465         ::google::protobuf::internal::WireFormatLite::StringSize(
11466           this->train_net());
11467     }
11468
11469     // optional .opencv_caffe.NetParameter train_net_param = 21;
11470     if (has_train_net_param()) {
11471       total_size += 2 +
11472         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
11473           *this->train_net_param_);
11474     }
11475
11476     // optional .opencv_caffe.NetState train_state = 26;
11477     if (has_train_state()) {
11478       total_size += 2 +
11479         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
11480           *this->train_state_);
11481     }
11482
11483   }
11484   if (_has_bits_[9 / 32] & 65024u) {
11485     // optional int32 test_interval = 4 [default = 0];
11486     if (has_test_interval()) {
11487       total_size += 1 +
11488         ::google::protobuf::internal::WireFormatLite::Int32Size(
11489           this->test_interval());
11490     }
11491
11492     // optional bool test_compute_loss = 19 [default = false];
11493     if (has_test_compute_loss()) {
11494       total_size += 2 + 1;
11495     }
11496
11497     // optional bool test_initialization = 32 [default = true];
11498     if (has_test_initialization()) {
11499       total_size += 2 + 1;
11500     }
11501
11502     // optional float base_lr = 5;
11503     if (has_base_lr()) {
11504       total_size += 1 + 4;
11505     }
11506
11507     // optional int32 display = 6;
11508     if (has_display()) {
11509       total_size += 1 +
11510         ::google::protobuf::internal::WireFormatLite::Int32Size(
11511           this->display());
11512     }
11513
11514     // optional int32 average_loss = 33 [default = 1];
11515     if (has_average_loss()) {
11516       total_size += 2 +
11517         ::google::protobuf::internal::WireFormatLite::Int32Size(
11518           this->average_loss());
11519     }
11520
11521     // optional int32 max_iter = 7;
11522     if (has_max_iter()) {
11523       total_size += 1 +
11524         ::google::protobuf::internal::WireFormatLite::Int32Size(
11525           this->max_iter());
11526     }
11527
11528   }
11529   if (_has_bits_[16 / 32] & 16711680u) {
11530     // optional int32 iter_size = 36 [default = 1];
11531     if (has_iter_size()) {
11532       total_size += 2 +
11533         ::google::protobuf::internal::WireFormatLite::Int32Size(
11534           this->iter_size());
11535     }
11536
11537     // optional string lr_policy = 8;
11538     if (has_lr_policy()) {
11539       total_size += 1 +
11540         ::google::protobuf::internal::WireFormatLite::StringSize(
11541           this->lr_policy());
11542     }
11543
11544     // optional float gamma = 9;
11545     if (has_gamma()) {
11546       total_size += 1 + 4;
11547     }
11548
11549     // optional float power = 10;
11550     if (has_power()) {
11551       total_size += 1 + 4;
11552     }
11553
11554     // optional float momentum = 11;
11555     if (has_momentum()) {
11556       total_size += 1 + 4;
11557     }
11558
11559     // optional float weight_decay = 12;
11560     if (has_weight_decay()) {
11561       total_size += 1 + 4;
11562     }
11563
11564     // optional string regularization_type = 29 [default = "L2"];
11565     if (has_regularization_type()) {
11566       total_size += 2 +
11567         ::google::protobuf::internal::WireFormatLite::StringSize(
11568           this->regularization_type());
11569     }
11570
11571     // optional int32 stepsize = 13;
11572     if (has_stepsize()) {
11573       total_size += 1 +
11574         ::google::protobuf::internal::WireFormatLite::Int32Size(
11575           this->stepsize());
11576     }
11577
11578   }
11579   if (_has_bits_[25 / 32] & 4261412864u) {
11580     // optional float clip_gradients = 35 [default = -1];
11581     if (has_clip_gradients()) {
11582       total_size += 2 + 4;
11583     }
11584
11585     // optional int32 snapshot = 14 [default = 0];
11586     if (has_snapshot()) {
11587       total_size += 1 +
11588         ::google::protobuf::internal::WireFormatLite::Int32Size(
11589           this->snapshot());
11590     }
11591
11592     // optional string snapshot_prefix = 15;
11593     if (has_snapshot_prefix()) {
11594       total_size += 1 +
11595         ::google::protobuf::internal::WireFormatLite::StringSize(
11596           this->snapshot_prefix());
11597     }
11598
11599     // optional bool snapshot_diff = 16 [default = false];
11600     if (has_snapshot_diff()) {
11601       total_size += 2 + 1;
11602     }
11603
11604     // optional .opencv_caffe.SolverParameter.SnapshotFormat snapshot_format = 37 [default = BINARYPROTO];
11605     if (has_snapshot_format()) {
11606       total_size += 2 +
11607         ::google::protobuf::internal::WireFormatLite::EnumSize(this->snapshot_format());
11608     }
11609
11610     // optional .opencv_caffe.SolverParameter.SolverMode solver_mode = 17 [default = GPU];
11611     if (has_solver_mode()) {
11612       total_size += 2 +
11613         ::google::protobuf::internal::WireFormatLite::EnumSize(this->solver_mode());
11614     }
11615
11616     // optional int32 device_id = 18 [default = 0];
11617     if (has_device_id()) {
11618       total_size += 2 +
11619         ::google::protobuf::internal::WireFormatLite::Int32Size(
11620           this->device_id());
11621     }
11622
11623   }
11624   if (_has_bits_[32 / 32] & 255u) {
11625     // optional int64 random_seed = 20 [default = -1];
11626     if (has_random_seed()) {
11627       total_size += 2 +
11628         ::google::protobuf::internal::WireFormatLite::Int64Size(
11629           this->random_seed());
11630     }
11631
11632     // optional string type = 40 [default = "SGD"];
11633     if (has_type()) {
11634       total_size += 2 +
11635         ::google::protobuf::internal::WireFormatLite::StringSize(
11636           this->type());
11637     }
11638
11639     // optional float delta = 31 [default = 1e-08];
11640     if (has_delta()) {
11641       total_size += 2 + 4;
11642     }
11643
11644     // optional float momentum2 = 39 [default = 0.999];
11645     if (has_momentum2()) {
11646       total_size += 2 + 4;
11647     }
11648
11649     // optional float rms_decay = 38 [default = 0.99];
11650     if (has_rms_decay()) {
11651       total_size += 2 + 4;
11652     }
11653
11654     // optional bool debug_info = 23 [default = false];
11655     if (has_debug_info()) {
11656       total_size += 2 + 1;
11657     }
11658
11659     // optional bool snapshot_after_train = 28 [default = true];
11660     if (has_snapshot_after_train()) {
11661       total_size += 2 + 1;
11662     }
11663
11664     // optional .opencv_caffe.SolverParameter.SolverType solver_type = 30 [default = SGD];
11665     if (has_solver_type()) {
11666       total_size += 2 +
11667         ::google::protobuf::internal::WireFormatLite::EnumSize(this->solver_type());
11668     }
11669
11670   }
11671   // repeated string test_net = 2;
11672   total_size += 1 *
11673       ::google::protobuf::internal::FromIntSize(this->test_net_size());
11674   for (int i = 0; i < this->test_net_size(); i++) {
11675     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
11676       this->test_net(i));
11677   }
11678
11679   // repeated .opencv_caffe.NetParameter test_net_param = 22;
11680   {
11681     unsigned int count = this->test_net_param_size();
11682     total_size += 2UL * count;
11683     for (unsigned int i = 0; i < count; i++) {
11684       total_size +=
11685         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
11686           this->test_net_param(i));
11687     }
11688   }
11689
11690   // repeated .opencv_caffe.NetState test_state = 27;
11691   {
11692     unsigned int count = this->test_state_size();
11693     total_size += 2UL * count;
11694     for (unsigned int i = 0; i < count; i++) {
11695       total_size +=
11696         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
11697           this->test_state(i));
11698     }
11699   }
11700
11701   // repeated int32 test_iter = 3;
11702   {
11703     size_t data_size = 0;
11704     unsigned int count = this->test_iter_size();
11705     for (unsigned int i = 0; i < count; i++) {
11706       data_size += ::google::protobuf::internal::WireFormatLite::
11707         Int32Size(this->test_iter(i));
11708     }
11709     total_size += 1 *
11710                   ::google::protobuf::internal::FromIntSize(this->test_iter_size());
11711     total_size += data_size;
11712   }
11713
11714   // repeated int32 stepvalue = 34;
11715   {
11716     size_t data_size = 0;
11717     unsigned int count = this->stepvalue_size();
11718     for (unsigned int i = 0; i < count; i++) {
11719       data_size += ::google::protobuf::internal::WireFormatLite::
11720         Int32Size(this->stepvalue(i));
11721     }
11722     total_size += 2 *
11723                   ::google::protobuf::internal::FromIntSize(this->stepvalue_size());
11724     total_size += data_size;
11725   }
11726
11727   if (_internal_metadata_.have_unknown_fields()) {
11728     total_size +=
11729       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
11730         unknown_fields());
11731   }
11732   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
11733   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
11734   _cached_size_ = cached_size;
11735   GOOGLE_SAFE_CONCURRENT_WRITES_END();
11736   return total_size;
11737 }
11738
11739 void SolverParameter::MergeFrom(const ::google::protobuf::Message& from) {
11740 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.SolverParameter)
11741   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
11742   const SolverParameter* source =
11743       ::google::protobuf::internal::DynamicCastToGenerated<const SolverParameter>(
11744           &from);
11745   if (source == NULL) {
11746   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.SolverParameter)
11747     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
11748   } else {
11749   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.SolverParameter)
11750     UnsafeMergeFrom(*source);
11751   }
11752 }
11753
11754 void SolverParameter::MergeFrom(const SolverParameter& from) {
11755 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.SolverParameter)
11756   if (GOOGLE_PREDICT_TRUE(&from != this)) {
11757     UnsafeMergeFrom(from);
11758   } else {
11759     MergeFromFail(__LINE__);
11760   }
11761 }
11762
11763 void SolverParameter::UnsafeMergeFrom(const SolverParameter& from) {
11764   GOOGLE_DCHECK(&from != this);
11765   test_net_.UnsafeMergeFrom(from.test_net_);
11766   test_net_param_.MergeFrom(from.test_net_param_);
11767   test_state_.MergeFrom(from.test_state_);
11768   test_iter_.UnsafeMergeFrom(from.test_iter_);
11769   stepvalue_.UnsafeMergeFrom(from.stepvalue_);
11770   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
11771     if (from.has_net()) {
11772       set_has_net();
11773       net_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.net_);
11774     }
11775     if (from.has_net_param()) {
11776       mutable_net_param()->::opencv_caffe::NetParameter::MergeFrom(from.net_param());
11777     }
11778     if (from.has_train_net()) {
11779       set_has_train_net();
11780       train_net_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.train_net_);
11781     }
11782     if (from.has_train_net_param()) {
11783       mutable_train_net_param()->::opencv_caffe::NetParameter::MergeFrom(from.train_net_param());
11784     }
11785     if (from.has_train_state()) {
11786       mutable_train_state()->::opencv_caffe::NetState::MergeFrom(from.train_state());
11787     }
11788   }
11789   if (from._has_bits_[9 / 32] & (0xffu << (9 % 32))) {
11790     if (from.has_test_interval()) {
11791       set_test_interval(from.test_interval());
11792     }
11793     if (from.has_test_compute_loss()) {
11794       set_test_compute_loss(from.test_compute_loss());
11795     }
11796     if (from.has_test_initialization()) {
11797       set_test_initialization(from.test_initialization());
11798     }
11799     if (from.has_base_lr()) {
11800       set_base_lr(from.base_lr());
11801     }
11802     if (from.has_display()) {
11803       set_display(from.display());
11804     }
11805     if (from.has_average_loss()) {
11806       set_average_loss(from.average_loss());
11807     }
11808     if (from.has_max_iter()) {
11809       set_max_iter(from.max_iter());
11810     }
11811   }
11812   if (from._has_bits_[16 / 32] & (0xffu << (16 % 32))) {
11813     if (from.has_iter_size()) {
11814       set_iter_size(from.iter_size());
11815     }
11816     if (from.has_lr_policy()) {
11817       set_has_lr_policy();
11818       lr_policy_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.lr_policy_);
11819     }
11820     if (from.has_gamma()) {
11821       set_gamma(from.gamma());
11822     }
11823     if (from.has_power()) {
11824       set_power(from.power());
11825     }
11826     if (from.has_momentum()) {
11827       set_momentum(from.momentum());
11828     }
11829     if (from.has_weight_decay()) {
11830       set_weight_decay(from.weight_decay());
11831     }
11832     if (from.has_regularization_type()) {
11833       set_has_regularization_type();
11834       regularization_type_.AssignWithDefault(_default_regularization_type_, from.regularization_type_);
11835     }
11836     if (from.has_stepsize()) {
11837       set_stepsize(from.stepsize());
11838     }
11839   }
11840   if (from._has_bits_[25 / 32] & (0xffu << (25 % 32))) {
11841     if (from.has_clip_gradients()) {
11842       set_clip_gradients(from.clip_gradients());
11843     }
11844     if (from.has_snapshot()) {
11845       set_snapshot(from.snapshot());
11846     }
11847     if (from.has_snapshot_prefix()) {
11848       set_has_snapshot_prefix();
11849       snapshot_prefix_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.snapshot_prefix_);
11850     }
11851     if (from.has_snapshot_diff()) {
11852       set_snapshot_diff(from.snapshot_diff());
11853     }
11854     if (from.has_snapshot_format()) {
11855       set_snapshot_format(from.snapshot_format());
11856     }
11857     if (from.has_solver_mode()) {
11858       set_solver_mode(from.solver_mode());
11859     }
11860     if (from.has_device_id()) {
11861       set_device_id(from.device_id());
11862     }
11863   }
11864   if (from._has_bits_[32 / 32] & (0xffu << (32 % 32))) {
11865     if (from.has_random_seed()) {
11866       set_random_seed(from.random_seed());
11867     }
11868     if (from.has_type()) {
11869       set_has_type();
11870       type_.AssignWithDefault(_default_type_, from.type_);
11871     }
11872     if (from.has_delta()) {
11873       set_delta(from.delta());
11874     }
11875     if (from.has_momentum2()) {
11876       set_momentum2(from.momentum2());
11877     }
11878     if (from.has_rms_decay()) {
11879       set_rms_decay(from.rms_decay());
11880     }
11881     if (from.has_debug_info()) {
11882       set_debug_info(from.debug_info());
11883     }
11884     if (from.has_snapshot_after_train()) {
11885       set_snapshot_after_train(from.snapshot_after_train());
11886     }
11887     if (from.has_solver_type()) {
11888       set_solver_type(from.solver_type());
11889     }
11890   }
11891   if (from._internal_metadata_.have_unknown_fields()) {
11892     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
11893       from.unknown_fields(), &_internal_metadata_);
11894   }
11895 }
11896
11897 void SolverParameter::CopyFrom(const ::google::protobuf::Message& from) {
11898 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.SolverParameter)
11899   if (&from == this) return;
11900   Clear();
11901   MergeFrom(from);
11902 }
11903
11904 void SolverParameter::CopyFrom(const SolverParameter& from) {
11905 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.SolverParameter)
11906   if (&from == this) return;
11907   Clear();
11908   UnsafeMergeFrom(from);
11909 }
11910
11911 bool SolverParameter::IsInitialized() const {
11912
11913   return true;
11914 }
11915
11916 void SolverParameter::Swap(SolverParameter* other) {
11917   if (other == this) return;
11918   InternalSwap(other);
11919 }
11920 void SolverParameter::InternalSwap(SolverParameter* other) {
11921   net_.Swap(&other->net_);
11922   std::swap(net_param_, other->net_param_);
11923   train_net_.Swap(&other->train_net_);
11924   test_net_.UnsafeArenaSwap(&other->test_net_);
11925   std::swap(train_net_param_, other->train_net_param_);
11926   test_net_param_.UnsafeArenaSwap(&other->test_net_param_);
11927   std::swap(train_state_, other->train_state_);
11928   test_state_.UnsafeArenaSwap(&other->test_state_);
11929   test_iter_.UnsafeArenaSwap(&other->test_iter_);
11930   std::swap(test_interval_, other->test_interval_);
11931   std::swap(test_compute_loss_, other->test_compute_loss_);
11932   std::swap(test_initialization_, other->test_initialization_);
11933   std::swap(base_lr_, other->base_lr_);
11934   std::swap(display_, other->display_);
11935   std::swap(average_loss_, other->average_loss_);
11936   std::swap(max_iter_, other->max_iter_);
11937   std::swap(iter_size_, other->iter_size_);
11938   lr_policy_.Swap(&other->lr_policy_);
11939   std::swap(gamma_, other->gamma_);
11940   std::swap(power_, other->power_);
11941   std::swap(momentum_, other->momentum_);
11942   std::swap(weight_decay_, other->weight_decay_);
11943   regularization_type_.Swap(&other->regularization_type_);
11944   std::swap(stepsize_, other->stepsize_);
11945   stepvalue_.UnsafeArenaSwap(&other->stepvalue_);
11946   std::swap(clip_gradients_, other->clip_gradients_);
11947   std::swap(snapshot_, other->snapshot_);
11948   snapshot_prefix_.Swap(&other->snapshot_prefix_);
11949   std::swap(snapshot_diff_, other->snapshot_diff_);
11950   std::swap(snapshot_format_, other->snapshot_format_);
11951   std::swap(solver_mode_, other->solver_mode_);
11952   std::swap(device_id_, other->device_id_);
11953   std::swap(random_seed_, other->random_seed_);
11954   type_.Swap(&other->type_);
11955   std::swap(delta_, other->delta_);
11956   std::swap(momentum2_, other->momentum2_);
11957   std::swap(rms_decay_, other->rms_decay_);
11958   std::swap(debug_info_, other->debug_info_);
11959   std::swap(snapshot_after_train_, other->snapshot_after_train_);
11960   std::swap(solver_type_, other->solver_type_);
11961   std::swap(_has_bits_[0], other->_has_bits_[0]);
11962   std::swap(_has_bits_[1], other->_has_bits_[1]);
11963   _internal_metadata_.Swap(&other->_internal_metadata_);
11964   std::swap(_cached_size_, other->_cached_size_);
11965 }
11966
11967 ::google::protobuf::Metadata SolverParameter::GetMetadata() const {
11968   protobuf_AssignDescriptorsOnce();
11969   ::google::protobuf::Metadata metadata;
11970   metadata.descriptor = SolverParameter_descriptor_;
11971   metadata.reflection = SolverParameter_reflection_;
11972   return metadata;
11973 }
11974
11975 #if PROTOBUF_INLINE_NOT_IN_HEADERS
11976 // SolverParameter
11977
11978 // optional string net = 24;
11979 bool SolverParameter::has_net() const {
11980   return (_has_bits_[0] & 0x00000001u) != 0;
11981 }
11982 void SolverParameter::set_has_net() {
11983   _has_bits_[0] |= 0x00000001u;
11984 }
11985 void SolverParameter::clear_has_net() {
11986   _has_bits_[0] &= ~0x00000001u;
11987 }
11988 void SolverParameter::clear_net() {
11989   net_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
11990   clear_has_net();
11991 }
11992 const ::std::string& SolverParameter::net() const {
11993   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.net)
11994   return net_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
11995 }
11996 void SolverParameter::set_net(const ::std::string& value) {
11997   set_has_net();
11998   net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
11999   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.net)
12000 }
12001 void SolverParameter::set_net(const char* value) {
12002   set_has_net();
12003   net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
12004   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.net)
12005 }
12006 void SolverParameter::set_net(const char* value, size_t size) {
12007   set_has_net();
12008   net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
12009       ::std::string(reinterpret_cast<const char*>(value), size));
12010   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.net)
12011 }
12012 ::std::string* SolverParameter::mutable_net() {
12013   set_has_net();
12014   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.net)
12015   return net_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12016 }
12017 ::std::string* SolverParameter::release_net() {
12018   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.net)
12019   clear_has_net();
12020   return net_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12021 }
12022 void SolverParameter::set_allocated_net(::std::string* net) {
12023   if (net != NULL) {
12024     set_has_net();
12025   } else {
12026     clear_has_net();
12027   }
12028   net_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), net);
12029   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.net)
12030 }
12031
12032 // optional .opencv_caffe.NetParameter net_param = 25;
12033 bool SolverParameter::has_net_param() const {
12034   return (_has_bits_[0] & 0x00000002u) != 0;
12035 }
12036 void SolverParameter::set_has_net_param() {
12037   _has_bits_[0] |= 0x00000002u;
12038 }
12039 void SolverParameter::clear_has_net_param() {
12040   _has_bits_[0] &= ~0x00000002u;
12041 }
12042 void SolverParameter::clear_net_param() {
12043   if (net_param_ != NULL) net_param_->::opencv_caffe::NetParameter::Clear();
12044   clear_has_net_param();
12045 }
12046 const ::opencv_caffe::NetParameter& SolverParameter::net_param() const {
12047   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.net_param)
12048   return net_param_ != NULL ? *net_param_
12049                          : *::opencv_caffe::NetParameter::internal_default_instance();
12050 }
12051 ::opencv_caffe::NetParameter* SolverParameter::mutable_net_param() {
12052   set_has_net_param();
12053   if (net_param_ == NULL) {
12054     net_param_ = new ::opencv_caffe::NetParameter;
12055   }
12056   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.net_param)
12057   return net_param_;
12058 }
12059 ::opencv_caffe::NetParameter* SolverParameter::release_net_param() {
12060   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.net_param)
12061   clear_has_net_param();
12062   ::opencv_caffe::NetParameter* temp = net_param_;
12063   net_param_ = NULL;
12064   return temp;
12065 }
12066 void SolverParameter::set_allocated_net_param(::opencv_caffe::NetParameter* net_param) {
12067   delete net_param_;
12068   net_param_ = net_param;
12069   if (net_param) {
12070     set_has_net_param();
12071   } else {
12072     clear_has_net_param();
12073   }
12074   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.net_param)
12075 }
12076
12077 // optional string train_net = 1;
12078 bool SolverParameter::has_train_net() const {
12079   return (_has_bits_[0] & 0x00000004u) != 0;
12080 }
12081 void SolverParameter::set_has_train_net() {
12082   _has_bits_[0] |= 0x00000004u;
12083 }
12084 void SolverParameter::clear_has_train_net() {
12085   _has_bits_[0] &= ~0x00000004u;
12086 }
12087 void SolverParameter::clear_train_net() {
12088   train_net_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12089   clear_has_train_net();
12090 }
12091 const ::std::string& SolverParameter::train_net() const {
12092   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.train_net)
12093   return train_net_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12094 }
12095 void SolverParameter::set_train_net(const ::std::string& value) {
12096   set_has_train_net();
12097   train_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
12098   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.train_net)
12099 }
12100 void SolverParameter::set_train_net(const char* value) {
12101   set_has_train_net();
12102   train_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
12103   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.train_net)
12104 }
12105 void SolverParameter::set_train_net(const char* value, size_t size) {
12106   set_has_train_net();
12107   train_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
12108       ::std::string(reinterpret_cast<const char*>(value), size));
12109   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.train_net)
12110 }
12111 ::std::string* SolverParameter::mutable_train_net() {
12112   set_has_train_net();
12113   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.train_net)
12114   return train_net_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12115 }
12116 ::std::string* SolverParameter::release_train_net() {
12117   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.train_net)
12118   clear_has_train_net();
12119   return train_net_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12120 }
12121 void SolverParameter::set_allocated_train_net(::std::string* train_net) {
12122   if (train_net != NULL) {
12123     set_has_train_net();
12124   } else {
12125     clear_has_train_net();
12126   }
12127   train_net_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), train_net);
12128   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.train_net)
12129 }
12130
12131 // repeated string test_net = 2;
12132 int SolverParameter::test_net_size() const {
12133   return test_net_.size();
12134 }
12135 void SolverParameter::clear_test_net() {
12136   test_net_.Clear();
12137 }
12138 const ::std::string& SolverParameter::test_net(int index) const {
12139   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_net)
12140   return test_net_.Get(index);
12141 }
12142 ::std::string* SolverParameter::mutable_test_net(int index) {
12143   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.test_net)
12144   return test_net_.Mutable(index);
12145 }
12146 void SolverParameter::set_test_net(int index, const ::std::string& value) {
12147   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.test_net)
12148   test_net_.Mutable(index)->assign(value);
12149 }
12150 void SolverParameter::set_test_net(int index, const char* value) {
12151   test_net_.Mutable(index)->assign(value);
12152   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.test_net)
12153 }
12154 void SolverParameter::set_test_net(int index, const char* value, size_t size) {
12155   test_net_.Mutable(index)->assign(
12156     reinterpret_cast<const char*>(value), size);
12157   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.test_net)
12158 }
12159 ::std::string* SolverParameter::add_test_net() {
12160   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.SolverParameter.test_net)
12161   return test_net_.Add();
12162 }
12163 void SolverParameter::add_test_net(const ::std::string& value) {
12164   test_net_.Add()->assign(value);
12165   // @@protoc_insertion_point(field_add:opencv_caffe.SolverParameter.test_net)
12166 }
12167 void SolverParameter::add_test_net(const char* value) {
12168   test_net_.Add()->assign(value);
12169   // @@protoc_insertion_point(field_add_char:opencv_caffe.SolverParameter.test_net)
12170 }
12171 void SolverParameter::add_test_net(const char* value, size_t size) {
12172   test_net_.Add()->assign(reinterpret_cast<const char*>(value), size);
12173   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.SolverParameter.test_net)
12174 }
12175 const ::google::protobuf::RepeatedPtrField< ::std::string>&
12176 SolverParameter::test_net() const {
12177   // @@protoc_insertion_point(field_list:opencv_caffe.SolverParameter.test_net)
12178   return test_net_;
12179 }
12180 ::google::protobuf::RepeatedPtrField< ::std::string>*
12181 SolverParameter::mutable_test_net() {
12182   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverParameter.test_net)
12183   return &test_net_;
12184 }
12185
12186 // optional .opencv_caffe.NetParameter train_net_param = 21;
12187 bool SolverParameter::has_train_net_param() const {
12188   return (_has_bits_[0] & 0x00000010u) != 0;
12189 }
12190 void SolverParameter::set_has_train_net_param() {
12191   _has_bits_[0] |= 0x00000010u;
12192 }
12193 void SolverParameter::clear_has_train_net_param() {
12194   _has_bits_[0] &= ~0x00000010u;
12195 }
12196 void SolverParameter::clear_train_net_param() {
12197   if (train_net_param_ != NULL) train_net_param_->::opencv_caffe::NetParameter::Clear();
12198   clear_has_train_net_param();
12199 }
12200 const ::opencv_caffe::NetParameter& SolverParameter::train_net_param() const {
12201   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.train_net_param)
12202   return train_net_param_ != NULL ? *train_net_param_
12203                          : *::opencv_caffe::NetParameter::internal_default_instance();
12204 }
12205 ::opencv_caffe::NetParameter* SolverParameter::mutable_train_net_param() {
12206   set_has_train_net_param();
12207   if (train_net_param_ == NULL) {
12208     train_net_param_ = new ::opencv_caffe::NetParameter;
12209   }
12210   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.train_net_param)
12211   return train_net_param_;
12212 }
12213 ::opencv_caffe::NetParameter* SolverParameter::release_train_net_param() {
12214   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.train_net_param)
12215   clear_has_train_net_param();
12216   ::opencv_caffe::NetParameter* temp = train_net_param_;
12217   train_net_param_ = NULL;
12218   return temp;
12219 }
12220 void SolverParameter::set_allocated_train_net_param(::opencv_caffe::NetParameter* train_net_param) {
12221   delete train_net_param_;
12222   train_net_param_ = train_net_param;
12223   if (train_net_param) {
12224     set_has_train_net_param();
12225   } else {
12226     clear_has_train_net_param();
12227   }
12228   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.train_net_param)
12229 }
12230
12231 // repeated .opencv_caffe.NetParameter test_net_param = 22;
12232 int SolverParameter::test_net_param_size() const {
12233   return test_net_param_.size();
12234 }
12235 void SolverParameter::clear_test_net_param() {
12236   test_net_param_.Clear();
12237 }
12238 const ::opencv_caffe::NetParameter& SolverParameter::test_net_param(int index) const {
12239   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_net_param)
12240   return test_net_param_.Get(index);
12241 }
12242 ::opencv_caffe::NetParameter* SolverParameter::mutable_test_net_param(int index) {
12243   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.test_net_param)
12244   return test_net_param_.Mutable(index);
12245 }
12246 ::opencv_caffe::NetParameter* SolverParameter::add_test_net_param() {
12247   // @@protoc_insertion_point(field_add:opencv_caffe.SolverParameter.test_net_param)
12248   return test_net_param_.Add();
12249 }
12250 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetParameter >*
12251 SolverParameter::mutable_test_net_param() {
12252   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverParameter.test_net_param)
12253   return &test_net_param_;
12254 }
12255 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetParameter >&
12256 SolverParameter::test_net_param() const {
12257   // @@protoc_insertion_point(field_list:opencv_caffe.SolverParameter.test_net_param)
12258   return test_net_param_;
12259 }
12260
12261 // optional .opencv_caffe.NetState train_state = 26;
12262 bool SolverParameter::has_train_state() const {
12263   return (_has_bits_[0] & 0x00000040u) != 0;
12264 }
12265 void SolverParameter::set_has_train_state() {
12266   _has_bits_[0] |= 0x00000040u;
12267 }
12268 void SolverParameter::clear_has_train_state() {
12269   _has_bits_[0] &= ~0x00000040u;
12270 }
12271 void SolverParameter::clear_train_state() {
12272   if (train_state_ != NULL) train_state_->::opencv_caffe::NetState::Clear();
12273   clear_has_train_state();
12274 }
12275 const ::opencv_caffe::NetState& SolverParameter::train_state() const {
12276   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.train_state)
12277   return train_state_ != NULL ? *train_state_
12278                          : *::opencv_caffe::NetState::internal_default_instance();
12279 }
12280 ::opencv_caffe::NetState* SolverParameter::mutable_train_state() {
12281   set_has_train_state();
12282   if (train_state_ == NULL) {
12283     train_state_ = new ::opencv_caffe::NetState;
12284   }
12285   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.train_state)
12286   return train_state_;
12287 }
12288 ::opencv_caffe::NetState* SolverParameter::release_train_state() {
12289   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.train_state)
12290   clear_has_train_state();
12291   ::opencv_caffe::NetState* temp = train_state_;
12292   train_state_ = NULL;
12293   return temp;
12294 }
12295 void SolverParameter::set_allocated_train_state(::opencv_caffe::NetState* train_state) {
12296   delete train_state_;
12297   train_state_ = train_state;
12298   if (train_state) {
12299     set_has_train_state();
12300   } else {
12301     clear_has_train_state();
12302   }
12303   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.train_state)
12304 }
12305
12306 // repeated .opencv_caffe.NetState test_state = 27;
12307 int SolverParameter::test_state_size() const {
12308   return test_state_.size();
12309 }
12310 void SolverParameter::clear_test_state() {
12311   test_state_.Clear();
12312 }
12313 const ::opencv_caffe::NetState& SolverParameter::test_state(int index) const {
12314   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_state)
12315   return test_state_.Get(index);
12316 }
12317 ::opencv_caffe::NetState* SolverParameter::mutable_test_state(int index) {
12318   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.test_state)
12319   return test_state_.Mutable(index);
12320 }
12321 ::opencv_caffe::NetState* SolverParameter::add_test_state() {
12322   // @@protoc_insertion_point(field_add:opencv_caffe.SolverParameter.test_state)
12323   return test_state_.Add();
12324 }
12325 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetState >*
12326 SolverParameter::mutable_test_state() {
12327   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverParameter.test_state)
12328   return &test_state_;
12329 }
12330 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetState >&
12331 SolverParameter::test_state() const {
12332   // @@protoc_insertion_point(field_list:opencv_caffe.SolverParameter.test_state)
12333   return test_state_;
12334 }
12335
12336 // repeated int32 test_iter = 3;
12337 int SolverParameter::test_iter_size() const {
12338   return test_iter_.size();
12339 }
12340 void SolverParameter::clear_test_iter() {
12341   test_iter_.Clear();
12342 }
12343 ::google::protobuf::int32 SolverParameter::test_iter(int index) const {
12344   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_iter)
12345   return test_iter_.Get(index);
12346 }
12347 void SolverParameter::set_test_iter(int index, ::google::protobuf::int32 value) {
12348   test_iter_.Set(index, value);
12349   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.test_iter)
12350 }
12351 void SolverParameter::add_test_iter(::google::protobuf::int32 value) {
12352   test_iter_.Add(value);
12353   // @@protoc_insertion_point(field_add:opencv_caffe.SolverParameter.test_iter)
12354 }
12355 const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
12356 SolverParameter::test_iter() const {
12357   // @@protoc_insertion_point(field_list:opencv_caffe.SolverParameter.test_iter)
12358   return test_iter_;
12359 }
12360 ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
12361 SolverParameter::mutable_test_iter() {
12362   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverParameter.test_iter)
12363   return &test_iter_;
12364 }
12365
12366 // optional int32 test_interval = 4 [default = 0];
12367 bool SolverParameter::has_test_interval() const {
12368   return (_has_bits_[0] & 0x00000200u) != 0;
12369 }
12370 void SolverParameter::set_has_test_interval() {
12371   _has_bits_[0] |= 0x00000200u;
12372 }
12373 void SolverParameter::clear_has_test_interval() {
12374   _has_bits_[0] &= ~0x00000200u;
12375 }
12376 void SolverParameter::clear_test_interval() {
12377   test_interval_ = 0;
12378   clear_has_test_interval();
12379 }
12380 ::google::protobuf::int32 SolverParameter::test_interval() const {
12381   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_interval)
12382   return test_interval_;
12383 }
12384 void SolverParameter::set_test_interval(::google::protobuf::int32 value) {
12385   set_has_test_interval();
12386   test_interval_ = value;
12387   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.test_interval)
12388 }
12389
12390 // optional bool test_compute_loss = 19 [default = false];
12391 bool SolverParameter::has_test_compute_loss() const {
12392   return (_has_bits_[0] & 0x00000400u) != 0;
12393 }
12394 void SolverParameter::set_has_test_compute_loss() {
12395   _has_bits_[0] |= 0x00000400u;
12396 }
12397 void SolverParameter::clear_has_test_compute_loss() {
12398   _has_bits_[0] &= ~0x00000400u;
12399 }
12400 void SolverParameter::clear_test_compute_loss() {
12401   test_compute_loss_ = false;
12402   clear_has_test_compute_loss();
12403 }
12404 bool SolverParameter::test_compute_loss() const {
12405   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_compute_loss)
12406   return test_compute_loss_;
12407 }
12408 void SolverParameter::set_test_compute_loss(bool value) {
12409   set_has_test_compute_loss();
12410   test_compute_loss_ = value;
12411   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.test_compute_loss)
12412 }
12413
12414 // optional bool test_initialization = 32 [default = true];
12415 bool SolverParameter::has_test_initialization() const {
12416   return (_has_bits_[0] & 0x00000800u) != 0;
12417 }
12418 void SolverParameter::set_has_test_initialization() {
12419   _has_bits_[0] |= 0x00000800u;
12420 }
12421 void SolverParameter::clear_has_test_initialization() {
12422   _has_bits_[0] &= ~0x00000800u;
12423 }
12424 void SolverParameter::clear_test_initialization() {
12425   test_initialization_ = true;
12426   clear_has_test_initialization();
12427 }
12428 bool SolverParameter::test_initialization() const {
12429   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_initialization)
12430   return test_initialization_;
12431 }
12432 void SolverParameter::set_test_initialization(bool value) {
12433   set_has_test_initialization();
12434   test_initialization_ = value;
12435   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.test_initialization)
12436 }
12437
12438 // optional float base_lr = 5;
12439 bool SolverParameter::has_base_lr() const {
12440   return (_has_bits_[0] & 0x00001000u) != 0;
12441 }
12442 void SolverParameter::set_has_base_lr() {
12443   _has_bits_[0] |= 0x00001000u;
12444 }
12445 void SolverParameter::clear_has_base_lr() {
12446   _has_bits_[0] &= ~0x00001000u;
12447 }
12448 void SolverParameter::clear_base_lr() {
12449   base_lr_ = 0;
12450   clear_has_base_lr();
12451 }
12452 float SolverParameter::base_lr() const {
12453   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.base_lr)
12454   return base_lr_;
12455 }
12456 void SolverParameter::set_base_lr(float value) {
12457   set_has_base_lr();
12458   base_lr_ = value;
12459   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.base_lr)
12460 }
12461
12462 // optional int32 display = 6;
12463 bool SolverParameter::has_display() const {
12464   return (_has_bits_[0] & 0x00002000u) != 0;
12465 }
12466 void SolverParameter::set_has_display() {
12467   _has_bits_[0] |= 0x00002000u;
12468 }
12469 void SolverParameter::clear_has_display() {
12470   _has_bits_[0] &= ~0x00002000u;
12471 }
12472 void SolverParameter::clear_display() {
12473   display_ = 0;
12474   clear_has_display();
12475 }
12476 ::google::protobuf::int32 SolverParameter::display() const {
12477   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.display)
12478   return display_;
12479 }
12480 void SolverParameter::set_display(::google::protobuf::int32 value) {
12481   set_has_display();
12482   display_ = value;
12483   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.display)
12484 }
12485
12486 // optional int32 average_loss = 33 [default = 1];
12487 bool SolverParameter::has_average_loss() const {
12488   return (_has_bits_[0] & 0x00004000u) != 0;
12489 }
12490 void SolverParameter::set_has_average_loss() {
12491   _has_bits_[0] |= 0x00004000u;
12492 }
12493 void SolverParameter::clear_has_average_loss() {
12494   _has_bits_[0] &= ~0x00004000u;
12495 }
12496 void SolverParameter::clear_average_loss() {
12497   average_loss_ = 1;
12498   clear_has_average_loss();
12499 }
12500 ::google::protobuf::int32 SolverParameter::average_loss() const {
12501   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.average_loss)
12502   return average_loss_;
12503 }
12504 void SolverParameter::set_average_loss(::google::protobuf::int32 value) {
12505   set_has_average_loss();
12506   average_loss_ = value;
12507   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.average_loss)
12508 }
12509
12510 // optional int32 max_iter = 7;
12511 bool SolverParameter::has_max_iter() const {
12512   return (_has_bits_[0] & 0x00008000u) != 0;
12513 }
12514 void SolverParameter::set_has_max_iter() {
12515   _has_bits_[0] |= 0x00008000u;
12516 }
12517 void SolverParameter::clear_has_max_iter() {
12518   _has_bits_[0] &= ~0x00008000u;
12519 }
12520 void SolverParameter::clear_max_iter() {
12521   max_iter_ = 0;
12522   clear_has_max_iter();
12523 }
12524 ::google::protobuf::int32 SolverParameter::max_iter() const {
12525   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.max_iter)
12526   return max_iter_;
12527 }
12528 void SolverParameter::set_max_iter(::google::protobuf::int32 value) {
12529   set_has_max_iter();
12530   max_iter_ = value;
12531   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.max_iter)
12532 }
12533
12534 // optional int32 iter_size = 36 [default = 1];
12535 bool SolverParameter::has_iter_size() const {
12536   return (_has_bits_[0] & 0x00010000u) != 0;
12537 }
12538 void SolverParameter::set_has_iter_size() {
12539   _has_bits_[0] |= 0x00010000u;
12540 }
12541 void SolverParameter::clear_has_iter_size() {
12542   _has_bits_[0] &= ~0x00010000u;
12543 }
12544 void SolverParameter::clear_iter_size() {
12545   iter_size_ = 1;
12546   clear_has_iter_size();
12547 }
12548 ::google::protobuf::int32 SolverParameter::iter_size() const {
12549   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.iter_size)
12550   return iter_size_;
12551 }
12552 void SolverParameter::set_iter_size(::google::protobuf::int32 value) {
12553   set_has_iter_size();
12554   iter_size_ = value;
12555   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.iter_size)
12556 }
12557
12558 // optional string lr_policy = 8;
12559 bool SolverParameter::has_lr_policy() const {
12560   return (_has_bits_[0] & 0x00020000u) != 0;
12561 }
12562 void SolverParameter::set_has_lr_policy() {
12563   _has_bits_[0] |= 0x00020000u;
12564 }
12565 void SolverParameter::clear_has_lr_policy() {
12566   _has_bits_[0] &= ~0x00020000u;
12567 }
12568 void SolverParameter::clear_lr_policy() {
12569   lr_policy_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12570   clear_has_lr_policy();
12571 }
12572 const ::std::string& SolverParameter::lr_policy() const {
12573   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.lr_policy)
12574   return lr_policy_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12575 }
12576 void SolverParameter::set_lr_policy(const ::std::string& value) {
12577   set_has_lr_policy();
12578   lr_policy_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
12579   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.lr_policy)
12580 }
12581 void SolverParameter::set_lr_policy(const char* value) {
12582   set_has_lr_policy();
12583   lr_policy_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
12584   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.lr_policy)
12585 }
12586 void SolverParameter::set_lr_policy(const char* value, size_t size) {
12587   set_has_lr_policy();
12588   lr_policy_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
12589       ::std::string(reinterpret_cast<const char*>(value), size));
12590   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.lr_policy)
12591 }
12592 ::std::string* SolverParameter::mutable_lr_policy() {
12593   set_has_lr_policy();
12594   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.lr_policy)
12595   return lr_policy_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12596 }
12597 ::std::string* SolverParameter::release_lr_policy() {
12598   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.lr_policy)
12599   clear_has_lr_policy();
12600   return lr_policy_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12601 }
12602 void SolverParameter::set_allocated_lr_policy(::std::string* lr_policy) {
12603   if (lr_policy != NULL) {
12604     set_has_lr_policy();
12605   } else {
12606     clear_has_lr_policy();
12607   }
12608   lr_policy_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), lr_policy);
12609   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.lr_policy)
12610 }
12611
12612 // optional float gamma = 9;
12613 bool SolverParameter::has_gamma() const {
12614   return (_has_bits_[0] & 0x00040000u) != 0;
12615 }
12616 void SolverParameter::set_has_gamma() {
12617   _has_bits_[0] |= 0x00040000u;
12618 }
12619 void SolverParameter::clear_has_gamma() {
12620   _has_bits_[0] &= ~0x00040000u;
12621 }
12622 void SolverParameter::clear_gamma() {
12623   gamma_ = 0;
12624   clear_has_gamma();
12625 }
12626 float SolverParameter::gamma() const {
12627   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.gamma)
12628   return gamma_;
12629 }
12630 void SolverParameter::set_gamma(float value) {
12631   set_has_gamma();
12632   gamma_ = value;
12633   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.gamma)
12634 }
12635
12636 // optional float power = 10;
12637 bool SolverParameter::has_power() const {
12638   return (_has_bits_[0] & 0x00080000u) != 0;
12639 }
12640 void SolverParameter::set_has_power() {
12641   _has_bits_[0] |= 0x00080000u;
12642 }
12643 void SolverParameter::clear_has_power() {
12644   _has_bits_[0] &= ~0x00080000u;
12645 }
12646 void SolverParameter::clear_power() {
12647   power_ = 0;
12648   clear_has_power();
12649 }
12650 float SolverParameter::power() const {
12651   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.power)
12652   return power_;
12653 }
12654 void SolverParameter::set_power(float value) {
12655   set_has_power();
12656   power_ = value;
12657   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.power)
12658 }
12659
12660 // optional float momentum = 11;
12661 bool SolverParameter::has_momentum() const {
12662   return (_has_bits_[0] & 0x00100000u) != 0;
12663 }
12664 void SolverParameter::set_has_momentum() {
12665   _has_bits_[0] |= 0x00100000u;
12666 }
12667 void SolverParameter::clear_has_momentum() {
12668   _has_bits_[0] &= ~0x00100000u;
12669 }
12670 void SolverParameter::clear_momentum() {
12671   momentum_ = 0;
12672   clear_has_momentum();
12673 }
12674 float SolverParameter::momentum() const {
12675   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.momentum)
12676   return momentum_;
12677 }
12678 void SolverParameter::set_momentum(float value) {
12679   set_has_momentum();
12680   momentum_ = value;
12681   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.momentum)
12682 }
12683
12684 // optional float weight_decay = 12;
12685 bool SolverParameter::has_weight_decay() const {
12686   return (_has_bits_[0] & 0x00200000u) != 0;
12687 }
12688 void SolverParameter::set_has_weight_decay() {
12689   _has_bits_[0] |= 0x00200000u;
12690 }
12691 void SolverParameter::clear_has_weight_decay() {
12692   _has_bits_[0] &= ~0x00200000u;
12693 }
12694 void SolverParameter::clear_weight_decay() {
12695   weight_decay_ = 0;
12696   clear_has_weight_decay();
12697 }
12698 float SolverParameter::weight_decay() const {
12699   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.weight_decay)
12700   return weight_decay_;
12701 }
12702 void SolverParameter::set_weight_decay(float value) {
12703   set_has_weight_decay();
12704   weight_decay_ = value;
12705   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.weight_decay)
12706 }
12707
12708 // optional string regularization_type = 29 [default = "L2"];
12709 bool SolverParameter::has_regularization_type() const {
12710   return (_has_bits_[0] & 0x00400000u) != 0;
12711 }
12712 void SolverParameter::set_has_regularization_type() {
12713   _has_bits_[0] |= 0x00400000u;
12714 }
12715 void SolverParameter::clear_has_regularization_type() {
12716   _has_bits_[0] &= ~0x00400000u;
12717 }
12718 void SolverParameter::clear_regularization_type() {
12719   regularization_type_.ClearToDefaultNoArena(_default_regularization_type_);
12720   clear_has_regularization_type();
12721 }
12722 const ::std::string& SolverParameter::regularization_type() const {
12723   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.regularization_type)
12724   return regularization_type_.GetNoArena(_default_regularization_type_);
12725 }
12726 void SolverParameter::set_regularization_type(const ::std::string& value) {
12727   set_has_regularization_type();
12728   regularization_type_.SetNoArena(_default_regularization_type_, value);
12729   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.regularization_type)
12730 }
12731 void SolverParameter::set_regularization_type(const char* value) {
12732   set_has_regularization_type();
12733   regularization_type_.SetNoArena(_default_regularization_type_, ::std::string(value));
12734   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.regularization_type)
12735 }
12736 void SolverParameter::set_regularization_type(const char* value, size_t size) {
12737   set_has_regularization_type();
12738   regularization_type_.SetNoArena(_default_regularization_type_,
12739       ::std::string(reinterpret_cast<const char*>(value), size));
12740   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.regularization_type)
12741 }
12742 ::std::string* SolverParameter::mutable_regularization_type() {
12743   set_has_regularization_type();
12744   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.regularization_type)
12745   return regularization_type_.MutableNoArena(_default_regularization_type_);
12746 }
12747 ::std::string* SolverParameter::release_regularization_type() {
12748   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.regularization_type)
12749   clear_has_regularization_type();
12750   return regularization_type_.ReleaseNoArena(_default_regularization_type_);
12751 }
12752 void SolverParameter::set_allocated_regularization_type(::std::string* regularization_type) {
12753   if (regularization_type != NULL) {
12754     set_has_regularization_type();
12755   } else {
12756     clear_has_regularization_type();
12757   }
12758   regularization_type_.SetAllocatedNoArena(_default_regularization_type_, regularization_type);
12759   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.regularization_type)
12760 }
12761
12762 // optional int32 stepsize = 13;
12763 bool SolverParameter::has_stepsize() const {
12764   return (_has_bits_[0] & 0x00800000u) != 0;
12765 }
12766 void SolverParameter::set_has_stepsize() {
12767   _has_bits_[0] |= 0x00800000u;
12768 }
12769 void SolverParameter::clear_has_stepsize() {
12770   _has_bits_[0] &= ~0x00800000u;
12771 }
12772 void SolverParameter::clear_stepsize() {
12773   stepsize_ = 0;
12774   clear_has_stepsize();
12775 }
12776 ::google::protobuf::int32 SolverParameter::stepsize() const {
12777   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.stepsize)
12778   return stepsize_;
12779 }
12780 void SolverParameter::set_stepsize(::google::protobuf::int32 value) {
12781   set_has_stepsize();
12782   stepsize_ = value;
12783   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.stepsize)
12784 }
12785
12786 // repeated int32 stepvalue = 34;
12787 int SolverParameter::stepvalue_size() const {
12788   return stepvalue_.size();
12789 }
12790 void SolverParameter::clear_stepvalue() {
12791   stepvalue_.Clear();
12792 }
12793 ::google::protobuf::int32 SolverParameter::stepvalue(int index) const {
12794   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.stepvalue)
12795   return stepvalue_.Get(index);
12796 }
12797 void SolverParameter::set_stepvalue(int index, ::google::protobuf::int32 value) {
12798   stepvalue_.Set(index, value);
12799   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.stepvalue)
12800 }
12801 void SolverParameter::add_stepvalue(::google::protobuf::int32 value) {
12802   stepvalue_.Add(value);
12803   // @@protoc_insertion_point(field_add:opencv_caffe.SolverParameter.stepvalue)
12804 }
12805 const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
12806 SolverParameter::stepvalue() const {
12807   // @@protoc_insertion_point(field_list:opencv_caffe.SolverParameter.stepvalue)
12808   return stepvalue_;
12809 }
12810 ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
12811 SolverParameter::mutable_stepvalue() {
12812   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverParameter.stepvalue)
12813   return &stepvalue_;
12814 }
12815
12816 // optional float clip_gradients = 35 [default = -1];
12817 bool SolverParameter::has_clip_gradients() const {
12818   return (_has_bits_[0] & 0x02000000u) != 0;
12819 }
12820 void SolverParameter::set_has_clip_gradients() {
12821   _has_bits_[0] |= 0x02000000u;
12822 }
12823 void SolverParameter::clear_has_clip_gradients() {
12824   _has_bits_[0] &= ~0x02000000u;
12825 }
12826 void SolverParameter::clear_clip_gradients() {
12827   clip_gradients_ = -1;
12828   clear_has_clip_gradients();
12829 }
12830 float SolverParameter::clip_gradients() const {
12831   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.clip_gradients)
12832   return clip_gradients_;
12833 }
12834 void SolverParameter::set_clip_gradients(float value) {
12835   set_has_clip_gradients();
12836   clip_gradients_ = value;
12837   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.clip_gradients)
12838 }
12839
12840 // optional int32 snapshot = 14 [default = 0];
12841 bool SolverParameter::has_snapshot() const {
12842   return (_has_bits_[0] & 0x04000000u) != 0;
12843 }
12844 void SolverParameter::set_has_snapshot() {
12845   _has_bits_[0] |= 0x04000000u;
12846 }
12847 void SolverParameter::clear_has_snapshot() {
12848   _has_bits_[0] &= ~0x04000000u;
12849 }
12850 void SolverParameter::clear_snapshot() {
12851   snapshot_ = 0;
12852   clear_has_snapshot();
12853 }
12854 ::google::protobuf::int32 SolverParameter::snapshot() const {
12855   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.snapshot)
12856   return snapshot_;
12857 }
12858 void SolverParameter::set_snapshot(::google::protobuf::int32 value) {
12859   set_has_snapshot();
12860   snapshot_ = value;
12861   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.snapshot)
12862 }
12863
12864 // optional string snapshot_prefix = 15;
12865 bool SolverParameter::has_snapshot_prefix() const {
12866   return (_has_bits_[0] & 0x08000000u) != 0;
12867 }
12868 void SolverParameter::set_has_snapshot_prefix() {
12869   _has_bits_[0] |= 0x08000000u;
12870 }
12871 void SolverParameter::clear_has_snapshot_prefix() {
12872   _has_bits_[0] &= ~0x08000000u;
12873 }
12874 void SolverParameter::clear_snapshot_prefix() {
12875   snapshot_prefix_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12876   clear_has_snapshot_prefix();
12877 }
12878 const ::std::string& SolverParameter::snapshot_prefix() const {
12879   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.snapshot_prefix)
12880   return snapshot_prefix_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12881 }
12882 void SolverParameter::set_snapshot_prefix(const ::std::string& value) {
12883   set_has_snapshot_prefix();
12884   snapshot_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
12885   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.snapshot_prefix)
12886 }
12887 void SolverParameter::set_snapshot_prefix(const char* value) {
12888   set_has_snapshot_prefix();
12889   snapshot_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
12890   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.snapshot_prefix)
12891 }
12892 void SolverParameter::set_snapshot_prefix(const char* value, size_t size) {
12893   set_has_snapshot_prefix();
12894   snapshot_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
12895       ::std::string(reinterpret_cast<const char*>(value), size));
12896   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.snapshot_prefix)
12897 }
12898 ::std::string* SolverParameter::mutable_snapshot_prefix() {
12899   set_has_snapshot_prefix();
12900   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.snapshot_prefix)
12901   return snapshot_prefix_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12902 }
12903 ::std::string* SolverParameter::release_snapshot_prefix() {
12904   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.snapshot_prefix)
12905   clear_has_snapshot_prefix();
12906   return snapshot_prefix_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12907 }
12908 void SolverParameter::set_allocated_snapshot_prefix(::std::string* snapshot_prefix) {
12909   if (snapshot_prefix != NULL) {
12910     set_has_snapshot_prefix();
12911   } else {
12912     clear_has_snapshot_prefix();
12913   }
12914   snapshot_prefix_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), snapshot_prefix);
12915   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.snapshot_prefix)
12916 }
12917
12918 // optional bool snapshot_diff = 16 [default = false];
12919 bool SolverParameter::has_snapshot_diff() const {
12920   return (_has_bits_[0] & 0x10000000u) != 0;
12921 }
12922 void SolverParameter::set_has_snapshot_diff() {
12923   _has_bits_[0] |= 0x10000000u;
12924 }
12925 void SolverParameter::clear_has_snapshot_diff() {
12926   _has_bits_[0] &= ~0x10000000u;
12927 }
12928 void SolverParameter::clear_snapshot_diff() {
12929   snapshot_diff_ = false;
12930   clear_has_snapshot_diff();
12931 }
12932 bool SolverParameter::snapshot_diff() const {
12933   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.snapshot_diff)
12934   return snapshot_diff_;
12935 }
12936 void SolverParameter::set_snapshot_diff(bool value) {
12937   set_has_snapshot_diff();
12938   snapshot_diff_ = value;
12939   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.snapshot_diff)
12940 }
12941
12942 // optional .opencv_caffe.SolverParameter.SnapshotFormat snapshot_format = 37 [default = BINARYPROTO];
12943 bool SolverParameter::has_snapshot_format() const {
12944   return (_has_bits_[0] & 0x20000000u) != 0;
12945 }
12946 void SolverParameter::set_has_snapshot_format() {
12947   _has_bits_[0] |= 0x20000000u;
12948 }
12949 void SolverParameter::clear_has_snapshot_format() {
12950   _has_bits_[0] &= ~0x20000000u;
12951 }
12952 void SolverParameter::clear_snapshot_format() {
12953   snapshot_format_ = 1;
12954   clear_has_snapshot_format();
12955 }
12956 ::opencv_caffe::SolverParameter_SnapshotFormat SolverParameter::snapshot_format() const {
12957   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.snapshot_format)
12958   return static_cast< ::opencv_caffe::SolverParameter_SnapshotFormat >(snapshot_format_);
12959 }
12960 void SolverParameter::set_snapshot_format(::opencv_caffe::SolverParameter_SnapshotFormat value) {
12961   assert(::opencv_caffe::SolverParameter_SnapshotFormat_IsValid(value));
12962   set_has_snapshot_format();
12963   snapshot_format_ = value;
12964   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.snapshot_format)
12965 }
12966
12967 // optional .opencv_caffe.SolverParameter.SolverMode solver_mode = 17 [default = GPU];
12968 bool SolverParameter::has_solver_mode() const {
12969   return (_has_bits_[0] & 0x40000000u) != 0;
12970 }
12971 void SolverParameter::set_has_solver_mode() {
12972   _has_bits_[0] |= 0x40000000u;
12973 }
12974 void SolverParameter::clear_has_solver_mode() {
12975   _has_bits_[0] &= ~0x40000000u;
12976 }
12977 void SolverParameter::clear_solver_mode() {
12978   solver_mode_ = 1;
12979   clear_has_solver_mode();
12980 }
12981 ::opencv_caffe::SolverParameter_SolverMode SolverParameter::solver_mode() const {
12982   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.solver_mode)
12983   return static_cast< ::opencv_caffe::SolverParameter_SolverMode >(solver_mode_);
12984 }
12985 void SolverParameter::set_solver_mode(::opencv_caffe::SolverParameter_SolverMode value) {
12986   assert(::opencv_caffe::SolverParameter_SolverMode_IsValid(value));
12987   set_has_solver_mode();
12988   solver_mode_ = value;
12989   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.solver_mode)
12990 }
12991
12992 // optional int32 device_id = 18 [default = 0];
12993 bool SolverParameter::has_device_id() const {
12994   return (_has_bits_[0] & 0x80000000u) != 0;
12995 }
12996 void SolverParameter::set_has_device_id() {
12997   _has_bits_[0] |= 0x80000000u;
12998 }
12999 void SolverParameter::clear_has_device_id() {
13000   _has_bits_[0] &= ~0x80000000u;
13001 }
13002 void SolverParameter::clear_device_id() {
13003   device_id_ = 0;
13004   clear_has_device_id();
13005 }
13006 ::google::protobuf::int32 SolverParameter::device_id() const {
13007   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.device_id)
13008   return device_id_;
13009 }
13010 void SolverParameter::set_device_id(::google::protobuf::int32 value) {
13011   set_has_device_id();
13012   device_id_ = value;
13013   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.device_id)
13014 }
13015
13016 // optional int64 random_seed = 20 [default = -1];
13017 bool SolverParameter::has_random_seed() const {
13018   return (_has_bits_[1] & 0x00000001u) != 0;
13019 }
13020 void SolverParameter::set_has_random_seed() {
13021   _has_bits_[1] |= 0x00000001u;
13022 }
13023 void SolverParameter::clear_has_random_seed() {
13024   _has_bits_[1] &= ~0x00000001u;
13025 }
13026 void SolverParameter::clear_random_seed() {
13027   random_seed_ = GOOGLE_LONGLONG(-1);
13028   clear_has_random_seed();
13029 }
13030 ::google::protobuf::int64 SolverParameter::random_seed() const {
13031   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.random_seed)
13032   return random_seed_;
13033 }
13034 void SolverParameter::set_random_seed(::google::protobuf::int64 value) {
13035   set_has_random_seed();
13036   random_seed_ = value;
13037   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.random_seed)
13038 }
13039
13040 // optional string type = 40 [default = "SGD"];
13041 bool SolverParameter::has_type() const {
13042   return (_has_bits_[1] & 0x00000002u) != 0;
13043 }
13044 void SolverParameter::set_has_type() {
13045   _has_bits_[1] |= 0x00000002u;
13046 }
13047 void SolverParameter::clear_has_type() {
13048   _has_bits_[1] &= ~0x00000002u;
13049 }
13050 void SolverParameter::clear_type() {
13051   type_.ClearToDefaultNoArena(_default_type_);
13052   clear_has_type();
13053 }
13054 const ::std::string& SolverParameter::type() const {
13055   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.type)
13056   return type_.GetNoArena(_default_type_);
13057 }
13058 void SolverParameter::set_type(const ::std::string& value) {
13059   set_has_type();
13060   type_.SetNoArena(_default_type_, value);
13061   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.type)
13062 }
13063 void SolverParameter::set_type(const char* value) {
13064   set_has_type();
13065   type_.SetNoArena(_default_type_, ::std::string(value));
13066   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.type)
13067 }
13068 void SolverParameter::set_type(const char* value, size_t size) {
13069   set_has_type();
13070   type_.SetNoArena(_default_type_,
13071       ::std::string(reinterpret_cast<const char*>(value), size));
13072   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.type)
13073 }
13074 ::std::string* SolverParameter::mutable_type() {
13075   set_has_type();
13076   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.type)
13077   return type_.MutableNoArena(_default_type_);
13078 }
13079 ::std::string* SolverParameter::release_type() {
13080   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.type)
13081   clear_has_type();
13082   return type_.ReleaseNoArena(_default_type_);
13083 }
13084 void SolverParameter::set_allocated_type(::std::string* type) {
13085   if (type != NULL) {
13086     set_has_type();
13087   } else {
13088     clear_has_type();
13089   }
13090   type_.SetAllocatedNoArena(_default_type_, type);
13091   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.type)
13092 }
13093
13094 // optional float delta = 31 [default = 1e-08];
13095 bool SolverParameter::has_delta() const {
13096   return (_has_bits_[1] & 0x00000004u) != 0;
13097 }
13098 void SolverParameter::set_has_delta() {
13099   _has_bits_[1] |= 0x00000004u;
13100 }
13101 void SolverParameter::clear_has_delta() {
13102   _has_bits_[1] &= ~0x00000004u;
13103 }
13104 void SolverParameter::clear_delta() {
13105   delta_ = 1e-08f;
13106   clear_has_delta();
13107 }
13108 float SolverParameter::delta() const {
13109   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.delta)
13110   return delta_;
13111 }
13112 void SolverParameter::set_delta(float value) {
13113   set_has_delta();
13114   delta_ = value;
13115   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.delta)
13116 }
13117
13118 // optional float momentum2 = 39 [default = 0.999];
13119 bool SolverParameter::has_momentum2() const {
13120   return (_has_bits_[1] & 0x00000008u) != 0;
13121 }
13122 void SolverParameter::set_has_momentum2() {
13123   _has_bits_[1] |= 0x00000008u;
13124 }
13125 void SolverParameter::clear_has_momentum2() {
13126   _has_bits_[1] &= ~0x00000008u;
13127 }
13128 void SolverParameter::clear_momentum2() {
13129   momentum2_ = 0.999f;
13130   clear_has_momentum2();
13131 }
13132 float SolverParameter::momentum2() const {
13133   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.momentum2)
13134   return momentum2_;
13135 }
13136 void SolverParameter::set_momentum2(float value) {
13137   set_has_momentum2();
13138   momentum2_ = value;
13139   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.momentum2)
13140 }
13141
13142 // optional float rms_decay = 38 [default = 0.99];
13143 bool SolverParameter::has_rms_decay() const {
13144   return (_has_bits_[1] & 0x00000010u) != 0;
13145 }
13146 void SolverParameter::set_has_rms_decay() {
13147   _has_bits_[1] |= 0x00000010u;
13148 }
13149 void SolverParameter::clear_has_rms_decay() {
13150   _has_bits_[1] &= ~0x00000010u;
13151 }
13152 void SolverParameter::clear_rms_decay() {
13153   rms_decay_ = 0.99f;
13154   clear_has_rms_decay();
13155 }
13156 float SolverParameter::rms_decay() const {
13157   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.rms_decay)
13158   return rms_decay_;
13159 }
13160 void SolverParameter::set_rms_decay(float value) {
13161   set_has_rms_decay();
13162   rms_decay_ = value;
13163   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.rms_decay)
13164 }
13165
13166 // optional bool debug_info = 23 [default = false];
13167 bool SolverParameter::has_debug_info() const {
13168   return (_has_bits_[1] & 0x00000020u) != 0;
13169 }
13170 void SolverParameter::set_has_debug_info() {
13171   _has_bits_[1] |= 0x00000020u;
13172 }
13173 void SolverParameter::clear_has_debug_info() {
13174   _has_bits_[1] &= ~0x00000020u;
13175 }
13176 void SolverParameter::clear_debug_info() {
13177   debug_info_ = false;
13178   clear_has_debug_info();
13179 }
13180 bool SolverParameter::debug_info() const {
13181   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.debug_info)
13182   return debug_info_;
13183 }
13184 void SolverParameter::set_debug_info(bool value) {
13185   set_has_debug_info();
13186   debug_info_ = value;
13187   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.debug_info)
13188 }
13189
13190 // optional bool snapshot_after_train = 28 [default = true];
13191 bool SolverParameter::has_snapshot_after_train() const {
13192   return (_has_bits_[1] & 0x00000040u) != 0;
13193 }
13194 void SolverParameter::set_has_snapshot_after_train() {
13195   _has_bits_[1] |= 0x00000040u;
13196 }
13197 void SolverParameter::clear_has_snapshot_after_train() {
13198   _has_bits_[1] &= ~0x00000040u;
13199 }
13200 void SolverParameter::clear_snapshot_after_train() {
13201   snapshot_after_train_ = true;
13202   clear_has_snapshot_after_train();
13203 }
13204 bool SolverParameter::snapshot_after_train() const {
13205   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.snapshot_after_train)
13206   return snapshot_after_train_;
13207 }
13208 void SolverParameter::set_snapshot_after_train(bool value) {
13209   set_has_snapshot_after_train();
13210   snapshot_after_train_ = value;
13211   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.snapshot_after_train)
13212 }
13213
13214 // optional .opencv_caffe.SolverParameter.SolverType solver_type = 30 [default = SGD];
13215 bool SolverParameter::has_solver_type() const {
13216   return (_has_bits_[1] & 0x00000080u) != 0;
13217 }
13218 void SolverParameter::set_has_solver_type() {
13219   _has_bits_[1] |= 0x00000080u;
13220 }
13221 void SolverParameter::clear_has_solver_type() {
13222   _has_bits_[1] &= ~0x00000080u;
13223 }
13224 void SolverParameter::clear_solver_type() {
13225   solver_type_ = 0;
13226   clear_has_solver_type();
13227 }
13228 ::opencv_caffe::SolverParameter_SolverType SolverParameter::solver_type() const {
13229   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.solver_type)
13230   return static_cast< ::opencv_caffe::SolverParameter_SolverType >(solver_type_);
13231 }
13232 void SolverParameter::set_solver_type(::opencv_caffe::SolverParameter_SolverType value) {
13233   assert(::opencv_caffe::SolverParameter_SolverType_IsValid(value));
13234   set_has_solver_type();
13235   solver_type_ = value;
13236   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.solver_type)
13237 }
13238
13239 inline const SolverParameter* SolverParameter::internal_default_instance() {
13240   return &SolverParameter_default_instance_.get();
13241 }
13242 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
13243
13244 // ===================================================================
13245
13246 #if !defined(_MSC_VER) || _MSC_VER >= 1900
13247 const int SolverState::kIterFieldNumber;
13248 const int SolverState::kLearnedNetFieldNumber;
13249 const int SolverState::kHistoryFieldNumber;
13250 const int SolverState::kCurrentStepFieldNumber;
13251 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
13252
13253 SolverState::SolverState()
13254   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
13255   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
13256   SharedCtor();
13257   // @@protoc_insertion_point(constructor:opencv_caffe.SolverState)
13258 }
13259
13260 void SolverState::InitAsDefaultInstance() {
13261 }
13262
13263 SolverState::SolverState(const SolverState& from)
13264   : ::google::protobuf::Message(),
13265     _internal_metadata_(NULL) {
13266   SharedCtor();
13267   UnsafeMergeFrom(from);
13268   // @@protoc_insertion_point(copy_constructor:opencv_caffe.SolverState)
13269 }
13270
13271 void SolverState::SharedCtor() {
13272   _cached_size_ = 0;
13273   learned_net_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
13274   ::memset(&iter_, 0, reinterpret_cast<char*>(&current_step_) -
13275     reinterpret_cast<char*>(&iter_) + sizeof(current_step_));
13276 }
13277
13278 SolverState::~SolverState() {
13279   // @@protoc_insertion_point(destructor:opencv_caffe.SolverState)
13280   SharedDtor();
13281 }
13282
13283 void SolverState::SharedDtor() {
13284   learned_net_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
13285 }
13286
13287 void SolverState::SetCachedSize(int size) const {
13288   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
13289   _cached_size_ = size;
13290   GOOGLE_SAFE_CONCURRENT_WRITES_END();
13291 }
13292 const ::google::protobuf::Descriptor* SolverState::descriptor() {
13293   protobuf_AssignDescriptorsOnce();
13294   return SolverState_descriptor_;
13295 }
13296
13297 const SolverState& SolverState::default_instance() {
13298   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
13299   return *internal_default_instance();
13300 }
13301
13302 ::google::protobuf::internal::ExplicitlyConstructed<SolverState> SolverState_default_instance_;
13303
13304 SolverState* SolverState::New(::google::protobuf::Arena* arena) const {
13305   SolverState* n = new SolverState;
13306   if (arena != NULL) {
13307     arena->Own(n);
13308   }
13309   return n;
13310 }
13311
13312 void SolverState::Clear() {
13313 // @@protoc_insertion_point(message_clear_start:opencv_caffe.SolverState)
13314 #if defined(__clang__)
13315 #define ZR_HELPER_(f) \
13316   _Pragma("clang diagnostic push") \
13317   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
13318   __builtin_offsetof(SolverState, f) \
13319   _Pragma("clang diagnostic pop")
13320 #else
13321 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
13322   &reinterpret_cast<SolverState*>(16)->f)
13323 #endif
13324
13325 #define ZR_(first, last) do {\
13326   ::memset(&(first), 0,\
13327            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
13328 } while (0)
13329
13330   if (_has_bits_[0 / 32] & 11u) {
13331     ZR_(iter_, current_step_);
13332     if (has_learned_net()) {
13333       learned_net_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
13334     }
13335   }
13336
13337 #undef ZR_HELPER_
13338 #undef ZR_
13339
13340   history_.Clear();
13341   _has_bits_.Clear();
13342   if (_internal_metadata_.have_unknown_fields()) {
13343     mutable_unknown_fields()->Clear();
13344   }
13345 }
13346
13347 bool SolverState::MergePartialFromCodedStream(
13348     ::google::protobuf::io::CodedInputStream* input) {
13349 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
13350   ::google::protobuf::uint32 tag;
13351   // @@protoc_insertion_point(parse_start:opencv_caffe.SolverState)
13352   for (;;) {
13353     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
13354     tag = p.first;
13355     if (!p.second) goto handle_unusual;
13356     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
13357       // optional int32 iter = 1;
13358       case 1: {
13359         if (tag == 8) {
13360           set_has_iter();
13361           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
13362                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
13363                  input, &iter_)));
13364         } else {
13365           goto handle_unusual;
13366         }
13367         if (input->ExpectTag(18)) goto parse_learned_net;
13368         break;
13369       }
13370
13371       // optional string learned_net = 2;
13372       case 2: {
13373         if (tag == 18) {
13374          parse_learned_net:
13375           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
13376                 input, this->mutable_learned_net()));
13377           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
13378             this->learned_net().data(), this->learned_net().length(),
13379             ::google::protobuf::internal::WireFormat::PARSE,
13380             "opencv_caffe.SolverState.learned_net");
13381         } else {
13382           goto handle_unusual;
13383         }
13384         if (input->ExpectTag(26)) goto parse_history;
13385         break;
13386       }
13387
13388       // repeated .opencv_caffe.BlobProto history = 3;
13389       case 3: {
13390         if (tag == 26) {
13391          parse_history:
13392           DO_(input->IncrementRecursionDepth());
13393          parse_loop_history:
13394           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
13395                 input, add_history()));
13396         } else {
13397           goto handle_unusual;
13398         }
13399         if (input->ExpectTag(26)) goto parse_loop_history;
13400         input->UnsafeDecrementRecursionDepth();
13401         if (input->ExpectTag(32)) goto parse_current_step;
13402         break;
13403       }
13404
13405       // optional int32 current_step = 4 [default = 0];
13406       case 4: {
13407         if (tag == 32) {
13408          parse_current_step:
13409           set_has_current_step();
13410           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
13411                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
13412                  input, &current_step_)));
13413         } else {
13414           goto handle_unusual;
13415         }
13416         if (input->ExpectAtEnd()) goto success;
13417         break;
13418       }
13419
13420       default: {
13421       handle_unusual:
13422         if (tag == 0 ||
13423             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
13424             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
13425           goto success;
13426         }
13427         DO_(::google::protobuf::internal::WireFormat::SkipField(
13428               input, tag, mutable_unknown_fields()));
13429         break;
13430       }
13431     }
13432   }
13433 success:
13434   // @@protoc_insertion_point(parse_success:opencv_caffe.SolverState)
13435   return true;
13436 failure:
13437   // @@protoc_insertion_point(parse_failure:opencv_caffe.SolverState)
13438   return false;
13439 #undef DO_
13440 }
13441
13442 void SolverState::SerializeWithCachedSizes(
13443     ::google::protobuf::io::CodedOutputStream* output) const {
13444   // @@protoc_insertion_point(serialize_start:opencv_caffe.SolverState)
13445   // optional int32 iter = 1;
13446   if (has_iter()) {
13447     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->iter(), output);
13448   }
13449
13450   // optional string learned_net = 2;
13451   if (has_learned_net()) {
13452     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
13453       this->learned_net().data(), this->learned_net().length(),
13454       ::google::protobuf::internal::WireFormat::SERIALIZE,
13455       "opencv_caffe.SolverState.learned_net");
13456     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
13457       2, this->learned_net(), output);
13458   }
13459
13460   // repeated .opencv_caffe.BlobProto history = 3;
13461   for (unsigned int i = 0, n = this->history_size(); i < n; i++) {
13462     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
13463       3, this->history(i), output);
13464   }
13465
13466   // optional int32 current_step = 4 [default = 0];
13467   if (has_current_step()) {
13468     ::google::protobuf::internal::WireFormatLite::WriteInt32(4, this->current_step(), output);
13469   }
13470
13471   if (_internal_metadata_.have_unknown_fields()) {
13472     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
13473         unknown_fields(), output);
13474   }
13475   // @@protoc_insertion_point(serialize_end:opencv_caffe.SolverState)
13476 }
13477
13478 ::google::protobuf::uint8* SolverState::InternalSerializeWithCachedSizesToArray(
13479     bool deterministic, ::google::protobuf::uint8* target) const {
13480   (void)deterministic; // Unused
13481   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.SolverState)
13482   // optional int32 iter = 1;
13483   if (has_iter()) {
13484     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->iter(), target);
13485   }
13486
13487   // optional string learned_net = 2;
13488   if (has_learned_net()) {
13489     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
13490       this->learned_net().data(), this->learned_net().length(),
13491       ::google::protobuf::internal::WireFormat::SERIALIZE,
13492       "opencv_caffe.SolverState.learned_net");
13493     target =
13494       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
13495         2, this->learned_net(), target);
13496   }
13497
13498   // repeated .opencv_caffe.BlobProto history = 3;
13499   for (unsigned int i = 0, n = this->history_size(); i < n; i++) {
13500     target = ::google::protobuf::internal::WireFormatLite::
13501       InternalWriteMessageNoVirtualToArray(
13502         3, this->history(i), false, target);
13503   }
13504
13505   // optional int32 current_step = 4 [default = 0];
13506   if (has_current_step()) {
13507     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(4, this->current_step(), target);
13508   }
13509
13510   if (_internal_metadata_.have_unknown_fields()) {
13511     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
13512         unknown_fields(), target);
13513   }
13514   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.SolverState)
13515   return target;
13516 }
13517
13518 size_t SolverState::ByteSizeLong() const {
13519 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.SolverState)
13520   size_t total_size = 0;
13521
13522   if (_has_bits_[0 / 32] & 11u) {
13523     // optional int32 iter = 1;
13524     if (has_iter()) {
13525       total_size += 1 +
13526         ::google::protobuf::internal::WireFormatLite::Int32Size(
13527           this->iter());
13528     }
13529
13530     // optional string learned_net = 2;
13531     if (has_learned_net()) {
13532       total_size += 1 +
13533         ::google::protobuf::internal::WireFormatLite::StringSize(
13534           this->learned_net());
13535     }
13536
13537     // optional int32 current_step = 4 [default = 0];
13538     if (has_current_step()) {
13539       total_size += 1 +
13540         ::google::protobuf::internal::WireFormatLite::Int32Size(
13541           this->current_step());
13542     }
13543
13544   }
13545   // repeated .opencv_caffe.BlobProto history = 3;
13546   {
13547     unsigned int count = this->history_size();
13548     total_size += 1UL * count;
13549     for (unsigned int i = 0; i < count; i++) {
13550       total_size +=
13551         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
13552           this->history(i));
13553     }
13554   }
13555
13556   if (_internal_metadata_.have_unknown_fields()) {
13557     total_size +=
13558       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
13559         unknown_fields());
13560   }
13561   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
13562   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
13563   _cached_size_ = cached_size;
13564   GOOGLE_SAFE_CONCURRENT_WRITES_END();
13565   return total_size;
13566 }
13567
13568 void SolverState::MergeFrom(const ::google::protobuf::Message& from) {
13569 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.SolverState)
13570   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
13571   const SolverState* source =
13572       ::google::protobuf::internal::DynamicCastToGenerated<const SolverState>(
13573           &from);
13574   if (source == NULL) {
13575   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.SolverState)
13576     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
13577   } else {
13578   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.SolverState)
13579     UnsafeMergeFrom(*source);
13580   }
13581 }
13582
13583 void SolverState::MergeFrom(const SolverState& from) {
13584 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.SolverState)
13585   if (GOOGLE_PREDICT_TRUE(&from != this)) {
13586     UnsafeMergeFrom(from);
13587   } else {
13588     MergeFromFail(__LINE__);
13589   }
13590 }
13591
13592 void SolverState::UnsafeMergeFrom(const SolverState& from) {
13593   GOOGLE_DCHECK(&from != this);
13594   history_.MergeFrom(from.history_);
13595   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
13596     if (from.has_iter()) {
13597       set_iter(from.iter());
13598     }
13599     if (from.has_learned_net()) {
13600       set_has_learned_net();
13601       learned_net_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.learned_net_);
13602     }
13603     if (from.has_current_step()) {
13604       set_current_step(from.current_step());
13605     }
13606   }
13607   if (from._internal_metadata_.have_unknown_fields()) {
13608     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
13609       from.unknown_fields(), &_internal_metadata_);
13610   }
13611 }
13612
13613 void SolverState::CopyFrom(const ::google::protobuf::Message& from) {
13614 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.SolverState)
13615   if (&from == this) return;
13616   Clear();
13617   MergeFrom(from);
13618 }
13619
13620 void SolverState::CopyFrom(const SolverState& from) {
13621 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.SolverState)
13622   if (&from == this) return;
13623   Clear();
13624   UnsafeMergeFrom(from);
13625 }
13626
13627 bool SolverState::IsInitialized() const {
13628
13629   return true;
13630 }
13631
13632 void SolverState::Swap(SolverState* other) {
13633   if (other == this) return;
13634   InternalSwap(other);
13635 }
13636 void SolverState::InternalSwap(SolverState* other) {
13637   std::swap(iter_, other->iter_);
13638   learned_net_.Swap(&other->learned_net_);
13639   history_.UnsafeArenaSwap(&other->history_);
13640   std::swap(current_step_, other->current_step_);
13641   std::swap(_has_bits_[0], other->_has_bits_[0]);
13642   _internal_metadata_.Swap(&other->_internal_metadata_);
13643   std::swap(_cached_size_, other->_cached_size_);
13644 }
13645
13646 ::google::protobuf::Metadata SolverState::GetMetadata() const {
13647   protobuf_AssignDescriptorsOnce();
13648   ::google::protobuf::Metadata metadata;
13649   metadata.descriptor = SolverState_descriptor_;
13650   metadata.reflection = SolverState_reflection_;
13651   return metadata;
13652 }
13653
13654 #if PROTOBUF_INLINE_NOT_IN_HEADERS
13655 // SolverState
13656
13657 // optional int32 iter = 1;
13658 bool SolverState::has_iter() const {
13659   return (_has_bits_[0] & 0x00000001u) != 0;
13660 }
13661 void SolverState::set_has_iter() {
13662   _has_bits_[0] |= 0x00000001u;
13663 }
13664 void SolverState::clear_has_iter() {
13665   _has_bits_[0] &= ~0x00000001u;
13666 }
13667 void SolverState::clear_iter() {
13668   iter_ = 0;
13669   clear_has_iter();
13670 }
13671 ::google::protobuf::int32 SolverState::iter() const {
13672   // @@protoc_insertion_point(field_get:opencv_caffe.SolverState.iter)
13673   return iter_;
13674 }
13675 void SolverState::set_iter(::google::protobuf::int32 value) {
13676   set_has_iter();
13677   iter_ = value;
13678   // @@protoc_insertion_point(field_set:opencv_caffe.SolverState.iter)
13679 }
13680
13681 // optional string learned_net = 2;
13682 bool SolverState::has_learned_net() const {
13683   return (_has_bits_[0] & 0x00000002u) != 0;
13684 }
13685 void SolverState::set_has_learned_net() {
13686   _has_bits_[0] |= 0x00000002u;
13687 }
13688 void SolverState::clear_has_learned_net() {
13689   _has_bits_[0] &= ~0x00000002u;
13690 }
13691 void SolverState::clear_learned_net() {
13692   learned_net_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
13693   clear_has_learned_net();
13694 }
13695 const ::std::string& SolverState::learned_net() const {
13696   // @@protoc_insertion_point(field_get:opencv_caffe.SolverState.learned_net)
13697   return learned_net_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
13698 }
13699 void SolverState::set_learned_net(const ::std::string& value) {
13700   set_has_learned_net();
13701   learned_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
13702   // @@protoc_insertion_point(field_set:opencv_caffe.SolverState.learned_net)
13703 }
13704 void SolverState::set_learned_net(const char* value) {
13705   set_has_learned_net();
13706   learned_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
13707   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverState.learned_net)
13708 }
13709 void SolverState::set_learned_net(const char* value, size_t size) {
13710   set_has_learned_net();
13711   learned_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
13712       ::std::string(reinterpret_cast<const char*>(value), size));
13713   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverState.learned_net)
13714 }
13715 ::std::string* SolverState::mutable_learned_net() {
13716   set_has_learned_net();
13717   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverState.learned_net)
13718   return learned_net_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
13719 }
13720 ::std::string* SolverState::release_learned_net() {
13721   // @@protoc_insertion_point(field_release:opencv_caffe.SolverState.learned_net)
13722   clear_has_learned_net();
13723   return learned_net_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
13724 }
13725 void SolverState::set_allocated_learned_net(::std::string* learned_net) {
13726   if (learned_net != NULL) {
13727     set_has_learned_net();
13728   } else {
13729     clear_has_learned_net();
13730   }
13731   learned_net_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), learned_net);
13732   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverState.learned_net)
13733 }
13734
13735 // repeated .opencv_caffe.BlobProto history = 3;
13736 int SolverState::history_size() const {
13737   return history_.size();
13738 }
13739 void SolverState::clear_history() {
13740   history_.Clear();
13741 }
13742 const ::opencv_caffe::BlobProto& SolverState::history(int index) const {
13743   // @@protoc_insertion_point(field_get:opencv_caffe.SolverState.history)
13744   return history_.Get(index);
13745 }
13746 ::opencv_caffe::BlobProto* SolverState::mutable_history(int index) {
13747   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverState.history)
13748   return history_.Mutable(index);
13749 }
13750 ::opencv_caffe::BlobProto* SolverState::add_history() {
13751   // @@protoc_insertion_point(field_add:opencv_caffe.SolverState.history)
13752   return history_.Add();
13753 }
13754 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
13755 SolverState::mutable_history() {
13756   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverState.history)
13757   return &history_;
13758 }
13759 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
13760 SolverState::history() const {
13761   // @@protoc_insertion_point(field_list:opencv_caffe.SolverState.history)
13762   return history_;
13763 }
13764
13765 // optional int32 current_step = 4 [default = 0];
13766 bool SolverState::has_current_step() const {
13767   return (_has_bits_[0] & 0x00000008u) != 0;
13768 }
13769 void SolverState::set_has_current_step() {
13770   _has_bits_[0] |= 0x00000008u;
13771 }
13772 void SolverState::clear_has_current_step() {
13773   _has_bits_[0] &= ~0x00000008u;
13774 }
13775 void SolverState::clear_current_step() {
13776   current_step_ = 0;
13777   clear_has_current_step();
13778 }
13779 ::google::protobuf::int32 SolverState::current_step() const {
13780   // @@protoc_insertion_point(field_get:opencv_caffe.SolverState.current_step)
13781   return current_step_;
13782 }
13783 void SolverState::set_current_step(::google::protobuf::int32 value) {
13784   set_has_current_step();
13785   current_step_ = value;
13786   // @@protoc_insertion_point(field_set:opencv_caffe.SolverState.current_step)
13787 }
13788
13789 inline const SolverState* SolverState::internal_default_instance() {
13790   return &SolverState_default_instance_.get();
13791 }
13792 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
13793
13794 // ===================================================================
13795
13796 #if !defined(_MSC_VER) || _MSC_VER >= 1900
13797 const int NetState::kPhaseFieldNumber;
13798 const int NetState::kLevelFieldNumber;
13799 const int NetState::kStageFieldNumber;
13800 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
13801
13802 NetState::NetState()
13803   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
13804   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
13805   SharedCtor();
13806   // @@protoc_insertion_point(constructor:opencv_caffe.NetState)
13807 }
13808
13809 void NetState::InitAsDefaultInstance() {
13810 }
13811
13812 NetState::NetState(const NetState& from)
13813   : ::google::protobuf::Message(),
13814     _internal_metadata_(NULL) {
13815   SharedCtor();
13816   UnsafeMergeFrom(from);
13817   // @@protoc_insertion_point(copy_constructor:opencv_caffe.NetState)
13818 }
13819
13820 void NetState::SharedCtor() {
13821   _cached_size_ = 0;
13822   level_ = 0;
13823   phase_ = 1;
13824 }
13825
13826 NetState::~NetState() {
13827   // @@protoc_insertion_point(destructor:opencv_caffe.NetState)
13828   SharedDtor();
13829 }
13830
13831 void NetState::SharedDtor() {
13832 }
13833
13834 void NetState::SetCachedSize(int size) const {
13835   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
13836   _cached_size_ = size;
13837   GOOGLE_SAFE_CONCURRENT_WRITES_END();
13838 }
13839 const ::google::protobuf::Descriptor* NetState::descriptor() {
13840   protobuf_AssignDescriptorsOnce();
13841   return NetState_descriptor_;
13842 }
13843
13844 const NetState& NetState::default_instance() {
13845   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
13846   return *internal_default_instance();
13847 }
13848
13849 ::google::protobuf::internal::ExplicitlyConstructed<NetState> NetState_default_instance_;
13850
13851 NetState* NetState::New(::google::protobuf::Arena* arena) const {
13852   NetState* n = new NetState;
13853   if (arena != NULL) {
13854     arena->Own(n);
13855   }
13856   return n;
13857 }
13858
13859 void NetState::Clear() {
13860 // @@protoc_insertion_point(message_clear_start:opencv_caffe.NetState)
13861   if (_has_bits_[0 / 32] & 3u) {
13862     phase_ = 1;
13863     level_ = 0;
13864   }
13865   stage_.Clear();
13866   _has_bits_.Clear();
13867   if (_internal_metadata_.have_unknown_fields()) {
13868     mutable_unknown_fields()->Clear();
13869   }
13870 }
13871
13872 bool NetState::MergePartialFromCodedStream(
13873     ::google::protobuf::io::CodedInputStream* input) {
13874 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
13875   ::google::protobuf::uint32 tag;
13876   // @@protoc_insertion_point(parse_start:opencv_caffe.NetState)
13877   for (;;) {
13878     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
13879     tag = p.first;
13880     if (!p.second) goto handle_unusual;
13881     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
13882       // optional .opencv_caffe.Phase phase = 1 [default = TEST];
13883       case 1: {
13884         if (tag == 8) {
13885           int value;
13886           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
13887                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
13888                  input, &value)));
13889           if (::opencv_caffe::Phase_IsValid(value)) {
13890             set_phase(static_cast< ::opencv_caffe::Phase >(value));
13891           } else {
13892             mutable_unknown_fields()->AddVarint(1, value);
13893           }
13894         } else {
13895           goto handle_unusual;
13896         }
13897         if (input->ExpectTag(16)) goto parse_level;
13898         break;
13899       }
13900
13901       // optional int32 level = 2 [default = 0];
13902       case 2: {
13903         if (tag == 16) {
13904          parse_level:
13905           set_has_level();
13906           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
13907                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
13908                  input, &level_)));
13909         } else {
13910           goto handle_unusual;
13911         }
13912         if (input->ExpectTag(26)) goto parse_stage;
13913         break;
13914       }
13915
13916       // repeated string stage = 3;
13917       case 3: {
13918         if (tag == 26) {
13919          parse_stage:
13920           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
13921                 input, this->add_stage()));
13922           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
13923             this->stage(this->stage_size() - 1).data(),
13924             this->stage(this->stage_size() - 1).length(),
13925             ::google::protobuf::internal::WireFormat::PARSE,
13926             "opencv_caffe.NetState.stage");
13927         } else {
13928           goto handle_unusual;
13929         }
13930         if (input->ExpectTag(26)) goto parse_stage;
13931         if (input->ExpectAtEnd()) goto success;
13932         break;
13933       }
13934
13935       default: {
13936       handle_unusual:
13937         if (tag == 0 ||
13938             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
13939             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
13940           goto success;
13941         }
13942         DO_(::google::protobuf::internal::WireFormat::SkipField(
13943               input, tag, mutable_unknown_fields()));
13944         break;
13945       }
13946     }
13947   }
13948 success:
13949   // @@protoc_insertion_point(parse_success:opencv_caffe.NetState)
13950   return true;
13951 failure:
13952   // @@protoc_insertion_point(parse_failure:opencv_caffe.NetState)
13953   return false;
13954 #undef DO_
13955 }
13956
13957 void NetState::SerializeWithCachedSizes(
13958     ::google::protobuf::io::CodedOutputStream* output) const {
13959   // @@protoc_insertion_point(serialize_start:opencv_caffe.NetState)
13960   // optional .opencv_caffe.Phase phase = 1 [default = TEST];
13961   if (has_phase()) {
13962     ::google::protobuf::internal::WireFormatLite::WriteEnum(
13963       1, this->phase(), output);
13964   }
13965
13966   // optional int32 level = 2 [default = 0];
13967   if (has_level()) {
13968     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->level(), output);
13969   }
13970
13971   // repeated string stage = 3;
13972   for (int i = 0; i < this->stage_size(); i++) {
13973     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
13974       this->stage(i).data(), this->stage(i).length(),
13975       ::google::protobuf::internal::WireFormat::SERIALIZE,
13976       "opencv_caffe.NetState.stage");
13977     ::google::protobuf::internal::WireFormatLite::WriteString(
13978       3, this->stage(i), output);
13979   }
13980
13981   if (_internal_metadata_.have_unknown_fields()) {
13982     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
13983         unknown_fields(), output);
13984   }
13985   // @@protoc_insertion_point(serialize_end:opencv_caffe.NetState)
13986 }
13987
13988 ::google::protobuf::uint8* NetState::InternalSerializeWithCachedSizesToArray(
13989     bool deterministic, ::google::protobuf::uint8* target) const {
13990   (void)deterministic; // Unused
13991   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.NetState)
13992   // optional .opencv_caffe.Phase phase = 1 [default = TEST];
13993   if (has_phase()) {
13994     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
13995       1, this->phase(), target);
13996   }
13997
13998   // optional int32 level = 2 [default = 0];
13999   if (has_level()) {
14000     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->level(), target);
14001   }
14002
14003   // repeated string stage = 3;
14004   for (int i = 0; i < this->stage_size(); i++) {
14005     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
14006       this->stage(i).data(), this->stage(i).length(),
14007       ::google::protobuf::internal::WireFormat::SERIALIZE,
14008       "opencv_caffe.NetState.stage");
14009     target = ::google::protobuf::internal::WireFormatLite::
14010       WriteStringToArray(3, this->stage(i), target);
14011   }
14012
14013   if (_internal_metadata_.have_unknown_fields()) {
14014     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
14015         unknown_fields(), target);
14016   }
14017   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.NetState)
14018   return target;
14019 }
14020
14021 size_t NetState::ByteSizeLong() const {
14022 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.NetState)
14023   size_t total_size = 0;
14024
14025   if (_has_bits_[0 / 32] & 3u) {
14026     // optional .opencv_caffe.Phase phase = 1 [default = TEST];
14027     if (has_phase()) {
14028       total_size += 1 +
14029         ::google::protobuf::internal::WireFormatLite::EnumSize(this->phase());
14030     }
14031
14032     // optional int32 level = 2 [default = 0];
14033     if (has_level()) {
14034       total_size += 1 +
14035         ::google::protobuf::internal::WireFormatLite::Int32Size(
14036           this->level());
14037     }
14038
14039   }
14040   // repeated string stage = 3;
14041   total_size += 1 *
14042       ::google::protobuf::internal::FromIntSize(this->stage_size());
14043   for (int i = 0; i < this->stage_size(); i++) {
14044     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
14045       this->stage(i));
14046   }
14047
14048   if (_internal_metadata_.have_unknown_fields()) {
14049     total_size +=
14050       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
14051         unknown_fields());
14052   }
14053   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
14054   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
14055   _cached_size_ = cached_size;
14056   GOOGLE_SAFE_CONCURRENT_WRITES_END();
14057   return total_size;
14058 }
14059
14060 void NetState::MergeFrom(const ::google::protobuf::Message& from) {
14061 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.NetState)
14062   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
14063   const NetState* source =
14064       ::google::protobuf::internal::DynamicCastToGenerated<const NetState>(
14065           &from);
14066   if (source == NULL) {
14067   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.NetState)
14068     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
14069   } else {
14070   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.NetState)
14071     UnsafeMergeFrom(*source);
14072   }
14073 }
14074
14075 void NetState::MergeFrom(const NetState& from) {
14076 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.NetState)
14077   if (GOOGLE_PREDICT_TRUE(&from != this)) {
14078     UnsafeMergeFrom(from);
14079   } else {
14080     MergeFromFail(__LINE__);
14081   }
14082 }
14083
14084 void NetState::UnsafeMergeFrom(const NetState& from) {
14085   GOOGLE_DCHECK(&from != this);
14086   stage_.UnsafeMergeFrom(from.stage_);
14087   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
14088     if (from.has_phase()) {
14089       set_phase(from.phase());
14090     }
14091     if (from.has_level()) {
14092       set_level(from.level());
14093     }
14094   }
14095   if (from._internal_metadata_.have_unknown_fields()) {
14096     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
14097       from.unknown_fields(), &_internal_metadata_);
14098   }
14099 }
14100
14101 void NetState::CopyFrom(const ::google::protobuf::Message& from) {
14102 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.NetState)
14103   if (&from == this) return;
14104   Clear();
14105   MergeFrom(from);
14106 }
14107
14108 void NetState::CopyFrom(const NetState& from) {
14109 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.NetState)
14110   if (&from == this) return;
14111   Clear();
14112   UnsafeMergeFrom(from);
14113 }
14114
14115 bool NetState::IsInitialized() const {
14116
14117   return true;
14118 }
14119
14120 void NetState::Swap(NetState* other) {
14121   if (other == this) return;
14122   InternalSwap(other);
14123 }
14124 void NetState::InternalSwap(NetState* other) {
14125   std::swap(phase_, other->phase_);
14126   std::swap(level_, other->level_);
14127   stage_.UnsafeArenaSwap(&other->stage_);
14128   std::swap(_has_bits_[0], other->_has_bits_[0]);
14129   _internal_metadata_.Swap(&other->_internal_metadata_);
14130   std::swap(_cached_size_, other->_cached_size_);
14131 }
14132
14133 ::google::protobuf::Metadata NetState::GetMetadata() const {
14134   protobuf_AssignDescriptorsOnce();
14135   ::google::protobuf::Metadata metadata;
14136   metadata.descriptor = NetState_descriptor_;
14137   metadata.reflection = NetState_reflection_;
14138   return metadata;
14139 }
14140
14141 #if PROTOBUF_INLINE_NOT_IN_HEADERS
14142 // NetState
14143
14144 // optional .opencv_caffe.Phase phase = 1 [default = TEST];
14145 bool NetState::has_phase() const {
14146   return (_has_bits_[0] & 0x00000001u) != 0;
14147 }
14148 void NetState::set_has_phase() {
14149   _has_bits_[0] |= 0x00000001u;
14150 }
14151 void NetState::clear_has_phase() {
14152   _has_bits_[0] &= ~0x00000001u;
14153 }
14154 void NetState::clear_phase() {
14155   phase_ = 1;
14156   clear_has_phase();
14157 }
14158 ::opencv_caffe::Phase NetState::phase() const {
14159   // @@protoc_insertion_point(field_get:opencv_caffe.NetState.phase)
14160   return static_cast< ::opencv_caffe::Phase >(phase_);
14161 }
14162 void NetState::set_phase(::opencv_caffe::Phase value) {
14163   assert(::opencv_caffe::Phase_IsValid(value));
14164   set_has_phase();
14165   phase_ = value;
14166   // @@protoc_insertion_point(field_set:opencv_caffe.NetState.phase)
14167 }
14168
14169 // optional int32 level = 2 [default = 0];
14170 bool NetState::has_level() const {
14171   return (_has_bits_[0] & 0x00000002u) != 0;
14172 }
14173 void NetState::set_has_level() {
14174   _has_bits_[0] |= 0x00000002u;
14175 }
14176 void NetState::clear_has_level() {
14177   _has_bits_[0] &= ~0x00000002u;
14178 }
14179 void NetState::clear_level() {
14180   level_ = 0;
14181   clear_has_level();
14182 }
14183 ::google::protobuf::int32 NetState::level() const {
14184   // @@protoc_insertion_point(field_get:opencv_caffe.NetState.level)
14185   return level_;
14186 }
14187 void NetState::set_level(::google::protobuf::int32 value) {
14188   set_has_level();
14189   level_ = value;
14190   // @@protoc_insertion_point(field_set:opencv_caffe.NetState.level)
14191 }
14192
14193 // repeated string stage = 3;
14194 int NetState::stage_size() const {
14195   return stage_.size();
14196 }
14197 void NetState::clear_stage() {
14198   stage_.Clear();
14199 }
14200 const ::std::string& NetState::stage(int index) const {
14201   // @@protoc_insertion_point(field_get:opencv_caffe.NetState.stage)
14202   return stage_.Get(index);
14203 }
14204 ::std::string* NetState::mutable_stage(int index) {
14205   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetState.stage)
14206   return stage_.Mutable(index);
14207 }
14208 void NetState::set_stage(int index, const ::std::string& value) {
14209   // @@protoc_insertion_point(field_set:opencv_caffe.NetState.stage)
14210   stage_.Mutable(index)->assign(value);
14211 }
14212 void NetState::set_stage(int index, const char* value) {
14213   stage_.Mutable(index)->assign(value);
14214   // @@protoc_insertion_point(field_set_char:opencv_caffe.NetState.stage)
14215 }
14216 void NetState::set_stage(int index, const char* value, size_t size) {
14217   stage_.Mutable(index)->assign(
14218     reinterpret_cast<const char*>(value), size);
14219   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.NetState.stage)
14220 }
14221 ::std::string* NetState::add_stage() {
14222   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.NetState.stage)
14223   return stage_.Add();
14224 }
14225 void NetState::add_stage(const ::std::string& value) {
14226   stage_.Add()->assign(value);
14227   // @@protoc_insertion_point(field_add:opencv_caffe.NetState.stage)
14228 }
14229 void NetState::add_stage(const char* value) {
14230   stage_.Add()->assign(value);
14231   // @@protoc_insertion_point(field_add_char:opencv_caffe.NetState.stage)
14232 }
14233 void NetState::add_stage(const char* value, size_t size) {
14234   stage_.Add()->assign(reinterpret_cast<const char*>(value), size);
14235   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.NetState.stage)
14236 }
14237 const ::google::protobuf::RepeatedPtrField< ::std::string>&
14238 NetState::stage() const {
14239   // @@protoc_insertion_point(field_list:opencv_caffe.NetState.stage)
14240   return stage_;
14241 }
14242 ::google::protobuf::RepeatedPtrField< ::std::string>*
14243 NetState::mutable_stage() {
14244   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetState.stage)
14245   return &stage_;
14246 }
14247
14248 inline const NetState* NetState::internal_default_instance() {
14249   return &NetState_default_instance_.get();
14250 }
14251 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
14252
14253 // ===================================================================
14254
14255 #if !defined(_MSC_VER) || _MSC_VER >= 1900
14256 const int NetStateRule::kPhaseFieldNumber;
14257 const int NetStateRule::kMinLevelFieldNumber;
14258 const int NetStateRule::kMaxLevelFieldNumber;
14259 const int NetStateRule::kStageFieldNumber;
14260 const int NetStateRule::kNotStageFieldNumber;
14261 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
14262
14263 NetStateRule::NetStateRule()
14264   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
14265   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
14266   SharedCtor();
14267   // @@protoc_insertion_point(constructor:opencv_caffe.NetStateRule)
14268 }
14269
14270 void NetStateRule::InitAsDefaultInstance() {
14271 }
14272
14273 NetStateRule::NetStateRule(const NetStateRule& from)
14274   : ::google::protobuf::Message(),
14275     _internal_metadata_(NULL) {
14276   SharedCtor();
14277   UnsafeMergeFrom(from);
14278   // @@protoc_insertion_point(copy_constructor:opencv_caffe.NetStateRule)
14279 }
14280
14281 void NetStateRule::SharedCtor() {
14282   _cached_size_ = 0;
14283   ::memset(&phase_, 0, reinterpret_cast<char*>(&max_level_) -
14284     reinterpret_cast<char*>(&phase_) + sizeof(max_level_));
14285 }
14286
14287 NetStateRule::~NetStateRule() {
14288   // @@protoc_insertion_point(destructor:opencv_caffe.NetStateRule)
14289   SharedDtor();
14290 }
14291
14292 void NetStateRule::SharedDtor() {
14293 }
14294
14295 void NetStateRule::SetCachedSize(int size) const {
14296   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
14297   _cached_size_ = size;
14298   GOOGLE_SAFE_CONCURRENT_WRITES_END();
14299 }
14300 const ::google::protobuf::Descriptor* NetStateRule::descriptor() {
14301   protobuf_AssignDescriptorsOnce();
14302   return NetStateRule_descriptor_;
14303 }
14304
14305 const NetStateRule& NetStateRule::default_instance() {
14306   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
14307   return *internal_default_instance();
14308 }
14309
14310 ::google::protobuf::internal::ExplicitlyConstructed<NetStateRule> NetStateRule_default_instance_;
14311
14312 NetStateRule* NetStateRule::New(::google::protobuf::Arena* arena) const {
14313   NetStateRule* n = new NetStateRule;
14314   if (arena != NULL) {
14315     arena->Own(n);
14316   }
14317   return n;
14318 }
14319
14320 void NetStateRule::Clear() {
14321 // @@protoc_insertion_point(message_clear_start:opencv_caffe.NetStateRule)
14322 #if defined(__clang__)
14323 #define ZR_HELPER_(f) \
14324   _Pragma("clang diagnostic push") \
14325   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
14326   __builtin_offsetof(NetStateRule, f) \
14327   _Pragma("clang diagnostic pop")
14328 #else
14329 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
14330   &reinterpret_cast<NetStateRule*>(16)->f)
14331 #endif
14332
14333 #define ZR_(first, last) do {\
14334   ::memset(&(first), 0,\
14335            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
14336 } while (0)
14337
14338   ZR_(phase_, max_level_);
14339
14340 #undef ZR_HELPER_
14341 #undef ZR_
14342
14343   stage_.Clear();
14344   not_stage_.Clear();
14345   _has_bits_.Clear();
14346   if (_internal_metadata_.have_unknown_fields()) {
14347     mutable_unknown_fields()->Clear();
14348   }
14349 }
14350
14351 bool NetStateRule::MergePartialFromCodedStream(
14352     ::google::protobuf::io::CodedInputStream* input) {
14353 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
14354   ::google::protobuf::uint32 tag;
14355   // @@protoc_insertion_point(parse_start:opencv_caffe.NetStateRule)
14356   for (;;) {
14357     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
14358     tag = p.first;
14359     if (!p.second) goto handle_unusual;
14360     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
14361       // optional .opencv_caffe.Phase phase = 1;
14362       case 1: {
14363         if (tag == 8) {
14364           int value;
14365           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
14366                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
14367                  input, &value)));
14368           if (::opencv_caffe::Phase_IsValid(value)) {
14369             set_phase(static_cast< ::opencv_caffe::Phase >(value));
14370           } else {
14371             mutable_unknown_fields()->AddVarint(1, value);
14372           }
14373         } else {
14374           goto handle_unusual;
14375         }
14376         if (input->ExpectTag(16)) goto parse_min_level;
14377         break;
14378       }
14379
14380       // optional int32 min_level = 2;
14381       case 2: {
14382         if (tag == 16) {
14383          parse_min_level:
14384           set_has_min_level();
14385           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
14386                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
14387                  input, &min_level_)));
14388         } else {
14389           goto handle_unusual;
14390         }
14391         if (input->ExpectTag(24)) goto parse_max_level;
14392         break;
14393       }
14394
14395       // optional int32 max_level = 3;
14396       case 3: {
14397         if (tag == 24) {
14398          parse_max_level:
14399           set_has_max_level();
14400           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
14401                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
14402                  input, &max_level_)));
14403         } else {
14404           goto handle_unusual;
14405         }
14406         if (input->ExpectTag(34)) goto parse_stage;
14407         break;
14408       }
14409
14410       // repeated string stage = 4;
14411       case 4: {
14412         if (tag == 34) {
14413          parse_stage:
14414           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
14415                 input, this->add_stage()));
14416           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
14417             this->stage(this->stage_size() - 1).data(),
14418             this->stage(this->stage_size() - 1).length(),
14419             ::google::protobuf::internal::WireFormat::PARSE,
14420             "opencv_caffe.NetStateRule.stage");
14421         } else {
14422           goto handle_unusual;
14423         }
14424         if (input->ExpectTag(34)) goto parse_stage;
14425         if (input->ExpectTag(42)) goto parse_not_stage;
14426         break;
14427       }
14428
14429       // repeated string not_stage = 5;
14430       case 5: {
14431         if (tag == 42) {
14432          parse_not_stage:
14433           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
14434                 input, this->add_not_stage()));
14435           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
14436             this->not_stage(this->not_stage_size() - 1).data(),
14437             this->not_stage(this->not_stage_size() - 1).length(),
14438             ::google::protobuf::internal::WireFormat::PARSE,
14439             "opencv_caffe.NetStateRule.not_stage");
14440         } else {
14441           goto handle_unusual;
14442         }
14443         if (input->ExpectTag(42)) goto parse_not_stage;
14444         if (input->ExpectAtEnd()) goto success;
14445         break;
14446       }
14447
14448       default: {
14449       handle_unusual:
14450         if (tag == 0 ||
14451             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
14452             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
14453           goto success;
14454         }
14455         DO_(::google::protobuf::internal::WireFormat::SkipField(
14456               input, tag, mutable_unknown_fields()));
14457         break;
14458       }
14459     }
14460   }
14461 success:
14462   // @@protoc_insertion_point(parse_success:opencv_caffe.NetStateRule)
14463   return true;
14464 failure:
14465   // @@protoc_insertion_point(parse_failure:opencv_caffe.NetStateRule)
14466   return false;
14467 #undef DO_
14468 }
14469
14470 void NetStateRule::SerializeWithCachedSizes(
14471     ::google::protobuf::io::CodedOutputStream* output) const {
14472   // @@protoc_insertion_point(serialize_start:opencv_caffe.NetStateRule)
14473   // optional .opencv_caffe.Phase phase = 1;
14474   if (has_phase()) {
14475     ::google::protobuf::internal::WireFormatLite::WriteEnum(
14476       1, this->phase(), output);
14477   }
14478
14479   // optional int32 min_level = 2;
14480   if (has_min_level()) {
14481     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->min_level(), output);
14482   }
14483
14484   // optional int32 max_level = 3;
14485   if (has_max_level()) {
14486     ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->max_level(), output);
14487   }
14488
14489   // repeated string stage = 4;
14490   for (int i = 0; i < this->stage_size(); i++) {
14491     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
14492       this->stage(i).data(), this->stage(i).length(),
14493       ::google::protobuf::internal::WireFormat::SERIALIZE,
14494       "opencv_caffe.NetStateRule.stage");
14495     ::google::protobuf::internal::WireFormatLite::WriteString(
14496       4, this->stage(i), output);
14497   }
14498
14499   // repeated string not_stage = 5;
14500   for (int i = 0; i < this->not_stage_size(); i++) {
14501     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
14502       this->not_stage(i).data(), this->not_stage(i).length(),
14503       ::google::protobuf::internal::WireFormat::SERIALIZE,
14504       "opencv_caffe.NetStateRule.not_stage");
14505     ::google::protobuf::internal::WireFormatLite::WriteString(
14506       5, this->not_stage(i), output);
14507   }
14508
14509   if (_internal_metadata_.have_unknown_fields()) {
14510     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
14511         unknown_fields(), output);
14512   }
14513   // @@protoc_insertion_point(serialize_end:opencv_caffe.NetStateRule)
14514 }
14515
14516 ::google::protobuf::uint8* NetStateRule::InternalSerializeWithCachedSizesToArray(
14517     bool deterministic, ::google::protobuf::uint8* target) const {
14518   (void)deterministic; // Unused
14519   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.NetStateRule)
14520   // optional .opencv_caffe.Phase phase = 1;
14521   if (has_phase()) {
14522     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
14523       1, this->phase(), target);
14524   }
14525
14526   // optional int32 min_level = 2;
14527   if (has_min_level()) {
14528     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->min_level(), target);
14529   }
14530
14531   // optional int32 max_level = 3;
14532   if (has_max_level()) {
14533     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->max_level(), target);
14534   }
14535
14536   // repeated string stage = 4;
14537   for (int i = 0; i < this->stage_size(); i++) {
14538     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
14539       this->stage(i).data(), this->stage(i).length(),
14540       ::google::protobuf::internal::WireFormat::SERIALIZE,
14541       "opencv_caffe.NetStateRule.stage");
14542     target = ::google::protobuf::internal::WireFormatLite::
14543       WriteStringToArray(4, this->stage(i), target);
14544   }
14545
14546   // repeated string not_stage = 5;
14547   for (int i = 0; i < this->not_stage_size(); i++) {
14548     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
14549       this->not_stage(i).data(), this->not_stage(i).length(),
14550       ::google::protobuf::internal::WireFormat::SERIALIZE,
14551       "opencv_caffe.NetStateRule.not_stage");
14552     target = ::google::protobuf::internal::WireFormatLite::
14553       WriteStringToArray(5, this->not_stage(i), target);
14554   }
14555
14556   if (_internal_metadata_.have_unknown_fields()) {
14557     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
14558         unknown_fields(), target);
14559   }
14560   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.NetStateRule)
14561   return target;
14562 }
14563
14564 size_t NetStateRule::ByteSizeLong() const {
14565 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.NetStateRule)
14566   size_t total_size = 0;
14567
14568   if (_has_bits_[0 / 32] & 7u) {
14569     // optional .opencv_caffe.Phase phase = 1;
14570     if (has_phase()) {
14571       total_size += 1 +
14572         ::google::protobuf::internal::WireFormatLite::EnumSize(this->phase());
14573     }
14574
14575     // optional int32 min_level = 2;
14576     if (has_min_level()) {
14577       total_size += 1 +
14578         ::google::protobuf::internal::WireFormatLite::Int32Size(
14579           this->min_level());
14580     }
14581
14582     // optional int32 max_level = 3;
14583     if (has_max_level()) {
14584       total_size += 1 +
14585         ::google::protobuf::internal::WireFormatLite::Int32Size(
14586           this->max_level());
14587     }
14588
14589   }
14590   // repeated string stage = 4;
14591   total_size += 1 *
14592       ::google::protobuf::internal::FromIntSize(this->stage_size());
14593   for (int i = 0; i < this->stage_size(); i++) {
14594     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
14595       this->stage(i));
14596   }
14597
14598   // repeated string not_stage = 5;
14599   total_size += 1 *
14600       ::google::protobuf::internal::FromIntSize(this->not_stage_size());
14601   for (int i = 0; i < this->not_stage_size(); i++) {
14602     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
14603       this->not_stage(i));
14604   }
14605
14606   if (_internal_metadata_.have_unknown_fields()) {
14607     total_size +=
14608       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
14609         unknown_fields());
14610   }
14611   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
14612   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
14613   _cached_size_ = cached_size;
14614   GOOGLE_SAFE_CONCURRENT_WRITES_END();
14615   return total_size;
14616 }
14617
14618 void NetStateRule::MergeFrom(const ::google::protobuf::Message& from) {
14619 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.NetStateRule)
14620   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
14621   const NetStateRule* source =
14622       ::google::protobuf::internal::DynamicCastToGenerated<const NetStateRule>(
14623           &from);
14624   if (source == NULL) {
14625   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.NetStateRule)
14626     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
14627   } else {
14628   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.NetStateRule)
14629     UnsafeMergeFrom(*source);
14630   }
14631 }
14632
14633 void NetStateRule::MergeFrom(const NetStateRule& from) {
14634 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.NetStateRule)
14635   if (GOOGLE_PREDICT_TRUE(&from != this)) {
14636     UnsafeMergeFrom(from);
14637   } else {
14638     MergeFromFail(__LINE__);
14639   }
14640 }
14641
14642 void NetStateRule::UnsafeMergeFrom(const NetStateRule& from) {
14643   GOOGLE_DCHECK(&from != this);
14644   stage_.UnsafeMergeFrom(from.stage_);
14645   not_stage_.UnsafeMergeFrom(from.not_stage_);
14646   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
14647     if (from.has_phase()) {
14648       set_phase(from.phase());
14649     }
14650     if (from.has_min_level()) {
14651       set_min_level(from.min_level());
14652     }
14653     if (from.has_max_level()) {
14654       set_max_level(from.max_level());
14655     }
14656   }
14657   if (from._internal_metadata_.have_unknown_fields()) {
14658     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
14659       from.unknown_fields(), &_internal_metadata_);
14660   }
14661 }
14662
14663 void NetStateRule::CopyFrom(const ::google::protobuf::Message& from) {
14664 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.NetStateRule)
14665   if (&from == this) return;
14666   Clear();
14667   MergeFrom(from);
14668 }
14669
14670 void NetStateRule::CopyFrom(const NetStateRule& from) {
14671 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.NetStateRule)
14672   if (&from == this) return;
14673   Clear();
14674   UnsafeMergeFrom(from);
14675 }
14676
14677 bool NetStateRule::IsInitialized() const {
14678
14679   return true;
14680 }
14681
14682 void NetStateRule::Swap(NetStateRule* other) {
14683   if (other == this) return;
14684   InternalSwap(other);
14685 }
14686 void NetStateRule::InternalSwap(NetStateRule* other) {
14687   std::swap(phase_, other->phase_);
14688   std::swap(min_level_, other->min_level_);
14689   std::swap(max_level_, other->max_level_);
14690   stage_.UnsafeArenaSwap(&other->stage_);
14691   not_stage_.UnsafeArenaSwap(&other->not_stage_);
14692   std::swap(_has_bits_[0], other->_has_bits_[0]);
14693   _internal_metadata_.Swap(&other->_internal_metadata_);
14694   std::swap(_cached_size_, other->_cached_size_);
14695 }
14696
14697 ::google::protobuf::Metadata NetStateRule::GetMetadata() const {
14698   protobuf_AssignDescriptorsOnce();
14699   ::google::protobuf::Metadata metadata;
14700   metadata.descriptor = NetStateRule_descriptor_;
14701   metadata.reflection = NetStateRule_reflection_;
14702   return metadata;
14703 }
14704
14705 #if PROTOBUF_INLINE_NOT_IN_HEADERS
14706 // NetStateRule
14707
14708 // optional .opencv_caffe.Phase phase = 1;
14709 bool NetStateRule::has_phase() const {
14710   return (_has_bits_[0] & 0x00000001u) != 0;
14711 }
14712 void NetStateRule::set_has_phase() {
14713   _has_bits_[0] |= 0x00000001u;
14714 }
14715 void NetStateRule::clear_has_phase() {
14716   _has_bits_[0] &= ~0x00000001u;
14717 }
14718 void NetStateRule::clear_phase() {
14719   phase_ = 0;
14720   clear_has_phase();
14721 }
14722 ::opencv_caffe::Phase NetStateRule::phase() const {
14723   // @@protoc_insertion_point(field_get:opencv_caffe.NetStateRule.phase)
14724   return static_cast< ::opencv_caffe::Phase >(phase_);
14725 }
14726 void NetStateRule::set_phase(::opencv_caffe::Phase value) {
14727   assert(::opencv_caffe::Phase_IsValid(value));
14728   set_has_phase();
14729   phase_ = value;
14730   // @@protoc_insertion_point(field_set:opencv_caffe.NetStateRule.phase)
14731 }
14732
14733 // optional int32 min_level = 2;
14734 bool NetStateRule::has_min_level() const {
14735   return (_has_bits_[0] & 0x00000002u) != 0;
14736 }
14737 void NetStateRule::set_has_min_level() {
14738   _has_bits_[0] |= 0x00000002u;
14739 }
14740 void NetStateRule::clear_has_min_level() {
14741   _has_bits_[0] &= ~0x00000002u;
14742 }
14743 void NetStateRule::clear_min_level() {
14744   min_level_ = 0;
14745   clear_has_min_level();
14746 }
14747 ::google::protobuf::int32 NetStateRule::min_level() const {
14748   // @@protoc_insertion_point(field_get:opencv_caffe.NetStateRule.min_level)
14749   return min_level_;
14750 }
14751 void NetStateRule::set_min_level(::google::protobuf::int32 value) {
14752   set_has_min_level();
14753   min_level_ = value;
14754   // @@protoc_insertion_point(field_set:opencv_caffe.NetStateRule.min_level)
14755 }
14756
14757 // optional int32 max_level = 3;
14758 bool NetStateRule::has_max_level() const {
14759   return (_has_bits_[0] & 0x00000004u) != 0;
14760 }
14761 void NetStateRule::set_has_max_level() {
14762   _has_bits_[0] |= 0x00000004u;
14763 }
14764 void NetStateRule::clear_has_max_level() {
14765   _has_bits_[0] &= ~0x00000004u;
14766 }
14767 void NetStateRule::clear_max_level() {
14768   max_level_ = 0;
14769   clear_has_max_level();
14770 }
14771 ::google::protobuf::int32 NetStateRule::max_level() const {
14772   // @@protoc_insertion_point(field_get:opencv_caffe.NetStateRule.max_level)
14773   return max_level_;
14774 }
14775 void NetStateRule::set_max_level(::google::protobuf::int32 value) {
14776   set_has_max_level();
14777   max_level_ = value;
14778   // @@protoc_insertion_point(field_set:opencv_caffe.NetStateRule.max_level)
14779 }
14780
14781 // repeated string stage = 4;
14782 int NetStateRule::stage_size() const {
14783   return stage_.size();
14784 }
14785 void NetStateRule::clear_stage() {
14786   stage_.Clear();
14787 }
14788 const ::std::string& NetStateRule::stage(int index) const {
14789   // @@protoc_insertion_point(field_get:opencv_caffe.NetStateRule.stage)
14790   return stage_.Get(index);
14791 }
14792 ::std::string* NetStateRule::mutable_stage(int index) {
14793   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetStateRule.stage)
14794   return stage_.Mutable(index);
14795 }
14796 void NetStateRule::set_stage(int index, const ::std::string& value) {
14797   // @@protoc_insertion_point(field_set:opencv_caffe.NetStateRule.stage)
14798   stage_.Mutable(index)->assign(value);
14799 }
14800 void NetStateRule::set_stage(int index, const char* value) {
14801   stage_.Mutable(index)->assign(value);
14802   // @@protoc_insertion_point(field_set_char:opencv_caffe.NetStateRule.stage)
14803 }
14804 void NetStateRule::set_stage(int index, const char* value, size_t size) {
14805   stage_.Mutable(index)->assign(
14806     reinterpret_cast<const char*>(value), size);
14807   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.NetStateRule.stage)
14808 }
14809 ::std::string* NetStateRule::add_stage() {
14810   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.NetStateRule.stage)
14811   return stage_.Add();
14812 }
14813 void NetStateRule::add_stage(const ::std::string& value) {
14814   stage_.Add()->assign(value);
14815   // @@protoc_insertion_point(field_add:opencv_caffe.NetStateRule.stage)
14816 }
14817 void NetStateRule::add_stage(const char* value) {
14818   stage_.Add()->assign(value);
14819   // @@protoc_insertion_point(field_add_char:opencv_caffe.NetStateRule.stage)
14820 }
14821 void NetStateRule::add_stage(const char* value, size_t size) {
14822   stage_.Add()->assign(reinterpret_cast<const char*>(value), size);
14823   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.NetStateRule.stage)
14824 }
14825 const ::google::protobuf::RepeatedPtrField< ::std::string>&
14826 NetStateRule::stage() const {
14827   // @@protoc_insertion_point(field_list:opencv_caffe.NetStateRule.stage)
14828   return stage_;
14829 }
14830 ::google::protobuf::RepeatedPtrField< ::std::string>*
14831 NetStateRule::mutable_stage() {
14832   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetStateRule.stage)
14833   return &stage_;
14834 }
14835
14836 // repeated string not_stage = 5;
14837 int NetStateRule::not_stage_size() const {
14838   return not_stage_.size();
14839 }
14840 void NetStateRule::clear_not_stage() {
14841   not_stage_.Clear();
14842 }
14843 const ::std::string& NetStateRule::not_stage(int index) const {
14844   // @@protoc_insertion_point(field_get:opencv_caffe.NetStateRule.not_stage)
14845   return not_stage_.Get(index);
14846 }
14847 ::std::string* NetStateRule::mutable_not_stage(int index) {
14848   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetStateRule.not_stage)
14849   return not_stage_.Mutable(index);
14850 }
14851 void NetStateRule::set_not_stage(int index, const ::std::string& value) {
14852   // @@protoc_insertion_point(field_set:opencv_caffe.NetStateRule.not_stage)
14853   not_stage_.Mutable(index)->assign(value);
14854 }
14855 void NetStateRule::set_not_stage(int index, const char* value) {
14856   not_stage_.Mutable(index)->assign(value);
14857   // @@protoc_insertion_point(field_set_char:opencv_caffe.NetStateRule.not_stage)
14858 }
14859 void NetStateRule::set_not_stage(int index, const char* value, size_t size) {
14860   not_stage_.Mutable(index)->assign(
14861     reinterpret_cast<const char*>(value), size);
14862   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.NetStateRule.not_stage)
14863 }
14864 ::std::string* NetStateRule::add_not_stage() {
14865   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.NetStateRule.not_stage)
14866   return not_stage_.Add();
14867 }
14868 void NetStateRule::add_not_stage(const ::std::string& value) {
14869   not_stage_.Add()->assign(value);
14870   // @@protoc_insertion_point(field_add:opencv_caffe.NetStateRule.not_stage)
14871 }
14872 void NetStateRule::add_not_stage(const char* value) {
14873   not_stage_.Add()->assign(value);
14874   // @@protoc_insertion_point(field_add_char:opencv_caffe.NetStateRule.not_stage)
14875 }
14876 void NetStateRule::add_not_stage(const char* value, size_t size) {
14877   not_stage_.Add()->assign(reinterpret_cast<const char*>(value), size);
14878   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.NetStateRule.not_stage)
14879 }
14880 const ::google::protobuf::RepeatedPtrField< ::std::string>&
14881 NetStateRule::not_stage() const {
14882   // @@protoc_insertion_point(field_list:opencv_caffe.NetStateRule.not_stage)
14883   return not_stage_;
14884 }
14885 ::google::protobuf::RepeatedPtrField< ::std::string>*
14886 NetStateRule::mutable_not_stage() {
14887   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetStateRule.not_stage)
14888   return &not_stage_;
14889 }
14890
14891 inline const NetStateRule* NetStateRule::internal_default_instance() {
14892   return &NetStateRule_default_instance_.get();
14893 }
14894 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
14895
14896 // ===================================================================
14897
14898 const ::google::protobuf::EnumDescriptor* ParamSpec_DimCheckMode_descriptor() {
14899   protobuf_AssignDescriptorsOnce();
14900   return ParamSpec_DimCheckMode_descriptor_;
14901 }
14902 bool ParamSpec_DimCheckMode_IsValid(int value) {
14903   switch (value) {
14904     case 0:
14905     case 1:
14906       return true;
14907     default:
14908       return false;
14909   }
14910 }
14911
14912 #if !defined(_MSC_VER) || _MSC_VER >= 1900
14913 const ParamSpec_DimCheckMode ParamSpec::STRICT;
14914 const ParamSpec_DimCheckMode ParamSpec::PERMISSIVE;
14915 const ParamSpec_DimCheckMode ParamSpec::DimCheckMode_MIN;
14916 const ParamSpec_DimCheckMode ParamSpec::DimCheckMode_MAX;
14917 const int ParamSpec::DimCheckMode_ARRAYSIZE;
14918 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
14919 #if !defined(_MSC_VER) || _MSC_VER >= 1900
14920 const int ParamSpec::kNameFieldNumber;
14921 const int ParamSpec::kShareModeFieldNumber;
14922 const int ParamSpec::kLrMultFieldNumber;
14923 const int ParamSpec::kDecayMultFieldNumber;
14924 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
14925
14926 ParamSpec::ParamSpec()
14927   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
14928   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
14929   SharedCtor();
14930   // @@protoc_insertion_point(constructor:opencv_caffe.ParamSpec)
14931 }
14932
14933 void ParamSpec::InitAsDefaultInstance() {
14934 }
14935
14936 ParamSpec::ParamSpec(const ParamSpec& from)
14937   : ::google::protobuf::Message(),
14938     _internal_metadata_(NULL) {
14939   SharedCtor();
14940   UnsafeMergeFrom(from);
14941   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ParamSpec)
14942 }
14943
14944 void ParamSpec::SharedCtor() {
14945   _cached_size_ = 0;
14946   name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
14947   share_mode_ = 0;
14948   lr_mult_ = 1;
14949   decay_mult_ = 1;
14950 }
14951
14952 ParamSpec::~ParamSpec() {
14953   // @@protoc_insertion_point(destructor:opencv_caffe.ParamSpec)
14954   SharedDtor();
14955 }
14956
14957 void ParamSpec::SharedDtor() {
14958   name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
14959 }
14960
14961 void ParamSpec::SetCachedSize(int size) const {
14962   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
14963   _cached_size_ = size;
14964   GOOGLE_SAFE_CONCURRENT_WRITES_END();
14965 }
14966 const ::google::protobuf::Descriptor* ParamSpec::descriptor() {
14967   protobuf_AssignDescriptorsOnce();
14968   return ParamSpec_descriptor_;
14969 }
14970
14971 const ParamSpec& ParamSpec::default_instance() {
14972   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
14973   return *internal_default_instance();
14974 }
14975
14976 ::google::protobuf::internal::ExplicitlyConstructed<ParamSpec> ParamSpec_default_instance_;
14977
14978 ParamSpec* ParamSpec::New(::google::protobuf::Arena* arena) const {
14979   ParamSpec* n = new ParamSpec;
14980   if (arena != NULL) {
14981     arena->Own(n);
14982   }
14983   return n;
14984 }
14985
14986 void ParamSpec::Clear() {
14987 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ParamSpec)
14988   if (_has_bits_[0 / 32] & 15u) {
14989     if (has_name()) {
14990       name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
14991     }
14992     share_mode_ = 0;
14993     lr_mult_ = 1;
14994     decay_mult_ = 1;
14995   }
14996   _has_bits_.Clear();
14997   if (_internal_metadata_.have_unknown_fields()) {
14998     mutable_unknown_fields()->Clear();
14999   }
15000 }
15001
15002 bool ParamSpec::MergePartialFromCodedStream(
15003     ::google::protobuf::io::CodedInputStream* input) {
15004 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
15005   ::google::protobuf::uint32 tag;
15006   // @@protoc_insertion_point(parse_start:opencv_caffe.ParamSpec)
15007   for (;;) {
15008     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
15009     tag = p.first;
15010     if (!p.second) goto handle_unusual;
15011     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
15012       // optional string name = 1;
15013       case 1: {
15014         if (tag == 10) {
15015           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
15016                 input, this->mutable_name()));
15017           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
15018             this->name().data(), this->name().length(),
15019             ::google::protobuf::internal::WireFormat::PARSE,
15020             "opencv_caffe.ParamSpec.name");
15021         } else {
15022           goto handle_unusual;
15023         }
15024         if (input->ExpectTag(16)) goto parse_share_mode;
15025         break;
15026       }
15027
15028       // optional .opencv_caffe.ParamSpec.DimCheckMode share_mode = 2;
15029       case 2: {
15030         if (tag == 16) {
15031          parse_share_mode:
15032           int value;
15033           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
15034                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
15035                  input, &value)));
15036           if (::opencv_caffe::ParamSpec_DimCheckMode_IsValid(value)) {
15037             set_share_mode(static_cast< ::opencv_caffe::ParamSpec_DimCheckMode >(value));
15038           } else {
15039             mutable_unknown_fields()->AddVarint(2, value);
15040           }
15041         } else {
15042           goto handle_unusual;
15043         }
15044         if (input->ExpectTag(29)) goto parse_lr_mult;
15045         break;
15046       }
15047
15048       // optional float lr_mult = 3 [default = 1];
15049       case 3: {
15050         if (tag == 29) {
15051          parse_lr_mult:
15052           set_has_lr_mult();
15053           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
15054                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
15055                  input, &lr_mult_)));
15056         } else {
15057           goto handle_unusual;
15058         }
15059         if (input->ExpectTag(37)) goto parse_decay_mult;
15060         break;
15061       }
15062
15063       // optional float decay_mult = 4 [default = 1];
15064       case 4: {
15065         if (tag == 37) {
15066          parse_decay_mult:
15067           set_has_decay_mult();
15068           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
15069                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
15070                  input, &decay_mult_)));
15071         } else {
15072           goto handle_unusual;
15073         }
15074         if (input->ExpectAtEnd()) goto success;
15075         break;
15076       }
15077
15078       default: {
15079       handle_unusual:
15080         if (tag == 0 ||
15081             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
15082             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
15083           goto success;
15084         }
15085         DO_(::google::protobuf::internal::WireFormat::SkipField(
15086               input, tag, mutable_unknown_fields()));
15087         break;
15088       }
15089     }
15090   }
15091 success:
15092   // @@protoc_insertion_point(parse_success:opencv_caffe.ParamSpec)
15093   return true;
15094 failure:
15095   // @@protoc_insertion_point(parse_failure:opencv_caffe.ParamSpec)
15096   return false;
15097 #undef DO_
15098 }
15099
15100 void ParamSpec::SerializeWithCachedSizes(
15101     ::google::protobuf::io::CodedOutputStream* output) const {
15102   // @@protoc_insertion_point(serialize_start:opencv_caffe.ParamSpec)
15103   // optional string name = 1;
15104   if (has_name()) {
15105     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
15106       this->name().data(), this->name().length(),
15107       ::google::protobuf::internal::WireFormat::SERIALIZE,
15108       "opencv_caffe.ParamSpec.name");
15109     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
15110       1, this->name(), output);
15111   }
15112
15113   // optional .opencv_caffe.ParamSpec.DimCheckMode share_mode = 2;
15114   if (has_share_mode()) {
15115     ::google::protobuf::internal::WireFormatLite::WriteEnum(
15116       2, this->share_mode(), output);
15117   }
15118
15119   // optional float lr_mult = 3 [default = 1];
15120   if (has_lr_mult()) {
15121     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->lr_mult(), output);
15122   }
15123
15124   // optional float decay_mult = 4 [default = 1];
15125   if (has_decay_mult()) {
15126     ::google::protobuf::internal::WireFormatLite::WriteFloat(4, this->decay_mult(), output);
15127   }
15128
15129   if (_internal_metadata_.have_unknown_fields()) {
15130     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
15131         unknown_fields(), output);
15132   }
15133   // @@protoc_insertion_point(serialize_end:opencv_caffe.ParamSpec)
15134 }
15135
15136 ::google::protobuf::uint8* ParamSpec::InternalSerializeWithCachedSizesToArray(
15137     bool deterministic, ::google::protobuf::uint8* target) const {
15138   (void)deterministic; // Unused
15139   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ParamSpec)
15140   // optional string name = 1;
15141   if (has_name()) {
15142     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
15143       this->name().data(), this->name().length(),
15144       ::google::protobuf::internal::WireFormat::SERIALIZE,
15145       "opencv_caffe.ParamSpec.name");
15146     target =
15147       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
15148         1, this->name(), target);
15149   }
15150
15151   // optional .opencv_caffe.ParamSpec.DimCheckMode share_mode = 2;
15152   if (has_share_mode()) {
15153     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
15154       2, this->share_mode(), target);
15155   }
15156
15157   // optional float lr_mult = 3 [default = 1];
15158   if (has_lr_mult()) {
15159     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->lr_mult(), target);
15160   }
15161
15162   // optional float decay_mult = 4 [default = 1];
15163   if (has_decay_mult()) {
15164     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(4, this->decay_mult(), target);
15165   }
15166
15167   if (_internal_metadata_.have_unknown_fields()) {
15168     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
15169         unknown_fields(), target);
15170   }
15171   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ParamSpec)
15172   return target;
15173 }
15174
15175 size_t ParamSpec::ByteSizeLong() const {
15176 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ParamSpec)
15177   size_t total_size = 0;
15178
15179   if (_has_bits_[0 / 32] & 15u) {
15180     // optional string name = 1;
15181     if (has_name()) {
15182       total_size += 1 +
15183         ::google::protobuf::internal::WireFormatLite::StringSize(
15184           this->name());
15185     }
15186
15187     // optional .opencv_caffe.ParamSpec.DimCheckMode share_mode = 2;
15188     if (has_share_mode()) {
15189       total_size += 1 +
15190         ::google::protobuf::internal::WireFormatLite::EnumSize(this->share_mode());
15191     }
15192
15193     // optional float lr_mult = 3 [default = 1];
15194     if (has_lr_mult()) {
15195       total_size += 1 + 4;
15196     }
15197
15198     // optional float decay_mult = 4 [default = 1];
15199     if (has_decay_mult()) {
15200       total_size += 1 + 4;
15201     }
15202
15203   }
15204   if (_internal_metadata_.have_unknown_fields()) {
15205     total_size +=
15206       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
15207         unknown_fields());
15208   }
15209   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
15210   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
15211   _cached_size_ = cached_size;
15212   GOOGLE_SAFE_CONCURRENT_WRITES_END();
15213   return total_size;
15214 }
15215
15216 void ParamSpec::MergeFrom(const ::google::protobuf::Message& from) {
15217 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ParamSpec)
15218   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
15219   const ParamSpec* source =
15220       ::google::protobuf::internal::DynamicCastToGenerated<const ParamSpec>(
15221           &from);
15222   if (source == NULL) {
15223   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ParamSpec)
15224     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
15225   } else {
15226   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ParamSpec)
15227     UnsafeMergeFrom(*source);
15228   }
15229 }
15230
15231 void ParamSpec::MergeFrom(const ParamSpec& from) {
15232 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ParamSpec)
15233   if (GOOGLE_PREDICT_TRUE(&from != this)) {
15234     UnsafeMergeFrom(from);
15235   } else {
15236     MergeFromFail(__LINE__);
15237   }
15238 }
15239
15240 void ParamSpec::UnsafeMergeFrom(const ParamSpec& from) {
15241   GOOGLE_DCHECK(&from != this);
15242   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
15243     if (from.has_name()) {
15244       set_has_name();
15245       name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
15246     }
15247     if (from.has_share_mode()) {
15248       set_share_mode(from.share_mode());
15249     }
15250     if (from.has_lr_mult()) {
15251       set_lr_mult(from.lr_mult());
15252     }
15253     if (from.has_decay_mult()) {
15254       set_decay_mult(from.decay_mult());
15255     }
15256   }
15257   if (from._internal_metadata_.have_unknown_fields()) {
15258     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
15259       from.unknown_fields(), &_internal_metadata_);
15260   }
15261 }
15262
15263 void ParamSpec::CopyFrom(const ::google::protobuf::Message& from) {
15264 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ParamSpec)
15265   if (&from == this) return;
15266   Clear();
15267   MergeFrom(from);
15268 }
15269
15270 void ParamSpec::CopyFrom(const ParamSpec& from) {
15271 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ParamSpec)
15272   if (&from == this) return;
15273   Clear();
15274   UnsafeMergeFrom(from);
15275 }
15276
15277 bool ParamSpec::IsInitialized() const {
15278
15279   return true;
15280 }
15281
15282 void ParamSpec::Swap(ParamSpec* other) {
15283   if (other == this) return;
15284   InternalSwap(other);
15285 }
15286 void ParamSpec::InternalSwap(ParamSpec* other) {
15287   name_.Swap(&other->name_);
15288   std::swap(share_mode_, other->share_mode_);
15289   std::swap(lr_mult_, other->lr_mult_);
15290   std::swap(decay_mult_, other->decay_mult_);
15291   std::swap(_has_bits_[0], other->_has_bits_[0]);
15292   _internal_metadata_.Swap(&other->_internal_metadata_);
15293   std::swap(_cached_size_, other->_cached_size_);
15294 }
15295
15296 ::google::protobuf::Metadata ParamSpec::GetMetadata() const {
15297   protobuf_AssignDescriptorsOnce();
15298   ::google::protobuf::Metadata metadata;
15299   metadata.descriptor = ParamSpec_descriptor_;
15300   metadata.reflection = ParamSpec_reflection_;
15301   return metadata;
15302 }
15303
15304 #if PROTOBUF_INLINE_NOT_IN_HEADERS
15305 // ParamSpec
15306
15307 // optional string name = 1;
15308 bool ParamSpec::has_name() const {
15309   return (_has_bits_[0] & 0x00000001u) != 0;
15310 }
15311 void ParamSpec::set_has_name() {
15312   _has_bits_[0] |= 0x00000001u;
15313 }
15314 void ParamSpec::clear_has_name() {
15315   _has_bits_[0] &= ~0x00000001u;
15316 }
15317 void ParamSpec::clear_name() {
15318   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15319   clear_has_name();
15320 }
15321 const ::std::string& ParamSpec::name() const {
15322   // @@protoc_insertion_point(field_get:opencv_caffe.ParamSpec.name)
15323   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15324 }
15325 void ParamSpec::set_name(const ::std::string& value) {
15326   set_has_name();
15327   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
15328   // @@protoc_insertion_point(field_set:opencv_caffe.ParamSpec.name)
15329 }
15330 void ParamSpec::set_name(const char* value) {
15331   set_has_name();
15332   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
15333   // @@protoc_insertion_point(field_set_char:opencv_caffe.ParamSpec.name)
15334 }
15335 void ParamSpec::set_name(const char* value, size_t size) {
15336   set_has_name();
15337   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
15338       ::std::string(reinterpret_cast<const char*>(value), size));
15339   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.ParamSpec.name)
15340 }
15341 ::std::string* ParamSpec::mutable_name() {
15342   set_has_name();
15343   // @@protoc_insertion_point(field_mutable:opencv_caffe.ParamSpec.name)
15344   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15345 }
15346 ::std::string* ParamSpec::release_name() {
15347   // @@protoc_insertion_point(field_release:opencv_caffe.ParamSpec.name)
15348   clear_has_name();
15349   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15350 }
15351 void ParamSpec::set_allocated_name(::std::string* name) {
15352   if (name != NULL) {
15353     set_has_name();
15354   } else {
15355     clear_has_name();
15356   }
15357   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
15358   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ParamSpec.name)
15359 }
15360
15361 // optional .opencv_caffe.ParamSpec.DimCheckMode share_mode = 2;
15362 bool ParamSpec::has_share_mode() const {
15363   return (_has_bits_[0] & 0x00000002u) != 0;
15364 }
15365 void ParamSpec::set_has_share_mode() {
15366   _has_bits_[0] |= 0x00000002u;
15367 }
15368 void ParamSpec::clear_has_share_mode() {
15369   _has_bits_[0] &= ~0x00000002u;
15370 }
15371 void ParamSpec::clear_share_mode() {
15372   share_mode_ = 0;
15373   clear_has_share_mode();
15374 }
15375 ::opencv_caffe::ParamSpec_DimCheckMode ParamSpec::share_mode() const {
15376   // @@protoc_insertion_point(field_get:opencv_caffe.ParamSpec.share_mode)
15377   return static_cast< ::opencv_caffe::ParamSpec_DimCheckMode >(share_mode_);
15378 }
15379 void ParamSpec::set_share_mode(::opencv_caffe::ParamSpec_DimCheckMode value) {
15380   assert(::opencv_caffe::ParamSpec_DimCheckMode_IsValid(value));
15381   set_has_share_mode();
15382   share_mode_ = value;
15383   // @@protoc_insertion_point(field_set:opencv_caffe.ParamSpec.share_mode)
15384 }
15385
15386 // optional float lr_mult = 3 [default = 1];
15387 bool ParamSpec::has_lr_mult() const {
15388   return (_has_bits_[0] & 0x00000004u) != 0;
15389 }
15390 void ParamSpec::set_has_lr_mult() {
15391   _has_bits_[0] |= 0x00000004u;
15392 }
15393 void ParamSpec::clear_has_lr_mult() {
15394   _has_bits_[0] &= ~0x00000004u;
15395 }
15396 void ParamSpec::clear_lr_mult() {
15397   lr_mult_ = 1;
15398   clear_has_lr_mult();
15399 }
15400 float ParamSpec::lr_mult() const {
15401   // @@protoc_insertion_point(field_get:opencv_caffe.ParamSpec.lr_mult)
15402   return lr_mult_;
15403 }
15404 void ParamSpec::set_lr_mult(float value) {
15405   set_has_lr_mult();
15406   lr_mult_ = value;
15407   // @@protoc_insertion_point(field_set:opencv_caffe.ParamSpec.lr_mult)
15408 }
15409
15410 // optional float decay_mult = 4 [default = 1];
15411 bool ParamSpec::has_decay_mult() const {
15412   return (_has_bits_[0] & 0x00000008u) != 0;
15413 }
15414 void ParamSpec::set_has_decay_mult() {
15415   _has_bits_[0] |= 0x00000008u;
15416 }
15417 void ParamSpec::clear_has_decay_mult() {
15418   _has_bits_[0] &= ~0x00000008u;
15419 }
15420 void ParamSpec::clear_decay_mult() {
15421   decay_mult_ = 1;
15422   clear_has_decay_mult();
15423 }
15424 float ParamSpec::decay_mult() const {
15425   // @@protoc_insertion_point(field_get:opencv_caffe.ParamSpec.decay_mult)
15426   return decay_mult_;
15427 }
15428 void ParamSpec::set_decay_mult(float value) {
15429   set_has_decay_mult();
15430   decay_mult_ = value;
15431   // @@protoc_insertion_point(field_set:opencv_caffe.ParamSpec.decay_mult)
15432 }
15433
15434 inline const ParamSpec* ParamSpec::internal_default_instance() {
15435   return &ParamSpec_default_instance_.get();
15436 }
15437 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
15438
15439 // ===================================================================
15440
15441 #if !defined(_MSC_VER) || _MSC_VER >= 1900
15442 const int LayerParameter::kNameFieldNumber;
15443 const int LayerParameter::kTypeFieldNumber;
15444 const int LayerParameter::kBottomFieldNumber;
15445 const int LayerParameter::kTopFieldNumber;
15446 const int LayerParameter::kPhaseFieldNumber;
15447 const int LayerParameter::kLossWeightFieldNumber;
15448 const int LayerParameter::kParamFieldNumber;
15449 const int LayerParameter::kBlobsFieldNumber;
15450 const int LayerParameter::kPropagateDownFieldNumber;
15451 const int LayerParameter::kIncludeFieldNumber;
15452 const int LayerParameter::kExcludeFieldNumber;
15453 const int LayerParameter::kTransformParamFieldNumber;
15454 const int LayerParameter::kLossParamFieldNumber;
15455 const int LayerParameter::kAccuracyParamFieldNumber;
15456 const int LayerParameter::kArgmaxParamFieldNumber;
15457 const int LayerParameter::kBatchNormParamFieldNumber;
15458 const int LayerParameter::kBiasParamFieldNumber;
15459 const int LayerParameter::kConcatParamFieldNumber;
15460 const int LayerParameter::kContrastiveLossParamFieldNumber;
15461 const int LayerParameter::kConvolutionParamFieldNumber;
15462 const int LayerParameter::kCropParamFieldNumber;
15463 const int LayerParameter::kDataParamFieldNumber;
15464 const int LayerParameter::kDetectionOutputParamFieldNumber;
15465 const int LayerParameter::kDropoutParamFieldNumber;
15466 const int LayerParameter::kDummyDataParamFieldNumber;
15467 const int LayerParameter::kEltwiseParamFieldNumber;
15468 const int LayerParameter::kEluParamFieldNumber;
15469 const int LayerParameter::kEmbedParamFieldNumber;
15470 const int LayerParameter::kExpParamFieldNumber;
15471 const int LayerParameter::kFlattenParamFieldNumber;
15472 const int LayerParameter::kHdf5DataParamFieldNumber;
15473 const int LayerParameter::kHdf5OutputParamFieldNumber;
15474 const int LayerParameter::kHingeLossParamFieldNumber;
15475 const int LayerParameter::kImageDataParamFieldNumber;
15476 const int LayerParameter::kInfogainLossParamFieldNumber;
15477 const int LayerParameter::kInnerProductParamFieldNumber;
15478 const int LayerParameter::kInputParamFieldNumber;
15479 const int LayerParameter::kLogParamFieldNumber;
15480 const int LayerParameter::kLrnParamFieldNumber;
15481 const int LayerParameter::kMemoryDataParamFieldNumber;
15482 const int LayerParameter::kMvnParamFieldNumber;
15483 const int LayerParameter::kNormParamFieldNumber;
15484 const int LayerParameter::kPermuteParamFieldNumber;
15485 const int LayerParameter::kParameterParamFieldNumber;
15486 const int LayerParameter::kPoolingParamFieldNumber;
15487 const int LayerParameter::kPowerParamFieldNumber;
15488 const int LayerParameter::kPreluParamFieldNumber;
15489 const int LayerParameter::kPriorBoxParamFieldNumber;
15490 const int LayerParameter::kProposalParamFieldNumber;
15491 const int LayerParameter::kPythonParamFieldNumber;
15492 const int LayerParameter::kRecurrentParamFieldNumber;
15493 const int LayerParameter::kReductionParamFieldNumber;
15494 const int LayerParameter::kReluParamFieldNumber;
15495 const int LayerParameter::kReshapeParamFieldNumber;
15496 const int LayerParameter::kRoiPoolingParamFieldNumber;
15497 const int LayerParameter::kScaleParamFieldNumber;
15498 const int LayerParameter::kSigmoidParamFieldNumber;
15499 const int LayerParameter::kSoftmaxParamFieldNumber;
15500 const int LayerParameter::kSppParamFieldNumber;
15501 const int LayerParameter::kSliceParamFieldNumber;
15502 const int LayerParameter::kTanhParamFieldNumber;
15503 const int LayerParameter::kThresholdParamFieldNumber;
15504 const int LayerParameter::kTileParamFieldNumber;
15505 const int LayerParameter::kWindowDataParamFieldNumber;
15506 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
15507
15508 LayerParameter::LayerParameter()
15509   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
15510   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
15511   SharedCtor();
15512   // @@protoc_insertion_point(constructor:opencv_caffe.LayerParameter)
15513 }
15514
15515 void LayerParameter::InitAsDefaultInstance() {
15516   transform_param_ = const_cast< ::opencv_caffe::TransformationParameter*>(
15517       ::opencv_caffe::TransformationParameter::internal_default_instance());
15518   loss_param_ = const_cast< ::opencv_caffe::LossParameter*>(
15519       ::opencv_caffe::LossParameter::internal_default_instance());
15520   accuracy_param_ = const_cast< ::opencv_caffe::AccuracyParameter*>(
15521       ::opencv_caffe::AccuracyParameter::internal_default_instance());
15522   argmax_param_ = const_cast< ::opencv_caffe::ArgMaxParameter*>(
15523       ::opencv_caffe::ArgMaxParameter::internal_default_instance());
15524   batch_norm_param_ = const_cast< ::opencv_caffe::BatchNormParameter*>(
15525       ::opencv_caffe::BatchNormParameter::internal_default_instance());
15526   bias_param_ = const_cast< ::opencv_caffe::BiasParameter*>(
15527       ::opencv_caffe::BiasParameter::internal_default_instance());
15528   concat_param_ = const_cast< ::opencv_caffe::ConcatParameter*>(
15529       ::opencv_caffe::ConcatParameter::internal_default_instance());
15530   contrastive_loss_param_ = const_cast< ::opencv_caffe::ContrastiveLossParameter*>(
15531       ::opencv_caffe::ContrastiveLossParameter::internal_default_instance());
15532   convolution_param_ = const_cast< ::opencv_caffe::ConvolutionParameter*>(
15533       ::opencv_caffe::ConvolutionParameter::internal_default_instance());
15534   crop_param_ = const_cast< ::opencv_caffe::CropParameter*>(
15535       ::opencv_caffe::CropParameter::internal_default_instance());
15536   data_param_ = const_cast< ::opencv_caffe::DataParameter*>(
15537       ::opencv_caffe::DataParameter::internal_default_instance());
15538   detection_output_param_ = const_cast< ::opencv_caffe::DetectionOutputParameter*>(
15539       ::opencv_caffe::DetectionOutputParameter::internal_default_instance());
15540   dropout_param_ = const_cast< ::opencv_caffe::DropoutParameter*>(
15541       ::opencv_caffe::DropoutParameter::internal_default_instance());
15542   dummy_data_param_ = const_cast< ::opencv_caffe::DummyDataParameter*>(
15543       ::opencv_caffe::DummyDataParameter::internal_default_instance());
15544   eltwise_param_ = const_cast< ::opencv_caffe::EltwiseParameter*>(
15545       ::opencv_caffe::EltwiseParameter::internal_default_instance());
15546   elu_param_ = const_cast< ::opencv_caffe::ELUParameter*>(
15547       ::opencv_caffe::ELUParameter::internal_default_instance());
15548   embed_param_ = const_cast< ::opencv_caffe::EmbedParameter*>(
15549       ::opencv_caffe::EmbedParameter::internal_default_instance());
15550   exp_param_ = const_cast< ::opencv_caffe::ExpParameter*>(
15551       ::opencv_caffe::ExpParameter::internal_default_instance());
15552   flatten_param_ = const_cast< ::opencv_caffe::FlattenParameter*>(
15553       ::opencv_caffe::FlattenParameter::internal_default_instance());
15554   hdf5_data_param_ = const_cast< ::opencv_caffe::HDF5DataParameter*>(
15555       ::opencv_caffe::HDF5DataParameter::internal_default_instance());
15556   hdf5_output_param_ = const_cast< ::opencv_caffe::HDF5OutputParameter*>(
15557       ::opencv_caffe::HDF5OutputParameter::internal_default_instance());
15558   hinge_loss_param_ = const_cast< ::opencv_caffe::HingeLossParameter*>(
15559       ::opencv_caffe::HingeLossParameter::internal_default_instance());
15560   image_data_param_ = const_cast< ::opencv_caffe::ImageDataParameter*>(
15561       ::opencv_caffe::ImageDataParameter::internal_default_instance());
15562   infogain_loss_param_ = const_cast< ::opencv_caffe::InfogainLossParameter*>(
15563       ::opencv_caffe::InfogainLossParameter::internal_default_instance());
15564   inner_product_param_ = const_cast< ::opencv_caffe::InnerProductParameter*>(
15565       ::opencv_caffe::InnerProductParameter::internal_default_instance());
15566   input_param_ = const_cast< ::opencv_caffe::InputParameter*>(
15567       ::opencv_caffe::InputParameter::internal_default_instance());
15568   log_param_ = const_cast< ::opencv_caffe::LogParameter*>(
15569       ::opencv_caffe::LogParameter::internal_default_instance());
15570   lrn_param_ = const_cast< ::opencv_caffe::LRNParameter*>(
15571       ::opencv_caffe::LRNParameter::internal_default_instance());
15572   memory_data_param_ = const_cast< ::opencv_caffe::MemoryDataParameter*>(
15573       ::opencv_caffe::MemoryDataParameter::internal_default_instance());
15574   mvn_param_ = const_cast< ::opencv_caffe::MVNParameter*>(
15575       ::opencv_caffe::MVNParameter::internal_default_instance());
15576   norm_param_ = const_cast< ::opencv_caffe::NormalizeBBoxParameter*>(
15577       ::opencv_caffe::NormalizeBBoxParameter::internal_default_instance());
15578   permute_param_ = const_cast< ::opencv_caffe::PermuteParameter*>(
15579       ::opencv_caffe::PermuteParameter::internal_default_instance());
15580   parameter_param_ = const_cast< ::opencv_caffe::ParameterParameter*>(
15581       ::opencv_caffe::ParameterParameter::internal_default_instance());
15582   pooling_param_ = const_cast< ::opencv_caffe::PoolingParameter*>(
15583       ::opencv_caffe::PoolingParameter::internal_default_instance());
15584   power_param_ = const_cast< ::opencv_caffe::PowerParameter*>(
15585       ::opencv_caffe::PowerParameter::internal_default_instance());
15586   prelu_param_ = const_cast< ::opencv_caffe::PReLUParameter*>(
15587       ::opencv_caffe::PReLUParameter::internal_default_instance());
15588   prior_box_param_ = const_cast< ::opencv_caffe::PriorBoxParameter*>(
15589       ::opencv_caffe::PriorBoxParameter::internal_default_instance());
15590   proposal_param_ = const_cast< ::opencv_caffe::ProposalParameter*>(
15591       ::opencv_caffe::ProposalParameter::internal_default_instance());
15592   python_param_ = const_cast< ::opencv_caffe::PythonParameter*>(
15593       ::opencv_caffe::PythonParameter::internal_default_instance());
15594   recurrent_param_ = const_cast< ::opencv_caffe::RecurrentParameter*>(
15595       ::opencv_caffe::RecurrentParameter::internal_default_instance());
15596   reduction_param_ = const_cast< ::opencv_caffe::ReductionParameter*>(
15597       ::opencv_caffe::ReductionParameter::internal_default_instance());
15598   relu_param_ = const_cast< ::opencv_caffe::ReLUParameter*>(
15599       ::opencv_caffe::ReLUParameter::internal_default_instance());
15600   reshape_param_ = const_cast< ::opencv_caffe::ReshapeParameter*>(
15601       ::opencv_caffe::ReshapeParameter::internal_default_instance());
15602   roi_pooling_param_ = const_cast< ::opencv_caffe::ROIPoolingParameter*>(
15603       ::opencv_caffe::ROIPoolingParameter::internal_default_instance());
15604   scale_param_ = const_cast< ::opencv_caffe::ScaleParameter*>(
15605       ::opencv_caffe::ScaleParameter::internal_default_instance());
15606   sigmoid_param_ = const_cast< ::opencv_caffe::SigmoidParameter*>(
15607       ::opencv_caffe::SigmoidParameter::internal_default_instance());
15608   softmax_param_ = const_cast< ::opencv_caffe::SoftmaxParameter*>(
15609       ::opencv_caffe::SoftmaxParameter::internal_default_instance());
15610   spp_param_ = const_cast< ::opencv_caffe::SPPParameter*>(
15611       ::opencv_caffe::SPPParameter::internal_default_instance());
15612   slice_param_ = const_cast< ::opencv_caffe::SliceParameter*>(
15613       ::opencv_caffe::SliceParameter::internal_default_instance());
15614   tanh_param_ = const_cast< ::opencv_caffe::TanHParameter*>(
15615       ::opencv_caffe::TanHParameter::internal_default_instance());
15616   threshold_param_ = const_cast< ::opencv_caffe::ThresholdParameter*>(
15617       ::opencv_caffe::ThresholdParameter::internal_default_instance());
15618   tile_param_ = const_cast< ::opencv_caffe::TileParameter*>(
15619       ::opencv_caffe::TileParameter::internal_default_instance());
15620   window_data_param_ = const_cast< ::opencv_caffe::WindowDataParameter*>(
15621       ::opencv_caffe::WindowDataParameter::internal_default_instance());
15622 }
15623
15624 LayerParameter::LayerParameter(const LayerParameter& from)
15625   : ::google::protobuf::Message(),
15626     _internal_metadata_(NULL) {
15627   SharedCtor();
15628   UnsafeMergeFrom(from);
15629   // @@protoc_insertion_point(copy_constructor:opencv_caffe.LayerParameter)
15630 }
15631
15632 void LayerParameter::SharedCtor() {
15633   name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15634   type_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15635   transform_param_ = NULL;
15636   loss_param_ = NULL;
15637   accuracy_param_ = NULL;
15638   argmax_param_ = NULL;
15639   batch_norm_param_ = NULL;
15640   bias_param_ = NULL;
15641   concat_param_ = NULL;
15642   contrastive_loss_param_ = NULL;
15643   convolution_param_ = NULL;
15644   crop_param_ = NULL;
15645   data_param_ = NULL;
15646   detection_output_param_ = NULL;
15647   dropout_param_ = NULL;
15648   dummy_data_param_ = NULL;
15649   eltwise_param_ = NULL;
15650   elu_param_ = NULL;
15651   embed_param_ = NULL;
15652   exp_param_ = NULL;
15653   flatten_param_ = NULL;
15654   hdf5_data_param_ = NULL;
15655   hdf5_output_param_ = NULL;
15656   hinge_loss_param_ = NULL;
15657   image_data_param_ = NULL;
15658   infogain_loss_param_ = NULL;
15659   inner_product_param_ = NULL;
15660   input_param_ = NULL;
15661   log_param_ = NULL;
15662   lrn_param_ = NULL;
15663   memory_data_param_ = NULL;
15664   mvn_param_ = NULL;
15665   norm_param_ = NULL;
15666   permute_param_ = NULL;
15667   parameter_param_ = NULL;
15668   pooling_param_ = NULL;
15669   power_param_ = NULL;
15670   prelu_param_ = NULL;
15671   prior_box_param_ = NULL;
15672   proposal_param_ = NULL;
15673   python_param_ = NULL;
15674   recurrent_param_ = NULL;
15675   reduction_param_ = NULL;
15676   relu_param_ = NULL;
15677   reshape_param_ = NULL;
15678   roi_pooling_param_ = NULL;
15679   scale_param_ = NULL;
15680   sigmoid_param_ = NULL;
15681   softmax_param_ = NULL;
15682   spp_param_ = NULL;
15683   slice_param_ = NULL;
15684   tanh_param_ = NULL;
15685   threshold_param_ = NULL;
15686   tile_param_ = NULL;
15687   window_data_param_ = NULL;
15688   phase_ = 0;
15689   _cached_size_ = 0;
15690 }
15691
15692 LayerParameter::~LayerParameter() {
15693   // @@protoc_insertion_point(destructor:opencv_caffe.LayerParameter)
15694   SharedDtor();
15695 }
15696
15697 void LayerParameter::SharedDtor() {
15698   name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15699   type_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15700   if (this != &LayerParameter_default_instance_.get()) {
15701     delete transform_param_;
15702     delete loss_param_;
15703     delete accuracy_param_;
15704     delete argmax_param_;
15705     delete batch_norm_param_;
15706     delete bias_param_;
15707     delete concat_param_;
15708     delete contrastive_loss_param_;
15709     delete convolution_param_;
15710     delete crop_param_;
15711     delete data_param_;
15712     delete detection_output_param_;
15713     delete dropout_param_;
15714     delete dummy_data_param_;
15715     delete eltwise_param_;
15716     delete elu_param_;
15717     delete embed_param_;
15718     delete exp_param_;
15719     delete flatten_param_;
15720     delete hdf5_data_param_;
15721     delete hdf5_output_param_;
15722     delete hinge_loss_param_;
15723     delete image_data_param_;
15724     delete infogain_loss_param_;
15725     delete inner_product_param_;
15726     delete input_param_;
15727     delete log_param_;
15728     delete lrn_param_;
15729     delete memory_data_param_;
15730     delete mvn_param_;
15731     delete norm_param_;
15732     delete permute_param_;
15733     delete parameter_param_;
15734     delete pooling_param_;
15735     delete power_param_;
15736     delete prelu_param_;
15737     delete prior_box_param_;
15738     delete proposal_param_;
15739     delete python_param_;
15740     delete recurrent_param_;
15741     delete reduction_param_;
15742     delete relu_param_;
15743     delete reshape_param_;
15744     delete roi_pooling_param_;
15745     delete scale_param_;
15746     delete sigmoid_param_;
15747     delete softmax_param_;
15748     delete spp_param_;
15749     delete slice_param_;
15750     delete tanh_param_;
15751     delete threshold_param_;
15752     delete tile_param_;
15753     delete window_data_param_;
15754   }
15755 }
15756
15757 void LayerParameter::SetCachedSize(int size) const {
15758   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
15759   _cached_size_ = size;
15760   GOOGLE_SAFE_CONCURRENT_WRITES_END();
15761 }
15762 const ::google::protobuf::Descriptor* LayerParameter::descriptor() {
15763   protobuf_AssignDescriptorsOnce();
15764   return LayerParameter_descriptor_;
15765 }
15766
15767 const LayerParameter& LayerParameter::default_instance() {
15768   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
15769   return *internal_default_instance();
15770 }
15771
15772 ::google::protobuf::internal::ExplicitlyConstructed<LayerParameter> LayerParameter_default_instance_;
15773
15774 LayerParameter* LayerParameter::New(::google::protobuf::Arena* arena) const {
15775   LayerParameter* n = new LayerParameter;
15776   if (arena != NULL) {
15777     arena->Own(n);
15778   }
15779   return n;
15780 }
15781
15782 void LayerParameter::Clear() {
15783 // @@protoc_insertion_point(message_clear_start:opencv_caffe.LayerParameter)
15784   if (_has_bits_[0 / 32] & 19u) {
15785     if (has_name()) {
15786       name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15787     }
15788     if (has_type()) {
15789       type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15790     }
15791     phase_ = 0;
15792   }
15793   if (_has_bits_[8 / 32] & 63488u) {
15794     if (has_transform_param()) {
15795       if (transform_param_ != NULL) transform_param_->::opencv_caffe::TransformationParameter::Clear();
15796     }
15797     if (has_loss_param()) {
15798       if (loss_param_ != NULL) loss_param_->::opencv_caffe::LossParameter::Clear();
15799     }
15800     if (has_accuracy_param()) {
15801       if (accuracy_param_ != NULL) accuracy_param_->::opencv_caffe::AccuracyParameter::Clear();
15802     }
15803     if (has_argmax_param()) {
15804       if (argmax_param_ != NULL) argmax_param_->::opencv_caffe::ArgMaxParameter::Clear();
15805     }
15806     if (has_batch_norm_param()) {
15807       if (batch_norm_param_ != NULL) batch_norm_param_->::opencv_caffe::BatchNormParameter::Clear();
15808     }
15809   }
15810   if (_has_bits_[16 / 32] & 16711680u) {
15811     if (has_bias_param()) {
15812       if (bias_param_ != NULL) bias_param_->::opencv_caffe::BiasParameter::Clear();
15813     }
15814     if (has_concat_param()) {
15815       if (concat_param_ != NULL) concat_param_->::opencv_caffe::ConcatParameter::Clear();
15816     }
15817     if (has_contrastive_loss_param()) {
15818       if (contrastive_loss_param_ != NULL) contrastive_loss_param_->::opencv_caffe::ContrastiveLossParameter::Clear();
15819     }
15820     if (has_convolution_param()) {
15821       if (convolution_param_ != NULL) convolution_param_->::opencv_caffe::ConvolutionParameter::Clear();
15822     }
15823     if (has_crop_param()) {
15824       if (crop_param_ != NULL) crop_param_->::opencv_caffe::CropParameter::Clear();
15825     }
15826     if (has_data_param()) {
15827       if (data_param_ != NULL) data_param_->::opencv_caffe::DataParameter::Clear();
15828     }
15829     if (has_detection_output_param()) {
15830       if (detection_output_param_ != NULL) detection_output_param_->::opencv_caffe::DetectionOutputParameter::Clear();
15831     }
15832     if (has_dropout_param()) {
15833       if (dropout_param_ != NULL) dropout_param_->::opencv_caffe::DropoutParameter::Clear();
15834     }
15835   }
15836   if (_has_bits_[24 / 32] & 4278190080u) {
15837     if (has_dummy_data_param()) {
15838       if (dummy_data_param_ != NULL) dummy_data_param_->::opencv_caffe::DummyDataParameter::Clear();
15839     }
15840     if (has_eltwise_param()) {
15841       if (eltwise_param_ != NULL) eltwise_param_->::opencv_caffe::EltwiseParameter::Clear();
15842     }
15843     if (has_elu_param()) {
15844       if (elu_param_ != NULL) elu_param_->::opencv_caffe::ELUParameter::Clear();
15845     }
15846     if (has_embed_param()) {
15847       if (embed_param_ != NULL) embed_param_->::opencv_caffe::EmbedParameter::Clear();
15848     }
15849     if (has_exp_param()) {
15850       if (exp_param_ != NULL) exp_param_->::opencv_caffe::ExpParameter::Clear();
15851     }
15852     if (has_flatten_param()) {
15853       if (flatten_param_ != NULL) flatten_param_->::opencv_caffe::FlattenParameter::Clear();
15854     }
15855     if (has_hdf5_data_param()) {
15856       if (hdf5_data_param_ != NULL) hdf5_data_param_->::opencv_caffe::HDF5DataParameter::Clear();
15857     }
15858     if (has_hdf5_output_param()) {
15859       if (hdf5_output_param_ != NULL) hdf5_output_param_->::opencv_caffe::HDF5OutputParameter::Clear();
15860     }
15861   }
15862   if (_has_bits_[32 / 32] & 255u) {
15863     if (has_hinge_loss_param()) {
15864       if (hinge_loss_param_ != NULL) hinge_loss_param_->::opencv_caffe::HingeLossParameter::Clear();
15865     }
15866     if (has_image_data_param()) {
15867       if (image_data_param_ != NULL) image_data_param_->::opencv_caffe::ImageDataParameter::Clear();
15868     }
15869     if (has_infogain_loss_param()) {
15870       if (infogain_loss_param_ != NULL) infogain_loss_param_->::opencv_caffe::InfogainLossParameter::Clear();
15871     }
15872     if (has_inner_product_param()) {
15873       if (inner_product_param_ != NULL) inner_product_param_->::opencv_caffe::InnerProductParameter::Clear();
15874     }
15875     if (has_input_param()) {
15876       if (input_param_ != NULL) input_param_->::opencv_caffe::InputParameter::Clear();
15877     }
15878     if (has_log_param()) {
15879       if (log_param_ != NULL) log_param_->::opencv_caffe::LogParameter::Clear();
15880     }
15881     if (has_lrn_param()) {
15882       if (lrn_param_ != NULL) lrn_param_->::opencv_caffe::LRNParameter::Clear();
15883     }
15884     if (has_memory_data_param()) {
15885       if (memory_data_param_ != NULL) memory_data_param_->::opencv_caffe::MemoryDataParameter::Clear();
15886     }
15887   }
15888   if (_has_bits_[40 / 32] & 65280u) {
15889     if (has_mvn_param()) {
15890       if (mvn_param_ != NULL) mvn_param_->::opencv_caffe::MVNParameter::Clear();
15891     }
15892     if (has_norm_param()) {
15893       if (norm_param_ != NULL) norm_param_->::opencv_caffe::NormalizeBBoxParameter::Clear();
15894     }
15895     if (has_permute_param()) {
15896       if (permute_param_ != NULL) permute_param_->::opencv_caffe::PermuteParameter::Clear();
15897     }
15898     if (has_parameter_param()) {
15899       if (parameter_param_ != NULL) parameter_param_->::opencv_caffe::ParameterParameter::Clear();
15900     }
15901     if (has_pooling_param()) {
15902       if (pooling_param_ != NULL) pooling_param_->::opencv_caffe::PoolingParameter::Clear();
15903     }
15904     if (has_power_param()) {
15905       if (power_param_ != NULL) power_param_->::opencv_caffe::PowerParameter::Clear();
15906     }
15907     if (has_prelu_param()) {
15908       if (prelu_param_ != NULL) prelu_param_->::opencv_caffe::PReLUParameter::Clear();
15909     }
15910     if (has_prior_box_param()) {
15911       if (prior_box_param_ != NULL) prior_box_param_->::opencv_caffe::PriorBoxParameter::Clear();
15912     }
15913   }
15914   if (_has_bits_[48 / 32] & 16711680u) {
15915     if (has_proposal_param()) {
15916       if (proposal_param_ != NULL) proposal_param_->::opencv_caffe::ProposalParameter::Clear();
15917     }
15918     if (has_python_param()) {
15919       if (python_param_ != NULL) python_param_->::opencv_caffe::PythonParameter::Clear();
15920     }
15921     if (has_recurrent_param()) {
15922       if (recurrent_param_ != NULL) recurrent_param_->::opencv_caffe::RecurrentParameter::Clear();
15923     }
15924     if (has_reduction_param()) {
15925       if (reduction_param_ != NULL) reduction_param_->::opencv_caffe::ReductionParameter::Clear();
15926     }
15927     if (has_relu_param()) {
15928       if (relu_param_ != NULL) relu_param_->::opencv_caffe::ReLUParameter::Clear();
15929     }
15930     if (has_reshape_param()) {
15931       if (reshape_param_ != NULL) reshape_param_->::opencv_caffe::ReshapeParameter::Clear();
15932     }
15933     if (has_roi_pooling_param()) {
15934       if (roi_pooling_param_ != NULL) roi_pooling_param_->::opencv_caffe::ROIPoolingParameter::Clear();
15935     }
15936     if (has_scale_param()) {
15937       if (scale_param_ != NULL) scale_param_->::opencv_caffe::ScaleParameter::Clear();
15938     }
15939   }
15940   if (_has_bits_[56 / 32] & 4278190080u) {
15941     if (has_sigmoid_param()) {
15942       if (sigmoid_param_ != NULL) sigmoid_param_->::opencv_caffe::SigmoidParameter::Clear();
15943     }
15944     if (has_softmax_param()) {
15945       if (softmax_param_ != NULL) softmax_param_->::opencv_caffe::SoftmaxParameter::Clear();
15946     }
15947     if (has_spp_param()) {
15948       if (spp_param_ != NULL) spp_param_->::opencv_caffe::SPPParameter::Clear();
15949     }
15950     if (has_slice_param()) {
15951       if (slice_param_ != NULL) slice_param_->::opencv_caffe::SliceParameter::Clear();
15952     }
15953     if (has_tanh_param()) {
15954       if (tanh_param_ != NULL) tanh_param_->::opencv_caffe::TanHParameter::Clear();
15955     }
15956     if (has_threshold_param()) {
15957       if (threshold_param_ != NULL) threshold_param_->::opencv_caffe::ThresholdParameter::Clear();
15958     }
15959     if (has_tile_param()) {
15960       if (tile_param_ != NULL) tile_param_->::opencv_caffe::TileParameter::Clear();
15961     }
15962     if (has_window_data_param()) {
15963       if (window_data_param_ != NULL) window_data_param_->::opencv_caffe::WindowDataParameter::Clear();
15964     }
15965   }
15966   bottom_.Clear();
15967   top_.Clear();
15968   loss_weight_.Clear();
15969   param_.Clear();
15970   blobs_.Clear();
15971   propagate_down_.Clear();
15972   include_.Clear();
15973   exclude_.Clear();
15974   _has_bits_.Clear();
15975   if (_internal_metadata_.have_unknown_fields()) {
15976     mutable_unknown_fields()->Clear();
15977   }
15978 }
15979
15980 bool LayerParameter::MergePartialFromCodedStream(
15981     ::google::protobuf::io::CodedInputStream* input) {
15982 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
15983   ::google::protobuf::uint32 tag;
15984   // @@protoc_insertion_point(parse_start:opencv_caffe.LayerParameter)
15985   for (;;) {
15986     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(66133690);
15987     tag = p.first;
15988     if (!p.second) goto handle_unusual;
15989     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
15990       // optional string name = 1;
15991       case 1: {
15992         if (tag == 10) {
15993           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
15994                 input, this->mutable_name()));
15995           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
15996             this->name().data(), this->name().length(),
15997             ::google::protobuf::internal::WireFormat::PARSE,
15998             "opencv_caffe.LayerParameter.name");
15999         } else {
16000           goto handle_unusual;
16001         }
16002         if (input->ExpectTag(18)) goto parse_type;
16003         break;
16004       }
16005
16006       // optional string type = 2;
16007       case 2: {
16008         if (tag == 18) {
16009          parse_type:
16010           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
16011                 input, this->mutable_type()));
16012           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
16013             this->type().data(), this->type().length(),
16014             ::google::protobuf::internal::WireFormat::PARSE,
16015             "opencv_caffe.LayerParameter.type");
16016         } else {
16017           goto handle_unusual;
16018         }
16019         if (input->ExpectTag(26)) goto parse_bottom;
16020         break;
16021       }
16022
16023       // repeated string bottom = 3;
16024       case 3: {
16025         if (tag == 26) {
16026          parse_bottom:
16027           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
16028                 input, this->add_bottom()));
16029           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
16030             this->bottom(this->bottom_size() - 1).data(),
16031             this->bottom(this->bottom_size() - 1).length(),
16032             ::google::protobuf::internal::WireFormat::PARSE,
16033             "opencv_caffe.LayerParameter.bottom");
16034         } else {
16035           goto handle_unusual;
16036         }
16037         if (input->ExpectTag(26)) goto parse_bottom;
16038         if (input->ExpectTag(34)) goto parse_top;
16039         break;
16040       }
16041
16042       // repeated string top = 4;
16043       case 4: {
16044         if (tag == 34) {
16045          parse_top:
16046           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
16047                 input, this->add_top()));
16048           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
16049             this->top(this->top_size() - 1).data(),
16050             this->top(this->top_size() - 1).length(),
16051             ::google::protobuf::internal::WireFormat::PARSE,
16052             "opencv_caffe.LayerParameter.top");
16053         } else {
16054           goto handle_unusual;
16055         }
16056         if (input->ExpectTag(34)) goto parse_top;
16057         if (input->ExpectTag(45)) goto parse_loss_weight;
16058         break;
16059       }
16060
16061       // repeated float loss_weight = 5;
16062       case 5: {
16063         if (tag == 45) {
16064          parse_loss_weight:
16065           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
16066                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
16067                  1, 45, input, this->mutable_loss_weight())));
16068         } else if (tag == 42) {
16069           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
16070                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
16071                  input, this->mutable_loss_weight())));
16072         } else {
16073           goto handle_unusual;
16074         }
16075         if (input->ExpectTag(45)) goto parse_loss_weight;
16076         if (input->ExpectTag(50)) goto parse_param;
16077         break;
16078       }
16079
16080       // repeated .opencv_caffe.ParamSpec param = 6;
16081       case 6: {
16082         if (tag == 50) {
16083          parse_param:
16084           DO_(input->IncrementRecursionDepth());
16085          parse_loop_param:
16086           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
16087                 input, add_param()));
16088         } else {
16089           goto handle_unusual;
16090         }
16091         if (input->ExpectTag(50)) goto parse_loop_param;
16092         if (input->ExpectTag(58)) goto parse_loop_blobs;
16093         input->UnsafeDecrementRecursionDepth();
16094         break;
16095       }
16096
16097       // repeated .opencv_caffe.BlobProto blobs = 7;
16098       case 7: {
16099         if (tag == 58) {
16100           DO_(input->IncrementRecursionDepth());
16101          parse_loop_blobs:
16102           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
16103                 input, add_blobs()));
16104         } else {
16105           goto handle_unusual;
16106         }
16107         if (input->ExpectTag(58)) goto parse_loop_blobs;
16108         if (input->ExpectTag(66)) goto parse_loop_include;
16109         input->UnsafeDecrementRecursionDepth();
16110         break;
16111       }
16112
16113       // repeated .opencv_caffe.NetStateRule include = 8;
16114       case 8: {
16115         if (tag == 66) {
16116           DO_(input->IncrementRecursionDepth());
16117          parse_loop_include:
16118           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
16119                 input, add_include()));
16120         } else {
16121           goto handle_unusual;
16122         }
16123         if (input->ExpectTag(66)) goto parse_loop_include;
16124         if (input->ExpectTag(74)) goto parse_loop_exclude;
16125         input->UnsafeDecrementRecursionDepth();
16126         break;
16127       }
16128
16129       // repeated .opencv_caffe.NetStateRule exclude = 9;
16130       case 9: {
16131         if (tag == 74) {
16132           DO_(input->IncrementRecursionDepth());
16133          parse_loop_exclude:
16134           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
16135                 input, add_exclude()));
16136         } else {
16137           goto handle_unusual;
16138         }
16139         if (input->ExpectTag(74)) goto parse_loop_exclude;
16140         input->UnsafeDecrementRecursionDepth();
16141         if (input->ExpectTag(80)) goto parse_phase;
16142         break;
16143       }
16144
16145       // optional .opencv_caffe.Phase phase = 10;
16146       case 10: {
16147         if (tag == 80) {
16148          parse_phase:
16149           int value;
16150           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
16151                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
16152                  input, &value)));
16153           if (::opencv_caffe::Phase_IsValid(value)) {
16154             set_phase(static_cast< ::opencv_caffe::Phase >(value));
16155           } else {
16156             mutable_unknown_fields()->AddVarint(10, value);
16157           }
16158         } else {
16159           goto handle_unusual;
16160         }
16161         if (input->ExpectTag(88)) goto parse_propagate_down;
16162         break;
16163       }
16164
16165       // repeated bool propagate_down = 11;
16166       case 11: {
16167         if (tag == 88) {
16168          parse_propagate_down:
16169           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
16170                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
16171                  1, 88, input, this->mutable_propagate_down())));
16172         } else if (tag == 90) {
16173           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
16174                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
16175                  input, this->mutable_propagate_down())));
16176         } else {
16177           goto handle_unusual;
16178         }
16179         if (input->ExpectTag(88)) goto parse_propagate_down;
16180         if (input->ExpectTag(802)) goto parse_transform_param;
16181         break;
16182       }
16183
16184       // optional .opencv_caffe.TransformationParameter transform_param = 100;
16185       case 100: {
16186         if (tag == 802) {
16187          parse_transform_param:
16188           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16189                input, mutable_transform_param()));
16190         } else {
16191           goto handle_unusual;
16192         }
16193         if (input->ExpectTag(810)) goto parse_loss_param;
16194         break;
16195       }
16196
16197       // optional .opencv_caffe.LossParameter loss_param = 101;
16198       case 101: {
16199         if (tag == 810) {
16200          parse_loss_param:
16201           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16202                input, mutable_loss_param()));
16203         } else {
16204           goto handle_unusual;
16205         }
16206         if (input->ExpectTag(818)) goto parse_accuracy_param;
16207         break;
16208       }
16209
16210       // optional .opencv_caffe.AccuracyParameter accuracy_param = 102;
16211       case 102: {
16212         if (tag == 818) {
16213          parse_accuracy_param:
16214           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16215                input, mutable_accuracy_param()));
16216         } else {
16217           goto handle_unusual;
16218         }
16219         if (input->ExpectTag(826)) goto parse_argmax_param;
16220         break;
16221       }
16222
16223       // optional .opencv_caffe.ArgMaxParameter argmax_param = 103;
16224       case 103: {
16225         if (tag == 826) {
16226          parse_argmax_param:
16227           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16228                input, mutable_argmax_param()));
16229         } else {
16230           goto handle_unusual;
16231         }
16232         if (input->ExpectTag(834)) goto parse_concat_param;
16233         break;
16234       }
16235
16236       // optional .opencv_caffe.ConcatParameter concat_param = 104;
16237       case 104: {
16238         if (tag == 834) {
16239          parse_concat_param:
16240           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16241                input, mutable_concat_param()));
16242         } else {
16243           goto handle_unusual;
16244         }
16245         if (input->ExpectTag(842)) goto parse_contrastive_loss_param;
16246         break;
16247       }
16248
16249       // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 105;
16250       case 105: {
16251         if (tag == 842) {
16252          parse_contrastive_loss_param:
16253           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16254                input, mutable_contrastive_loss_param()));
16255         } else {
16256           goto handle_unusual;
16257         }
16258         if (input->ExpectTag(850)) goto parse_convolution_param;
16259         break;
16260       }
16261
16262       // optional .opencv_caffe.ConvolutionParameter convolution_param = 106;
16263       case 106: {
16264         if (tag == 850) {
16265          parse_convolution_param:
16266           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16267                input, mutable_convolution_param()));
16268         } else {
16269           goto handle_unusual;
16270         }
16271         if (input->ExpectTag(858)) goto parse_data_param;
16272         break;
16273       }
16274
16275       // optional .opencv_caffe.DataParameter data_param = 107;
16276       case 107: {
16277         if (tag == 858) {
16278          parse_data_param:
16279           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16280                input, mutable_data_param()));
16281         } else {
16282           goto handle_unusual;
16283         }
16284         if (input->ExpectTag(866)) goto parse_dropout_param;
16285         break;
16286       }
16287
16288       // optional .opencv_caffe.DropoutParameter dropout_param = 108;
16289       case 108: {
16290         if (tag == 866) {
16291          parse_dropout_param:
16292           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16293                input, mutable_dropout_param()));
16294         } else {
16295           goto handle_unusual;
16296         }
16297         if (input->ExpectTag(874)) goto parse_dummy_data_param;
16298         break;
16299       }
16300
16301       // optional .opencv_caffe.DummyDataParameter dummy_data_param = 109;
16302       case 109: {
16303         if (tag == 874) {
16304          parse_dummy_data_param:
16305           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16306                input, mutable_dummy_data_param()));
16307         } else {
16308           goto handle_unusual;
16309         }
16310         if (input->ExpectTag(882)) goto parse_eltwise_param;
16311         break;
16312       }
16313
16314       // optional .opencv_caffe.EltwiseParameter eltwise_param = 110;
16315       case 110: {
16316         if (tag == 882) {
16317          parse_eltwise_param:
16318           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16319                input, mutable_eltwise_param()));
16320         } else {
16321           goto handle_unusual;
16322         }
16323         if (input->ExpectTag(890)) goto parse_exp_param;
16324         break;
16325       }
16326
16327       // optional .opencv_caffe.ExpParameter exp_param = 111;
16328       case 111: {
16329         if (tag == 890) {
16330          parse_exp_param:
16331           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16332                input, mutable_exp_param()));
16333         } else {
16334           goto handle_unusual;
16335         }
16336         if (input->ExpectTag(898)) goto parse_hdf5_data_param;
16337         break;
16338       }
16339
16340       // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 112;
16341       case 112: {
16342         if (tag == 898) {
16343          parse_hdf5_data_param:
16344           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16345                input, mutable_hdf5_data_param()));
16346         } else {
16347           goto handle_unusual;
16348         }
16349         if (input->ExpectTag(906)) goto parse_hdf5_output_param;
16350         break;
16351       }
16352
16353       // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 113;
16354       case 113: {
16355         if (tag == 906) {
16356          parse_hdf5_output_param:
16357           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16358                input, mutable_hdf5_output_param()));
16359         } else {
16360           goto handle_unusual;
16361         }
16362         if (input->ExpectTag(914)) goto parse_hinge_loss_param;
16363         break;
16364       }
16365
16366       // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 114;
16367       case 114: {
16368         if (tag == 914) {
16369          parse_hinge_loss_param:
16370           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16371                input, mutable_hinge_loss_param()));
16372         } else {
16373           goto handle_unusual;
16374         }
16375         if (input->ExpectTag(922)) goto parse_image_data_param;
16376         break;
16377       }
16378
16379       // optional .opencv_caffe.ImageDataParameter image_data_param = 115;
16380       case 115: {
16381         if (tag == 922) {
16382          parse_image_data_param:
16383           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16384                input, mutable_image_data_param()));
16385         } else {
16386           goto handle_unusual;
16387         }
16388         if (input->ExpectTag(930)) goto parse_infogain_loss_param;
16389         break;
16390       }
16391
16392       // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 116;
16393       case 116: {
16394         if (tag == 930) {
16395          parse_infogain_loss_param:
16396           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16397                input, mutable_infogain_loss_param()));
16398         } else {
16399           goto handle_unusual;
16400         }
16401         if (input->ExpectTag(938)) goto parse_inner_product_param;
16402         break;
16403       }
16404
16405       // optional .opencv_caffe.InnerProductParameter inner_product_param = 117;
16406       case 117: {
16407         if (tag == 938) {
16408          parse_inner_product_param:
16409           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16410                input, mutable_inner_product_param()));
16411         } else {
16412           goto handle_unusual;
16413         }
16414         if (input->ExpectTag(946)) goto parse_lrn_param;
16415         break;
16416       }
16417
16418       // optional .opencv_caffe.LRNParameter lrn_param = 118;
16419       case 118: {
16420         if (tag == 946) {
16421          parse_lrn_param:
16422           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16423                input, mutable_lrn_param()));
16424         } else {
16425           goto handle_unusual;
16426         }
16427         if (input->ExpectTag(954)) goto parse_memory_data_param;
16428         break;
16429       }
16430
16431       // optional .opencv_caffe.MemoryDataParameter memory_data_param = 119;
16432       case 119: {
16433         if (tag == 954) {
16434          parse_memory_data_param:
16435           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16436                input, mutable_memory_data_param()));
16437         } else {
16438           goto handle_unusual;
16439         }
16440         if (input->ExpectTag(962)) goto parse_mvn_param;
16441         break;
16442       }
16443
16444       // optional .opencv_caffe.MVNParameter mvn_param = 120;
16445       case 120: {
16446         if (tag == 962) {
16447          parse_mvn_param:
16448           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16449                input, mutable_mvn_param()));
16450         } else {
16451           goto handle_unusual;
16452         }
16453         if (input->ExpectTag(970)) goto parse_pooling_param;
16454         break;
16455       }
16456
16457       // optional .opencv_caffe.PoolingParameter pooling_param = 121;
16458       case 121: {
16459         if (tag == 970) {
16460          parse_pooling_param:
16461           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16462                input, mutable_pooling_param()));
16463         } else {
16464           goto handle_unusual;
16465         }
16466         if (input->ExpectTag(978)) goto parse_power_param;
16467         break;
16468       }
16469
16470       // optional .opencv_caffe.PowerParameter power_param = 122;
16471       case 122: {
16472         if (tag == 978) {
16473          parse_power_param:
16474           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16475                input, mutable_power_param()));
16476         } else {
16477           goto handle_unusual;
16478         }
16479         if (input->ExpectTag(986)) goto parse_relu_param;
16480         break;
16481       }
16482
16483       // optional .opencv_caffe.ReLUParameter relu_param = 123;
16484       case 123: {
16485         if (tag == 986) {
16486          parse_relu_param:
16487           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16488                input, mutable_relu_param()));
16489         } else {
16490           goto handle_unusual;
16491         }
16492         if (input->ExpectTag(994)) goto parse_sigmoid_param;
16493         break;
16494       }
16495
16496       // optional .opencv_caffe.SigmoidParameter sigmoid_param = 124;
16497       case 124: {
16498         if (tag == 994) {
16499          parse_sigmoid_param:
16500           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16501                input, mutable_sigmoid_param()));
16502         } else {
16503           goto handle_unusual;
16504         }
16505         if (input->ExpectTag(1002)) goto parse_softmax_param;
16506         break;
16507       }
16508
16509       // optional .opencv_caffe.SoftmaxParameter softmax_param = 125;
16510       case 125: {
16511         if (tag == 1002) {
16512          parse_softmax_param:
16513           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16514                input, mutable_softmax_param()));
16515         } else {
16516           goto handle_unusual;
16517         }
16518         if (input->ExpectTag(1010)) goto parse_slice_param;
16519         break;
16520       }
16521
16522       // optional .opencv_caffe.SliceParameter slice_param = 126;
16523       case 126: {
16524         if (tag == 1010) {
16525          parse_slice_param:
16526           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16527                input, mutable_slice_param()));
16528         } else {
16529           goto handle_unusual;
16530         }
16531         if (input->ExpectTag(1018)) goto parse_tanh_param;
16532         break;
16533       }
16534
16535       // optional .opencv_caffe.TanHParameter tanh_param = 127;
16536       case 127: {
16537         if (tag == 1018) {
16538          parse_tanh_param:
16539           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16540                input, mutable_tanh_param()));
16541         } else {
16542           goto handle_unusual;
16543         }
16544         if (input->ExpectTag(1026)) goto parse_threshold_param;
16545         break;
16546       }
16547
16548       // optional .opencv_caffe.ThresholdParameter threshold_param = 128;
16549       case 128: {
16550         if (tag == 1026) {
16551          parse_threshold_param:
16552           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16553                input, mutable_threshold_param()));
16554         } else {
16555           goto handle_unusual;
16556         }
16557         if (input->ExpectTag(1034)) goto parse_window_data_param;
16558         break;
16559       }
16560
16561       // optional .opencv_caffe.WindowDataParameter window_data_param = 129;
16562       case 129: {
16563         if (tag == 1034) {
16564          parse_window_data_param:
16565           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16566                input, mutable_window_data_param()));
16567         } else {
16568           goto handle_unusual;
16569         }
16570         if (input->ExpectTag(1042)) goto parse_python_param;
16571         break;
16572       }
16573
16574       // optional .opencv_caffe.PythonParameter python_param = 130;
16575       case 130: {
16576         if (tag == 1042) {
16577          parse_python_param:
16578           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16579                input, mutable_python_param()));
16580         } else {
16581           goto handle_unusual;
16582         }
16583         if (input->ExpectTag(1050)) goto parse_prelu_param;
16584         break;
16585       }
16586
16587       // optional .opencv_caffe.PReLUParameter prelu_param = 131;
16588       case 131: {
16589         if (tag == 1050) {
16590          parse_prelu_param:
16591           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16592                input, mutable_prelu_param()));
16593         } else {
16594           goto handle_unusual;
16595         }
16596         if (input->ExpectTag(1058)) goto parse_spp_param;
16597         break;
16598       }
16599
16600       // optional .opencv_caffe.SPPParameter spp_param = 132;
16601       case 132: {
16602         if (tag == 1058) {
16603          parse_spp_param:
16604           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16605                input, mutable_spp_param()));
16606         } else {
16607           goto handle_unusual;
16608         }
16609         if (input->ExpectTag(1066)) goto parse_reshape_param;
16610         break;
16611       }
16612
16613       // optional .opencv_caffe.ReshapeParameter reshape_param = 133;
16614       case 133: {
16615         if (tag == 1066) {
16616          parse_reshape_param:
16617           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16618                input, mutable_reshape_param()));
16619         } else {
16620           goto handle_unusual;
16621         }
16622         if (input->ExpectTag(1074)) goto parse_log_param;
16623         break;
16624       }
16625
16626       // optional .opencv_caffe.LogParameter log_param = 134;
16627       case 134: {
16628         if (tag == 1074) {
16629          parse_log_param:
16630           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16631                input, mutable_log_param()));
16632         } else {
16633           goto handle_unusual;
16634         }
16635         if (input->ExpectTag(1082)) goto parse_flatten_param;
16636         break;
16637       }
16638
16639       // optional .opencv_caffe.FlattenParameter flatten_param = 135;
16640       case 135: {
16641         if (tag == 1082) {
16642          parse_flatten_param:
16643           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16644                input, mutable_flatten_param()));
16645         } else {
16646           goto handle_unusual;
16647         }
16648         if (input->ExpectTag(1090)) goto parse_reduction_param;
16649         break;
16650       }
16651
16652       // optional .opencv_caffe.ReductionParameter reduction_param = 136;
16653       case 136: {
16654         if (tag == 1090) {
16655          parse_reduction_param:
16656           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16657                input, mutable_reduction_param()));
16658         } else {
16659           goto handle_unusual;
16660         }
16661         if (input->ExpectTag(1098)) goto parse_embed_param;
16662         break;
16663       }
16664
16665       // optional .opencv_caffe.EmbedParameter embed_param = 137;
16666       case 137: {
16667         if (tag == 1098) {
16668          parse_embed_param:
16669           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16670                input, mutable_embed_param()));
16671         } else {
16672           goto handle_unusual;
16673         }
16674         if (input->ExpectTag(1106)) goto parse_tile_param;
16675         break;
16676       }
16677
16678       // optional .opencv_caffe.TileParameter tile_param = 138;
16679       case 138: {
16680         if (tag == 1106) {
16681          parse_tile_param:
16682           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16683                input, mutable_tile_param()));
16684         } else {
16685           goto handle_unusual;
16686         }
16687         if (input->ExpectTag(1114)) goto parse_batch_norm_param;
16688         break;
16689       }
16690
16691       // optional .opencv_caffe.BatchNormParameter batch_norm_param = 139;
16692       case 139: {
16693         if (tag == 1114) {
16694          parse_batch_norm_param:
16695           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16696                input, mutable_batch_norm_param()));
16697         } else {
16698           goto handle_unusual;
16699         }
16700         if (input->ExpectTag(1122)) goto parse_elu_param;
16701         break;
16702       }
16703
16704       // optional .opencv_caffe.ELUParameter elu_param = 140;
16705       case 140: {
16706         if (tag == 1122) {
16707          parse_elu_param:
16708           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16709                input, mutable_elu_param()));
16710         } else {
16711           goto handle_unusual;
16712         }
16713         if (input->ExpectTag(1130)) goto parse_bias_param;
16714         break;
16715       }
16716
16717       // optional .opencv_caffe.BiasParameter bias_param = 141;
16718       case 141: {
16719         if (tag == 1130) {
16720          parse_bias_param:
16721           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16722                input, mutable_bias_param()));
16723         } else {
16724           goto handle_unusual;
16725         }
16726         if (input->ExpectTag(1138)) goto parse_scale_param;
16727         break;
16728       }
16729
16730       // optional .opencv_caffe.ScaleParameter scale_param = 142;
16731       case 142: {
16732         if (tag == 1138) {
16733          parse_scale_param:
16734           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16735                input, mutable_scale_param()));
16736         } else {
16737           goto handle_unusual;
16738         }
16739         if (input->ExpectTag(1146)) goto parse_input_param;
16740         break;
16741       }
16742
16743       // optional .opencv_caffe.InputParameter input_param = 143;
16744       case 143: {
16745         if (tag == 1146) {
16746          parse_input_param:
16747           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16748                input, mutable_input_param()));
16749         } else {
16750           goto handle_unusual;
16751         }
16752         if (input->ExpectTag(1154)) goto parse_crop_param;
16753         break;
16754       }
16755
16756       // optional .opencv_caffe.CropParameter crop_param = 144;
16757       case 144: {
16758         if (tag == 1154) {
16759          parse_crop_param:
16760           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16761                input, mutable_crop_param()));
16762         } else {
16763           goto handle_unusual;
16764         }
16765         if (input->ExpectTag(1162)) goto parse_parameter_param;
16766         break;
16767       }
16768
16769       // optional .opencv_caffe.ParameterParameter parameter_param = 145;
16770       case 145: {
16771         if (tag == 1162) {
16772          parse_parameter_param:
16773           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16774                input, mutable_parameter_param()));
16775         } else {
16776           goto handle_unusual;
16777         }
16778         if (input->ExpectTag(1170)) goto parse_recurrent_param;
16779         break;
16780       }
16781
16782       // optional .opencv_caffe.RecurrentParameter recurrent_param = 146;
16783       case 146: {
16784         if (tag == 1170) {
16785          parse_recurrent_param:
16786           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16787                input, mutable_recurrent_param()));
16788         } else {
16789           goto handle_unusual;
16790         }
16791         if (input->ExpectTag(1178)) goto parse_detection_output_param;
16792         break;
16793       }
16794
16795       // optional .opencv_caffe.DetectionOutputParameter detection_output_param = 147;
16796       case 147: {
16797         if (tag == 1178) {
16798          parse_detection_output_param:
16799           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16800                input, mutable_detection_output_param()));
16801         } else {
16802           goto handle_unusual;
16803         }
16804         if (input->ExpectTag(1186)) goto parse_permute_param;
16805         break;
16806       }
16807
16808       // optional .opencv_caffe.PermuteParameter permute_param = 148;
16809       case 148: {
16810         if (tag == 1186) {
16811          parse_permute_param:
16812           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16813                input, mutable_permute_param()));
16814         } else {
16815           goto handle_unusual;
16816         }
16817         if (input->ExpectTag(1194)) goto parse_norm_param;
16818         break;
16819       }
16820
16821       // optional .opencv_caffe.NormalizeBBoxParameter norm_param = 149;
16822       case 149: {
16823         if (tag == 1194) {
16824          parse_norm_param:
16825           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16826                input, mutable_norm_param()));
16827         } else {
16828           goto handle_unusual;
16829         }
16830         if (input->ExpectTag(1202)) goto parse_prior_box_param;
16831         break;
16832       }
16833
16834       // optional .opencv_caffe.PriorBoxParameter prior_box_param = 150;
16835       case 150: {
16836         if (tag == 1202) {
16837          parse_prior_box_param:
16838           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16839                input, mutable_prior_box_param()));
16840         } else {
16841           goto handle_unusual;
16842         }
16843         if (input->ExpectTag(1610)) goto parse_proposal_param;
16844         break;
16845       }
16846
16847       // optional .opencv_caffe.ProposalParameter proposal_param = 201;
16848       case 201: {
16849         if (tag == 1610) {
16850          parse_proposal_param:
16851           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16852                input, mutable_proposal_param()));
16853         } else {
16854           goto handle_unusual;
16855         }
16856         if (input->ExpectTag(66133690)) goto parse_roi_pooling_param;
16857         break;
16858       }
16859
16860       // optional .opencv_caffe.ROIPoolingParameter roi_pooling_param = 8266711;
16861       case 8266711: {
16862         if (tag == 66133690) {
16863          parse_roi_pooling_param:
16864           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16865                input, mutable_roi_pooling_param()));
16866         } else {
16867           goto handle_unusual;
16868         }
16869         if (input->ExpectAtEnd()) goto success;
16870         break;
16871       }
16872
16873       default: {
16874       handle_unusual:
16875         if (tag == 0 ||
16876             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
16877             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
16878           goto success;
16879         }
16880         DO_(::google::protobuf::internal::WireFormat::SkipField(
16881               input, tag, mutable_unknown_fields()));
16882         break;
16883       }
16884     }
16885   }
16886 success:
16887   // @@protoc_insertion_point(parse_success:opencv_caffe.LayerParameter)
16888   return true;
16889 failure:
16890   // @@protoc_insertion_point(parse_failure:opencv_caffe.LayerParameter)
16891   return false;
16892 #undef DO_
16893 }
16894
16895 void LayerParameter::SerializeWithCachedSizes(
16896     ::google::protobuf::io::CodedOutputStream* output) const {
16897   // @@protoc_insertion_point(serialize_start:opencv_caffe.LayerParameter)
16898   // optional string name = 1;
16899   if (has_name()) {
16900     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
16901       this->name().data(), this->name().length(),
16902       ::google::protobuf::internal::WireFormat::SERIALIZE,
16903       "opencv_caffe.LayerParameter.name");
16904     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
16905       1, this->name(), output);
16906   }
16907
16908   // optional string type = 2;
16909   if (has_type()) {
16910     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
16911       this->type().data(), this->type().length(),
16912       ::google::protobuf::internal::WireFormat::SERIALIZE,
16913       "opencv_caffe.LayerParameter.type");
16914     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
16915       2, this->type(), output);
16916   }
16917
16918   // repeated string bottom = 3;
16919   for (int i = 0; i < this->bottom_size(); i++) {
16920     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
16921       this->bottom(i).data(), this->bottom(i).length(),
16922       ::google::protobuf::internal::WireFormat::SERIALIZE,
16923       "opencv_caffe.LayerParameter.bottom");
16924     ::google::protobuf::internal::WireFormatLite::WriteString(
16925       3, this->bottom(i), output);
16926   }
16927
16928   // repeated string top = 4;
16929   for (int i = 0; i < this->top_size(); i++) {
16930     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
16931       this->top(i).data(), this->top(i).length(),
16932       ::google::protobuf::internal::WireFormat::SERIALIZE,
16933       "opencv_caffe.LayerParameter.top");
16934     ::google::protobuf::internal::WireFormatLite::WriteString(
16935       4, this->top(i), output);
16936   }
16937
16938   // repeated float loss_weight = 5;
16939   for (int i = 0; i < this->loss_weight_size(); i++) {
16940     ::google::protobuf::internal::WireFormatLite::WriteFloat(
16941       5, this->loss_weight(i), output);
16942   }
16943
16944   // repeated .opencv_caffe.ParamSpec param = 6;
16945   for (unsigned int i = 0, n = this->param_size(); i < n; i++) {
16946     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16947       6, this->param(i), output);
16948   }
16949
16950   // repeated .opencv_caffe.BlobProto blobs = 7;
16951   for (unsigned int i = 0, n = this->blobs_size(); i < n; i++) {
16952     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16953       7, this->blobs(i), output);
16954   }
16955
16956   // repeated .opencv_caffe.NetStateRule include = 8;
16957   for (unsigned int i = 0, n = this->include_size(); i < n; i++) {
16958     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16959       8, this->include(i), output);
16960   }
16961
16962   // repeated .opencv_caffe.NetStateRule exclude = 9;
16963   for (unsigned int i = 0, n = this->exclude_size(); i < n; i++) {
16964     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16965       9, this->exclude(i), output);
16966   }
16967
16968   // optional .opencv_caffe.Phase phase = 10;
16969   if (has_phase()) {
16970     ::google::protobuf::internal::WireFormatLite::WriteEnum(
16971       10, this->phase(), output);
16972   }
16973
16974   // repeated bool propagate_down = 11;
16975   for (int i = 0; i < this->propagate_down_size(); i++) {
16976     ::google::protobuf::internal::WireFormatLite::WriteBool(
16977       11, this->propagate_down(i), output);
16978   }
16979
16980   // optional .opencv_caffe.TransformationParameter transform_param = 100;
16981   if (has_transform_param()) {
16982     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16983       100, *this->transform_param_, output);
16984   }
16985
16986   // optional .opencv_caffe.LossParameter loss_param = 101;
16987   if (has_loss_param()) {
16988     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16989       101, *this->loss_param_, output);
16990   }
16991
16992   // optional .opencv_caffe.AccuracyParameter accuracy_param = 102;
16993   if (has_accuracy_param()) {
16994     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16995       102, *this->accuracy_param_, output);
16996   }
16997
16998   // optional .opencv_caffe.ArgMaxParameter argmax_param = 103;
16999   if (has_argmax_param()) {
17000     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17001       103, *this->argmax_param_, output);
17002   }
17003
17004   // optional .opencv_caffe.ConcatParameter concat_param = 104;
17005   if (has_concat_param()) {
17006     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17007       104, *this->concat_param_, output);
17008   }
17009
17010   // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 105;
17011   if (has_contrastive_loss_param()) {
17012     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17013       105, *this->contrastive_loss_param_, output);
17014   }
17015
17016   // optional .opencv_caffe.ConvolutionParameter convolution_param = 106;
17017   if (has_convolution_param()) {
17018     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17019       106, *this->convolution_param_, output);
17020   }
17021
17022   // optional .opencv_caffe.DataParameter data_param = 107;
17023   if (has_data_param()) {
17024     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17025       107, *this->data_param_, output);
17026   }
17027
17028   // optional .opencv_caffe.DropoutParameter dropout_param = 108;
17029   if (has_dropout_param()) {
17030     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17031       108, *this->dropout_param_, output);
17032   }
17033
17034   // optional .opencv_caffe.DummyDataParameter dummy_data_param = 109;
17035   if (has_dummy_data_param()) {
17036     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17037       109, *this->dummy_data_param_, output);
17038   }
17039
17040   // optional .opencv_caffe.EltwiseParameter eltwise_param = 110;
17041   if (has_eltwise_param()) {
17042     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17043       110, *this->eltwise_param_, output);
17044   }
17045
17046   // optional .opencv_caffe.ExpParameter exp_param = 111;
17047   if (has_exp_param()) {
17048     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17049       111, *this->exp_param_, output);
17050   }
17051
17052   // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 112;
17053   if (has_hdf5_data_param()) {
17054     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17055       112, *this->hdf5_data_param_, output);
17056   }
17057
17058   // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 113;
17059   if (has_hdf5_output_param()) {
17060     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17061       113, *this->hdf5_output_param_, output);
17062   }
17063
17064   // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 114;
17065   if (has_hinge_loss_param()) {
17066     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17067       114, *this->hinge_loss_param_, output);
17068   }
17069
17070   // optional .opencv_caffe.ImageDataParameter image_data_param = 115;
17071   if (has_image_data_param()) {
17072     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17073       115, *this->image_data_param_, output);
17074   }
17075
17076   // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 116;
17077   if (has_infogain_loss_param()) {
17078     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17079       116, *this->infogain_loss_param_, output);
17080   }
17081
17082   // optional .opencv_caffe.InnerProductParameter inner_product_param = 117;
17083   if (has_inner_product_param()) {
17084     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17085       117, *this->inner_product_param_, output);
17086   }
17087
17088   // optional .opencv_caffe.LRNParameter lrn_param = 118;
17089   if (has_lrn_param()) {
17090     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17091       118, *this->lrn_param_, output);
17092   }
17093
17094   // optional .opencv_caffe.MemoryDataParameter memory_data_param = 119;
17095   if (has_memory_data_param()) {
17096     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17097       119, *this->memory_data_param_, output);
17098   }
17099
17100   // optional .opencv_caffe.MVNParameter mvn_param = 120;
17101   if (has_mvn_param()) {
17102     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17103       120, *this->mvn_param_, output);
17104   }
17105
17106   // optional .opencv_caffe.PoolingParameter pooling_param = 121;
17107   if (has_pooling_param()) {
17108     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17109       121, *this->pooling_param_, output);
17110   }
17111
17112   // optional .opencv_caffe.PowerParameter power_param = 122;
17113   if (has_power_param()) {
17114     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17115       122, *this->power_param_, output);
17116   }
17117
17118   // optional .opencv_caffe.ReLUParameter relu_param = 123;
17119   if (has_relu_param()) {
17120     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17121       123, *this->relu_param_, output);
17122   }
17123
17124   // optional .opencv_caffe.SigmoidParameter sigmoid_param = 124;
17125   if (has_sigmoid_param()) {
17126     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17127       124, *this->sigmoid_param_, output);
17128   }
17129
17130   // optional .opencv_caffe.SoftmaxParameter softmax_param = 125;
17131   if (has_softmax_param()) {
17132     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17133       125, *this->softmax_param_, output);
17134   }
17135
17136   // optional .opencv_caffe.SliceParameter slice_param = 126;
17137   if (has_slice_param()) {
17138     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17139       126, *this->slice_param_, output);
17140   }
17141
17142   // optional .opencv_caffe.TanHParameter tanh_param = 127;
17143   if (has_tanh_param()) {
17144     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17145       127, *this->tanh_param_, output);
17146   }
17147
17148   // optional .opencv_caffe.ThresholdParameter threshold_param = 128;
17149   if (has_threshold_param()) {
17150     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17151       128, *this->threshold_param_, output);
17152   }
17153
17154   // optional .opencv_caffe.WindowDataParameter window_data_param = 129;
17155   if (has_window_data_param()) {
17156     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17157       129, *this->window_data_param_, output);
17158   }
17159
17160   // optional .opencv_caffe.PythonParameter python_param = 130;
17161   if (has_python_param()) {
17162     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17163       130, *this->python_param_, output);
17164   }
17165
17166   // optional .opencv_caffe.PReLUParameter prelu_param = 131;
17167   if (has_prelu_param()) {
17168     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17169       131, *this->prelu_param_, output);
17170   }
17171
17172   // optional .opencv_caffe.SPPParameter spp_param = 132;
17173   if (has_spp_param()) {
17174     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17175       132, *this->spp_param_, output);
17176   }
17177
17178   // optional .opencv_caffe.ReshapeParameter reshape_param = 133;
17179   if (has_reshape_param()) {
17180     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17181       133, *this->reshape_param_, output);
17182   }
17183
17184   // optional .opencv_caffe.LogParameter log_param = 134;
17185   if (has_log_param()) {
17186     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17187       134, *this->log_param_, output);
17188   }
17189
17190   // optional .opencv_caffe.FlattenParameter flatten_param = 135;
17191   if (has_flatten_param()) {
17192     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17193       135, *this->flatten_param_, output);
17194   }
17195
17196   // optional .opencv_caffe.ReductionParameter reduction_param = 136;
17197   if (has_reduction_param()) {
17198     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17199       136, *this->reduction_param_, output);
17200   }
17201
17202   // optional .opencv_caffe.EmbedParameter embed_param = 137;
17203   if (has_embed_param()) {
17204     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17205       137, *this->embed_param_, output);
17206   }
17207
17208   // optional .opencv_caffe.TileParameter tile_param = 138;
17209   if (has_tile_param()) {
17210     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17211       138, *this->tile_param_, output);
17212   }
17213
17214   // optional .opencv_caffe.BatchNormParameter batch_norm_param = 139;
17215   if (has_batch_norm_param()) {
17216     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17217       139, *this->batch_norm_param_, output);
17218   }
17219
17220   // optional .opencv_caffe.ELUParameter elu_param = 140;
17221   if (has_elu_param()) {
17222     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17223       140, *this->elu_param_, output);
17224   }
17225
17226   // optional .opencv_caffe.BiasParameter bias_param = 141;
17227   if (has_bias_param()) {
17228     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17229       141, *this->bias_param_, output);
17230   }
17231
17232   // optional .opencv_caffe.ScaleParameter scale_param = 142;
17233   if (has_scale_param()) {
17234     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17235       142, *this->scale_param_, output);
17236   }
17237
17238   // optional .opencv_caffe.InputParameter input_param = 143;
17239   if (has_input_param()) {
17240     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17241       143, *this->input_param_, output);
17242   }
17243
17244   // optional .opencv_caffe.CropParameter crop_param = 144;
17245   if (has_crop_param()) {
17246     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17247       144, *this->crop_param_, output);
17248   }
17249
17250   // optional .opencv_caffe.ParameterParameter parameter_param = 145;
17251   if (has_parameter_param()) {
17252     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17253       145, *this->parameter_param_, output);
17254   }
17255
17256   // optional .opencv_caffe.RecurrentParameter recurrent_param = 146;
17257   if (has_recurrent_param()) {
17258     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17259       146, *this->recurrent_param_, output);
17260   }
17261
17262   // optional .opencv_caffe.DetectionOutputParameter detection_output_param = 147;
17263   if (has_detection_output_param()) {
17264     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17265       147, *this->detection_output_param_, output);
17266   }
17267
17268   // optional .opencv_caffe.PermuteParameter permute_param = 148;
17269   if (has_permute_param()) {
17270     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17271       148, *this->permute_param_, output);
17272   }
17273
17274   // optional .opencv_caffe.NormalizeBBoxParameter norm_param = 149;
17275   if (has_norm_param()) {
17276     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17277       149, *this->norm_param_, output);
17278   }
17279
17280   // optional .opencv_caffe.PriorBoxParameter prior_box_param = 150;
17281   if (has_prior_box_param()) {
17282     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17283       150, *this->prior_box_param_, output);
17284   }
17285
17286   // optional .opencv_caffe.ProposalParameter proposal_param = 201;
17287   if (has_proposal_param()) {
17288     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17289       201, *this->proposal_param_, output);
17290   }
17291
17292   // optional .opencv_caffe.ROIPoolingParameter roi_pooling_param = 8266711;
17293   if (has_roi_pooling_param()) {
17294     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17295       8266711, *this->roi_pooling_param_, output);
17296   }
17297
17298   if (_internal_metadata_.have_unknown_fields()) {
17299     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
17300         unknown_fields(), output);
17301   }
17302   // @@protoc_insertion_point(serialize_end:opencv_caffe.LayerParameter)
17303 }
17304
17305 ::google::protobuf::uint8* LayerParameter::InternalSerializeWithCachedSizesToArray(
17306     bool deterministic, ::google::protobuf::uint8* target) const {
17307   (void)deterministic; // Unused
17308   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.LayerParameter)
17309   // optional string name = 1;
17310   if (has_name()) {
17311     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
17312       this->name().data(), this->name().length(),
17313       ::google::protobuf::internal::WireFormat::SERIALIZE,
17314       "opencv_caffe.LayerParameter.name");
17315     target =
17316       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
17317         1, this->name(), target);
17318   }
17319
17320   // optional string type = 2;
17321   if (has_type()) {
17322     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
17323       this->type().data(), this->type().length(),
17324       ::google::protobuf::internal::WireFormat::SERIALIZE,
17325       "opencv_caffe.LayerParameter.type");
17326     target =
17327       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
17328         2, this->type(), target);
17329   }
17330
17331   // repeated string bottom = 3;
17332   for (int i = 0; i < this->bottom_size(); i++) {
17333     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
17334       this->bottom(i).data(), this->bottom(i).length(),
17335       ::google::protobuf::internal::WireFormat::SERIALIZE,
17336       "opencv_caffe.LayerParameter.bottom");
17337     target = ::google::protobuf::internal::WireFormatLite::
17338       WriteStringToArray(3, this->bottom(i), target);
17339   }
17340
17341   // repeated string top = 4;
17342   for (int i = 0; i < this->top_size(); i++) {
17343     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
17344       this->top(i).data(), this->top(i).length(),
17345       ::google::protobuf::internal::WireFormat::SERIALIZE,
17346       "opencv_caffe.LayerParameter.top");
17347     target = ::google::protobuf::internal::WireFormatLite::
17348       WriteStringToArray(4, this->top(i), target);
17349   }
17350
17351   // repeated float loss_weight = 5;
17352   for (int i = 0; i < this->loss_weight_size(); i++) {
17353     target = ::google::protobuf::internal::WireFormatLite::
17354       WriteFloatToArray(5, this->loss_weight(i), target);
17355   }
17356
17357   // repeated .opencv_caffe.ParamSpec param = 6;
17358   for (unsigned int i = 0, n = this->param_size(); i < n; i++) {
17359     target = ::google::protobuf::internal::WireFormatLite::
17360       InternalWriteMessageNoVirtualToArray(
17361         6, this->param(i), false, target);
17362   }
17363
17364   // repeated .opencv_caffe.BlobProto blobs = 7;
17365   for (unsigned int i = 0, n = this->blobs_size(); i < n; i++) {
17366     target = ::google::protobuf::internal::WireFormatLite::
17367       InternalWriteMessageNoVirtualToArray(
17368         7, this->blobs(i), false, target);
17369   }
17370
17371   // repeated .opencv_caffe.NetStateRule include = 8;
17372   for (unsigned int i = 0, n = this->include_size(); i < n; i++) {
17373     target = ::google::protobuf::internal::WireFormatLite::
17374       InternalWriteMessageNoVirtualToArray(
17375         8, this->include(i), false, target);
17376   }
17377
17378   // repeated .opencv_caffe.NetStateRule exclude = 9;
17379   for (unsigned int i = 0, n = this->exclude_size(); i < n; i++) {
17380     target = ::google::protobuf::internal::WireFormatLite::
17381       InternalWriteMessageNoVirtualToArray(
17382         9, this->exclude(i), false, target);
17383   }
17384
17385   // optional .opencv_caffe.Phase phase = 10;
17386   if (has_phase()) {
17387     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
17388       10, this->phase(), target);
17389   }
17390
17391   // repeated bool propagate_down = 11;
17392   for (int i = 0; i < this->propagate_down_size(); i++) {
17393     target = ::google::protobuf::internal::WireFormatLite::
17394       WriteBoolToArray(11, this->propagate_down(i), target);
17395   }
17396
17397   // optional .opencv_caffe.TransformationParameter transform_param = 100;
17398   if (has_transform_param()) {
17399     target = ::google::protobuf::internal::WireFormatLite::
17400       InternalWriteMessageNoVirtualToArray(
17401         100, *this->transform_param_, false, target);
17402   }
17403
17404   // optional .opencv_caffe.LossParameter loss_param = 101;
17405   if (has_loss_param()) {
17406     target = ::google::protobuf::internal::WireFormatLite::
17407       InternalWriteMessageNoVirtualToArray(
17408         101, *this->loss_param_, false, target);
17409   }
17410
17411   // optional .opencv_caffe.AccuracyParameter accuracy_param = 102;
17412   if (has_accuracy_param()) {
17413     target = ::google::protobuf::internal::WireFormatLite::
17414       InternalWriteMessageNoVirtualToArray(
17415         102, *this->accuracy_param_, false, target);
17416   }
17417
17418   // optional .opencv_caffe.ArgMaxParameter argmax_param = 103;
17419   if (has_argmax_param()) {
17420     target = ::google::protobuf::internal::WireFormatLite::
17421       InternalWriteMessageNoVirtualToArray(
17422         103, *this->argmax_param_, false, target);
17423   }
17424
17425   // optional .opencv_caffe.ConcatParameter concat_param = 104;
17426   if (has_concat_param()) {
17427     target = ::google::protobuf::internal::WireFormatLite::
17428       InternalWriteMessageNoVirtualToArray(
17429         104, *this->concat_param_, false, target);
17430   }
17431
17432   // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 105;
17433   if (has_contrastive_loss_param()) {
17434     target = ::google::protobuf::internal::WireFormatLite::
17435       InternalWriteMessageNoVirtualToArray(
17436         105, *this->contrastive_loss_param_, false, target);
17437   }
17438
17439   // optional .opencv_caffe.ConvolutionParameter convolution_param = 106;
17440   if (has_convolution_param()) {
17441     target = ::google::protobuf::internal::WireFormatLite::
17442       InternalWriteMessageNoVirtualToArray(
17443         106, *this->convolution_param_, false, target);
17444   }
17445
17446   // optional .opencv_caffe.DataParameter data_param = 107;
17447   if (has_data_param()) {
17448     target = ::google::protobuf::internal::WireFormatLite::
17449       InternalWriteMessageNoVirtualToArray(
17450         107, *this->data_param_, false, target);
17451   }
17452
17453   // optional .opencv_caffe.DropoutParameter dropout_param = 108;
17454   if (has_dropout_param()) {
17455     target = ::google::protobuf::internal::WireFormatLite::
17456       InternalWriteMessageNoVirtualToArray(
17457         108, *this->dropout_param_, false, target);
17458   }
17459
17460   // optional .opencv_caffe.DummyDataParameter dummy_data_param = 109;
17461   if (has_dummy_data_param()) {
17462     target = ::google::protobuf::internal::WireFormatLite::
17463       InternalWriteMessageNoVirtualToArray(
17464         109, *this->dummy_data_param_, false, target);
17465   }
17466
17467   // optional .opencv_caffe.EltwiseParameter eltwise_param = 110;
17468   if (has_eltwise_param()) {
17469     target = ::google::protobuf::internal::WireFormatLite::
17470       InternalWriteMessageNoVirtualToArray(
17471         110, *this->eltwise_param_, false, target);
17472   }
17473
17474   // optional .opencv_caffe.ExpParameter exp_param = 111;
17475   if (has_exp_param()) {
17476     target = ::google::protobuf::internal::WireFormatLite::
17477       InternalWriteMessageNoVirtualToArray(
17478         111, *this->exp_param_, false, target);
17479   }
17480
17481   // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 112;
17482   if (has_hdf5_data_param()) {
17483     target = ::google::protobuf::internal::WireFormatLite::
17484       InternalWriteMessageNoVirtualToArray(
17485         112, *this->hdf5_data_param_, false, target);
17486   }
17487
17488   // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 113;
17489   if (has_hdf5_output_param()) {
17490     target = ::google::protobuf::internal::WireFormatLite::
17491       InternalWriteMessageNoVirtualToArray(
17492         113, *this->hdf5_output_param_, false, target);
17493   }
17494
17495   // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 114;
17496   if (has_hinge_loss_param()) {
17497     target = ::google::protobuf::internal::WireFormatLite::
17498       InternalWriteMessageNoVirtualToArray(
17499         114, *this->hinge_loss_param_, false, target);
17500   }
17501
17502   // optional .opencv_caffe.ImageDataParameter image_data_param = 115;
17503   if (has_image_data_param()) {
17504     target = ::google::protobuf::internal::WireFormatLite::
17505       InternalWriteMessageNoVirtualToArray(
17506         115, *this->image_data_param_, false, target);
17507   }
17508
17509   // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 116;
17510   if (has_infogain_loss_param()) {
17511     target = ::google::protobuf::internal::WireFormatLite::
17512       InternalWriteMessageNoVirtualToArray(
17513         116, *this->infogain_loss_param_, false, target);
17514   }
17515
17516   // optional .opencv_caffe.InnerProductParameter inner_product_param = 117;
17517   if (has_inner_product_param()) {
17518     target = ::google::protobuf::internal::WireFormatLite::
17519       InternalWriteMessageNoVirtualToArray(
17520         117, *this->inner_product_param_, false, target);
17521   }
17522
17523   // optional .opencv_caffe.LRNParameter lrn_param = 118;
17524   if (has_lrn_param()) {
17525     target = ::google::protobuf::internal::WireFormatLite::
17526       InternalWriteMessageNoVirtualToArray(
17527         118, *this->lrn_param_, false, target);
17528   }
17529
17530   // optional .opencv_caffe.MemoryDataParameter memory_data_param = 119;
17531   if (has_memory_data_param()) {
17532     target = ::google::protobuf::internal::WireFormatLite::
17533       InternalWriteMessageNoVirtualToArray(
17534         119, *this->memory_data_param_, false, target);
17535   }
17536
17537   // optional .opencv_caffe.MVNParameter mvn_param = 120;
17538   if (has_mvn_param()) {
17539     target = ::google::protobuf::internal::WireFormatLite::
17540       InternalWriteMessageNoVirtualToArray(
17541         120, *this->mvn_param_, false, target);
17542   }
17543
17544   // optional .opencv_caffe.PoolingParameter pooling_param = 121;
17545   if (has_pooling_param()) {
17546     target = ::google::protobuf::internal::WireFormatLite::
17547       InternalWriteMessageNoVirtualToArray(
17548         121, *this->pooling_param_, false, target);
17549   }
17550
17551   // optional .opencv_caffe.PowerParameter power_param = 122;
17552   if (has_power_param()) {
17553     target = ::google::protobuf::internal::WireFormatLite::
17554       InternalWriteMessageNoVirtualToArray(
17555         122, *this->power_param_, false, target);
17556   }
17557
17558   // optional .opencv_caffe.ReLUParameter relu_param = 123;
17559   if (has_relu_param()) {
17560     target = ::google::protobuf::internal::WireFormatLite::
17561       InternalWriteMessageNoVirtualToArray(
17562         123, *this->relu_param_, false, target);
17563   }
17564
17565   // optional .opencv_caffe.SigmoidParameter sigmoid_param = 124;
17566   if (has_sigmoid_param()) {
17567     target = ::google::protobuf::internal::WireFormatLite::
17568       InternalWriteMessageNoVirtualToArray(
17569         124, *this->sigmoid_param_, false, target);
17570   }
17571
17572   // optional .opencv_caffe.SoftmaxParameter softmax_param = 125;
17573   if (has_softmax_param()) {
17574     target = ::google::protobuf::internal::WireFormatLite::
17575       InternalWriteMessageNoVirtualToArray(
17576         125, *this->softmax_param_, false, target);
17577   }
17578
17579   // optional .opencv_caffe.SliceParameter slice_param = 126;
17580   if (has_slice_param()) {
17581     target = ::google::protobuf::internal::WireFormatLite::
17582       InternalWriteMessageNoVirtualToArray(
17583         126, *this->slice_param_, false, target);
17584   }
17585
17586   // optional .opencv_caffe.TanHParameter tanh_param = 127;
17587   if (has_tanh_param()) {
17588     target = ::google::protobuf::internal::WireFormatLite::
17589       InternalWriteMessageNoVirtualToArray(
17590         127, *this->tanh_param_, false, target);
17591   }
17592
17593   // optional .opencv_caffe.ThresholdParameter threshold_param = 128;
17594   if (has_threshold_param()) {
17595     target = ::google::protobuf::internal::WireFormatLite::
17596       InternalWriteMessageNoVirtualToArray(
17597         128, *this->threshold_param_, false, target);
17598   }
17599
17600   // optional .opencv_caffe.WindowDataParameter window_data_param = 129;
17601   if (has_window_data_param()) {
17602     target = ::google::protobuf::internal::WireFormatLite::
17603       InternalWriteMessageNoVirtualToArray(
17604         129, *this->window_data_param_, false, target);
17605   }
17606
17607   // optional .opencv_caffe.PythonParameter python_param = 130;
17608   if (has_python_param()) {
17609     target = ::google::protobuf::internal::WireFormatLite::
17610       InternalWriteMessageNoVirtualToArray(
17611         130, *this->python_param_, false, target);
17612   }
17613
17614   // optional .opencv_caffe.PReLUParameter prelu_param = 131;
17615   if (has_prelu_param()) {
17616     target = ::google::protobuf::internal::WireFormatLite::
17617       InternalWriteMessageNoVirtualToArray(
17618         131, *this->prelu_param_, false, target);
17619   }
17620
17621   // optional .opencv_caffe.SPPParameter spp_param = 132;
17622   if (has_spp_param()) {
17623     target = ::google::protobuf::internal::WireFormatLite::
17624       InternalWriteMessageNoVirtualToArray(
17625         132, *this->spp_param_, false, target);
17626   }
17627
17628   // optional .opencv_caffe.ReshapeParameter reshape_param = 133;
17629   if (has_reshape_param()) {
17630     target = ::google::protobuf::internal::WireFormatLite::
17631       InternalWriteMessageNoVirtualToArray(
17632         133, *this->reshape_param_, false, target);
17633   }
17634
17635   // optional .opencv_caffe.LogParameter log_param = 134;
17636   if (has_log_param()) {
17637     target = ::google::protobuf::internal::WireFormatLite::
17638       InternalWriteMessageNoVirtualToArray(
17639         134, *this->log_param_, false, target);
17640   }
17641
17642   // optional .opencv_caffe.FlattenParameter flatten_param = 135;
17643   if (has_flatten_param()) {
17644     target = ::google::protobuf::internal::WireFormatLite::
17645       InternalWriteMessageNoVirtualToArray(
17646         135, *this->flatten_param_, false, target);
17647   }
17648
17649   // optional .opencv_caffe.ReductionParameter reduction_param = 136;
17650   if (has_reduction_param()) {
17651     target = ::google::protobuf::internal::WireFormatLite::
17652       InternalWriteMessageNoVirtualToArray(
17653         136, *this->reduction_param_, false, target);
17654   }
17655
17656   // optional .opencv_caffe.EmbedParameter embed_param = 137;
17657   if (has_embed_param()) {
17658     target = ::google::protobuf::internal::WireFormatLite::
17659       InternalWriteMessageNoVirtualToArray(
17660         137, *this->embed_param_, false, target);
17661   }
17662
17663   // optional .opencv_caffe.TileParameter tile_param = 138;
17664   if (has_tile_param()) {
17665     target = ::google::protobuf::internal::WireFormatLite::
17666       InternalWriteMessageNoVirtualToArray(
17667         138, *this->tile_param_, false, target);
17668   }
17669
17670   // optional .opencv_caffe.BatchNormParameter batch_norm_param = 139;
17671   if (has_batch_norm_param()) {
17672     target = ::google::protobuf::internal::WireFormatLite::
17673       InternalWriteMessageNoVirtualToArray(
17674         139, *this->batch_norm_param_, false, target);
17675   }
17676
17677   // optional .opencv_caffe.ELUParameter elu_param = 140;
17678   if (has_elu_param()) {
17679     target = ::google::protobuf::internal::WireFormatLite::
17680       InternalWriteMessageNoVirtualToArray(
17681         140, *this->elu_param_, false, target);
17682   }
17683
17684   // optional .opencv_caffe.BiasParameter bias_param = 141;
17685   if (has_bias_param()) {
17686     target = ::google::protobuf::internal::WireFormatLite::
17687       InternalWriteMessageNoVirtualToArray(
17688         141, *this->bias_param_, false, target);
17689   }
17690
17691   // optional .opencv_caffe.ScaleParameter scale_param = 142;
17692   if (has_scale_param()) {
17693     target = ::google::protobuf::internal::WireFormatLite::
17694       InternalWriteMessageNoVirtualToArray(
17695         142, *this->scale_param_, false, target);
17696   }
17697
17698   // optional .opencv_caffe.InputParameter input_param = 143;
17699   if (has_input_param()) {
17700     target = ::google::protobuf::internal::WireFormatLite::
17701       InternalWriteMessageNoVirtualToArray(
17702         143, *this->input_param_, false, target);
17703   }
17704
17705   // optional .opencv_caffe.CropParameter crop_param = 144;
17706   if (has_crop_param()) {
17707     target = ::google::protobuf::internal::WireFormatLite::
17708       InternalWriteMessageNoVirtualToArray(
17709         144, *this->crop_param_, false, target);
17710   }
17711
17712   // optional .opencv_caffe.ParameterParameter parameter_param = 145;
17713   if (has_parameter_param()) {
17714     target = ::google::protobuf::internal::WireFormatLite::
17715       InternalWriteMessageNoVirtualToArray(
17716         145, *this->parameter_param_, false, target);
17717   }
17718
17719   // optional .opencv_caffe.RecurrentParameter recurrent_param = 146;
17720   if (has_recurrent_param()) {
17721     target = ::google::protobuf::internal::WireFormatLite::
17722       InternalWriteMessageNoVirtualToArray(
17723         146, *this->recurrent_param_, false, target);
17724   }
17725
17726   // optional .opencv_caffe.DetectionOutputParameter detection_output_param = 147;
17727   if (has_detection_output_param()) {
17728     target = ::google::protobuf::internal::WireFormatLite::
17729       InternalWriteMessageNoVirtualToArray(
17730         147, *this->detection_output_param_, false, target);
17731   }
17732
17733   // optional .opencv_caffe.PermuteParameter permute_param = 148;
17734   if (has_permute_param()) {
17735     target = ::google::protobuf::internal::WireFormatLite::
17736       InternalWriteMessageNoVirtualToArray(
17737         148, *this->permute_param_, false, target);
17738   }
17739
17740   // optional .opencv_caffe.NormalizeBBoxParameter norm_param = 149;
17741   if (has_norm_param()) {
17742     target = ::google::protobuf::internal::WireFormatLite::
17743       InternalWriteMessageNoVirtualToArray(
17744         149, *this->norm_param_, false, target);
17745   }
17746
17747   // optional .opencv_caffe.PriorBoxParameter prior_box_param = 150;
17748   if (has_prior_box_param()) {
17749     target = ::google::protobuf::internal::WireFormatLite::
17750       InternalWriteMessageNoVirtualToArray(
17751         150, *this->prior_box_param_, false, target);
17752   }
17753
17754   // optional .opencv_caffe.ProposalParameter proposal_param = 201;
17755   if (has_proposal_param()) {
17756     target = ::google::protobuf::internal::WireFormatLite::
17757       InternalWriteMessageNoVirtualToArray(
17758         201, *this->proposal_param_, false, target);
17759   }
17760
17761   // optional .opencv_caffe.ROIPoolingParameter roi_pooling_param = 8266711;
17762   if (has_roi_pooling_param()) {
17763     target = ::google::protobuf::internal::WireFormatLite::
17764       InternalWriteMessageNoVirtualToArray(
17765         8266711, *this->roi_pooling_param_, false, target);
17766   }
17767
17768   if (_internal_metadata_.have_unknown_fields()) {
17769     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
17770         unknown_fields(), target);
17771   }
17772   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.LayerParameter)
17773   return target;
17774 }
17775
17776 size_t LayerParameter::ByteSizeLong() const {
17777 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.LayerParameter)
17778   size_t total_size = 0;
17779
17780   if (_has_bits_[0 / 32] & 19u) {
17781     // optional string name = 1;
17782     if (has_name()) {
17783       total_size += 1 +
17784         ::google::protobuf::internal::WireFormatLite::StringSize(
17785           this->name());
17786     }
17787
17788     // optional string type = 2;
17789     if (has_type()) {
17790       total_size += 1 +
17791         ::google::protobuf::internal::WireFormatLite::StringSize(
17792           this->type());
17793     }
17794
17795     // optional .opencv_caffe.Phase phase = 10;
17796     if (has_phase()) {
17797       total_size += 1 +
17798         ::google::protobuf::internal::WireFormatLite::EnumSize(this->phase());
17799     }
17800
17801   }
17802   if (_has_bits_[11 / 32] & 63488u) {
17803     // optional .opencv_caffe.TransformationParameter transform_param = 100;
17804     if (has_transform_param()) {
17805       total_size += 2 +
17806         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17807           *this->transform_param_);
17808     }
17809
17810     // optional .opencv_caffe.LossParameter loss_param = 101;
17811     if (has_loss_param()) {
17812       total_size += 2 +
17813         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17814           *this->loss_param_);
17815     }
17816
17817     // optional .opencv_caffe.AccuracyParameter accuracy_param = 102;
17818     if (has_accuracy_param()) {
17819       total_size += 2 +
17820         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17821           *this->accuracy_param_);
17822     }
17823
17824     // optional .opencv_caffe.ArgMaxParameter argmax_param = 103;
17825     if (has_argmax_param()) {
17826       total_size += 2 +
17827         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17828           *this->argmax_param_);
17829     }
17830
17831     // optional .opencv_caffe.BatchNormParameter batch_norm_param = 139;
17832     if (has_batch_norm_param()) {
17833       total_size += 2 +
17834         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17835           *this->batch_norm_param_);
17836     }
17837
17838   }
17839   if (_has_bits_[16 / 32] & 16711680u) {
17840     // optional .opencv_caffe.BiasParameter bias_param = 141;
17841     if (has_bias_param()) {
17842       total_size += 2 +
17843         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17844           *this->bias_param_);
17845     }
17846
17847     // optional .opencv_caffe.ConcatParameter concat_param = 104;
17848     if (has_concat_param()) {
17849       total_size += 2 +
17850         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17851           *this->concat_param_);
17852     }
17853
17854     // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 105;
17855     if (has_contrastive_loss_param()) {
17856       total_size += 2 +
17857         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17858           *this->contrastive_loss_param_);
17859     }
17860
17861     // optional .opencv_caffe.ConvolutionParameter convolution_param = 106;
17862     if (has_convolution_param()) {
17863       total_size += 2 +
17864         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17865           *this->convolution_param_);
17866     }
17867
17868     // optional .opencv_caffe.CropParameter crop_param = 144;
17869     if (has_crop_param()) {
17870       total_size += 2 +
17871         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17872           *this->crop_param_);
17873     }
17874
17875     // optional .opencv_caffe.DataParameter data_param = 107;
17876     if (has_data_param()) {
17877       total_size += 2 +
17878         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17879           *this->data_param_);
17880     }
17881
17882     // optional .opencv_caffe.DetectionOutputParameter detection_output_param = 147;
17883     if (has_detection_output_param()) {
17884       total_size += 2 +
17885         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17886           *this->detection_output_param_);
17887     }
17888
17889     // optional .opencv_caffe.DropoutParameter dropout_param = 108;
17890     if (has_dropout_param()) {
17891       total_size += 2 +
17892         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17893           *this->dropout_param_);
17894     }
17895
17896   }
17897   if (_has_bits_[24 / 32] & 4278190080u) {
17898     // optional .opencv_caffe.DummyDataParameter dummy_data_param = 109;
17899     if (has_dummy_data_param()) {
17900       total_size += 2 +
17901         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17902           *this->dummy_data_param_);
17903     }
17904
17905     // optional .opencv_caffe.EltwiseParameter eltwise_param = 110;
17906     if (has_eltwise_param()) {
17907       total_size += 2 +
17908         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17909           *this->eltwise_param_);
17910     }
17911
17912     // optional .opencv_caffe.ELUParameter elu_param = 140;
17913     if (has_elu_param()) {
17914       total_size += 2 +
17915         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17916           *this->elu_param_);
17917     }
17918
17919     // optional .opencv_caffe.EmbedParameter embed_param = 137;
17920     if (has_embed_param()) {
17921       total_size += 2 +
17922         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17923           *this->embed_param_);
17924     }
17925
17926     // optional .opencv_caffe.ExpParameter exp_param = 111;
17927     if (has_exp_param()) {
17928       total_size += 2 +
17929         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17930           *this->exp_param_);
17931     }
17932
17933     // optional .opencv_caffe.FlattenParameter flatten_param = 135;
17934     if (has_flatten_param()) {
17935       total_size += 2 +
17936         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17937           *this->flatten_param_);
17938     }
17939
17940     // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 112;
17941     if (has_hdf5_data_param()) {
17942       total_size += 2 +
17943         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17944           *this->hdf5_data_param_);
17945     }
17946
17947     // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 113;
17948     if (has_hdf5_output_param()) {
17949       total_size += 2 +
17950         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17951           *this->hdf5_output_param_);
17952     }
17953
17954   }
17955   if (_has_bits_[32 / 32] & 255u) {
17956     // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 114;
17957     if (has_hinge_loss_param()) {
17958       total_size += 2 +
17959         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17960           *this->hinge_loss_param_);
17961     }
17962
17963     // optional .opencv_caffe.ImageDataParameter image_data_param = 115;
17964     if (has_image_data_param()) {
17965       total_size += 2 +
17966         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17967           *this->image_data_param_);
17968     }
17969
17970     // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 116;
17971     if (has_infogain_loss_param()) {
17972       total_size += 2 +
17973         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17974           *this->infogain_loss_param_);
17975     }
17976
17977     // optional .opencv_caffe.InnerProductParameter inner_product_param = 117;
17978     if (has_inner_product_param()) {
17979       total_size += 2 +
17980         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17981           *this->inner_product_param_);
17982     }
17983
17984     // optional .opencv_caffe.InputParameter input_param = 143;
17985     if (has_input_param()) {
17986       total_size += 2 +
17987         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17988           *this->input_param_);
17989     }
17990
17991     // optional .opencv_caffe.LogParameter log_param = 134;
17992     if (has_log_param()) {
17993       total_size += 2 +
17994         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17995           *this->log_param_);
17996     }
17997
17998     // optional .opencv_caffe.LRNParameter lrn_param = 118;
17999     if (has_lrn_param()) {
18000       total_size += 2 +
18001         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18002           *this->lrn_param_);
18003     }
18004
18005     // optional .opencv_caffe.MemoryDataParameter memory_data_param = 119;
18006     if (has_memory_data_param()) {
18007       total_size += 2 +
18008         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18009           *this->memory_data_param_);
18010     }
18011
18012   }
18013   if (_has_bits_[40 / 32] & 65280u) {
18014     // optional .opencv_caffe.MVNParameter mvn_param = 120;
18015     if (has_mvn_param()) {
18016       total_size += 2 +
18017         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18018           *this->mvn_param_);
18019     }
18020
18021     // optional .opencv_caffe.NormalizeBBoxParameter norm_param = 149;
18022     if (has_norm_param()) {
18023       total_size += 2 +
18024         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18025           *this->norm_param_);
18026     }
18027
18028     // optional .opencv_caffe.PermuteParameter permute_param = 148;
18029     if (has_permute_param()) {
18030       total_size += 2 +
18031         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18032           *this->permute_param_);
18033     }
18034
18035     // optional .opencv_caffe.ParameterParameter parameter_param = 145;
18036     if (has_parameter_param()) {
18037       total_size += 2 +
18038         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18039           *this->parameter_param_);
18040     }
18041
18042     // optional .opencv_caffe.PoolingParameter pooling_param = 121;
18043     if (has_pooling_param()) {
18044       total_size += 2 +
18045         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18046           *this->pooling_param_);
18047     }
18048
18049     // optional .opencv_caffe.PowerParameter power_param = 122;
18050     if (has_power_param()) {
18051       total_size += 2 +
18052         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18053           *this->power_param_);
18054     }
18055
18056     // optional .opencv_caffe.PReLUParameter prelu_param = 131;
18057     if (has_prelu_param()) {
18058       total_size += 2 +
18059         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18060           *this->prelu_param_);
18061     }
18062
18063     // optional .opencv_caffe.PriorBoxParameter prior_box_param = 150;
18064     if (has_prior_box_param()) {
18065       total_size += 2 +
18066         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18067           *this->prior_box_param_);
18068     }
18069
18070   }
18071   if (_has_bits_[48 / 32] & 16711680u) {
18072     // optional .opencv_caffe.ProposalParameter proposal_param = 201;
18073     if (has_proposal_param()) {
18074       total_size += 2 +
18075         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18076           *this->proposal_param_);
18077     }
18078
18079     // optional .opencv_caffe.PythonParameter python_param = 130;
18080     if (has_python_param()) {
18081       total_size += 2 +
18082         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18083           *this->python_param_);
18084     }
18085
18086     // optional .opencv_caffe.RecurrentParameter recurrent_param = 146;
18087     if (has_recurrent_param()) {
18088       total_size += 2 +
18089         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18090           *this->recurrent_param_);
18091     }
18092
18093     // optional .opencv_caffe.ReductionParameter reduction_param = 136;
18094     if (has_reduction_param()) {
18095       total_size += 2 +
18096         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18097           *this->reduction_param_);
18098     }
18099
18100     // optional .opencv_caffe.ReLUParameter relu_param = 123;
18101     if (has_relu_param()) {
18102       total_size += 2 +
18103         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18104           *this->relu_param_);
18105     }
18106
18107     // optional .opencv_caffe.ReshapeParameter reshape_param = 133;
18108     if (has_reshape_param()) {
18109       total_size += 2 +
18110         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18111           *this->reshape_param_);
18112     }
18113
18114     // optional .opencv_caffe.ROIPoolingParameter roi_pooling_param = 8266711;
18115     if (has_roi_pooling_param()) {
18116       total_size += 4 +
18117         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18118           *this->roi_pooling_param_);
18119     }
18120
18121     // optional .opencv_caffe.ScaleParameter scale_param = 142;
18122     if (has_scale_param()) {
18123       total_size += 2 +
18124         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18125           *this->scale_param_);
18126     }
18127
18128   }
18129   if (_has_bits_[56 / 32] & 4278190080u) {
18130     // optional .opencv_caffe.SigmoidParameter sigmoid_param = 124;
18131     if (has_sigmoid_param()) {
18132       total_size += 2 +
18133         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18134           *this->sigmoid_param_);
18135     }
18136
18137     // optional .opencv_caffe.SoftmaxParameter softmax_param = 125;
18138     if (has_softmax_param()) {
18139       total_size += 2 +
18140         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18141           *this->softmax_param_);
18142     }
18143
18144     // optional .opencv_caffe.SPPParameter spp_param = 132;
18145     if (has_spp_param()) {
18146       total_size += 2 +
18147         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18148           *this->spp_param_);
18149     }
18150
18151     // optional .opencv_caffe.SliceParameter slice_param = 126;
18152     if (has_slice_param()) {
18153       total_size += 2 +
18154         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18155           *this->slice_param_);
18156     }
18157
18158     // optional .opencv_caffe.TanHParameter tanh_param = 127;
18159     if (has_tanh_param()) {
18160       total_size += 2 +
18161         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18162           *this->tanh_param_);
18163     }
18164
18165     // optional .opencv_caffe.ThresholdParameter threshold_param = 128;
18166     if (has_threshold_param()) {
18167       total_size += 2 +
18168         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18169           *this->threshold_param_);
18170     }
18171
18172     // optional .opencv_caffe.TileParameter tile_param = 138;
18173     if (has_tile_param()) {
18174       total_size += 2 +
18175         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18176           *this->tile_param_);
18177     }
18178
18179     // optional .opencv_caffe.WindowDataParameter window_data_param = 129;
18180     if (has_window_data_param()) {
18181       total_size += 2 +
18182         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18183           *this->window_data_param_);
18184     }
18185
18186   }
18187   // repeated string bottom = 3;
18188   total_size += 1 *
18189       ::google::protobuf::internal::FromIntSize(this->bottom_size());
18190   for (int i = 0; i < this->bottom_size(); i++) {
18191     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
18192       this->bottom(i));
18193   }
18194
18195   // repeated string top = 4;
18196   total_size += 1 *
18197       ::google::protobuf::internal::FromIntSize(this->top_size());
18198   for (int i = 0; i < this->top_size(); i++) {
18199     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
18200       this->top(i));
18201   }
18202
18203   // repeated float loss_weight = 5;
18204   {
18205     size_t data_size = 0;
18206     unsigned int count = this->loss_weight_size();
18207     data_size = 4UL * count;
18208     total_size += 1 *
18209                   ::google::protobuf::internal::FromIntSize(this->loss_weight_size());
18210     total_size += data_size;
18211   }
18212
18213   // repeated .opencv_caffe.ParamSpec param = 6;
18214   {
18215     unsigned int count = this->param_size();
18216     total_size += 1UL * count;
18217     for (unsigned int i = 0; i < count; i++) {
18218       total_size +=
18219         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18220           this->param(i));
18221     }
18222   }
18223
18224   // repeated .opencv_caffe.BlobProto blobs = 7;
18225   {
18226     unsigned int count = this->blobs_size();
18227     total_size += 1UL * count;
18228     for (unsigned int i = 0; i < count; i++) {
18229       total_size +=
18230         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18231           this->blobs(i));
18232     }
18233   }
18234
18235   // repeated bool propagate_down = 11;
18236   {
18237     size_t data_size = 0;
18238     unsigned int count = this->propagate_down_size();
18239     data_size = 1UL * count;
18240     total_size += 1 *
18241                   ::google::protobuf::internal::FromIntSize(this->propagate_down_size());
18242     total_size += data_size;
18243   }
18244
18245   // repeated .opencv_caffe.NetStateRule include = 8;
18246   {
18247     unsigned int count = this->include_size();
18248     total_size += 1UL * count;
18249     for (unsigned int i = 0; i < count; i++) {
18250       total_size +=
18251         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18252           this->include(i));
18253     }
18254   }
18255
18256   // repeated .opencv_caffe.NetStateRule exclude = 9;
18257   {
18258     unsigned int count = this->exclude_size();
18259     total_size += 1UL * count;
18260     for (unsigned int i = 0; i < count; i++) {
18261       total_size +=
18262         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18263           this->exclude(i));
18264     }
18265   }
18266
18267   if (_internal_metadata_.have_unknown_fields()) {
18268     total_size +=
18269       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
18270         unknown_fields());
18271   }
18272   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
18273   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
18274   _cached_size_ = cached_size;
18275   GOOGLE_SAFE_CONCURRENT_WRITES_END();
18276   return total_size;
18277 }
18278
18279 void LayerParameter::MergeFrom(const ::google::protobuf::Message& from) {
18280 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.LayerParameter)
18281   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
18282   const LayerParameter* source =
18283       ::google::protobuf::internal::DynamicCastToGenerated<const LayerParameter>(
18284           &from);
18285   if (source == NULL) {
18286   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.LayerParameter)
18287     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
18288   } else {
18289   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.LayerParameter)
18290     UnsafeMergeFrom(*source);
18291   }
18292 }
18293
18294 void LayerParameter::MergeFrom(const LayerParameter& from) {
18295 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.LayerParameter)
18296   if (GOOGLE_PREDICT_TRUE(&from != this)) {
18297     UnsafeMergeFrom(from);
18298   } else {
18299     MergeFromFail(__LINE__);
18300   }
18301 }
18302
18303 void LayerParameter::UnsafeMergeFrom(const LayerParameter& from) {
18304   GOOGLE_DCHECK(&from != this);
18305   bottom_.UnsafeMergeFrom(from.bottom_);
18306   top_.UnsafeMergeFrom(from.top_);
18307   loss_weight_.UnsafeMergeFrom(from.loss_weight_);
18308   param_.MergeFrom(from.param_);
18309   blobs_.MergeFrom(from.blobs_);
18310   propagate_down_.UnsafeMergeFrom(from.propagate_down_);
18311   include_.MergeFrom(from.include_);
18312   exclude_.MergeFrom(from.exclude_);
18313   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
18314     if (from.has_name()) {
18315       set_has_name();
18316       name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
18317     }
18318     if (from.has_type()) {
18319       set_has_type();
18320       type_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.type_);
18321     }
18322     if (from.has_phase()) {
18323       set_phase(from.phase());
18324     }
18325   }
18326   if (from._has_bits_[11 / 32] & (0xffu << (11 % 32))) {
18327     if (from.has_transform_param()) {
18328       mutable_transform_param()->::opencv_caffe::TransformationParameter::MergeFrom(from.transform_param());
18329     }
18330     if (from.has_loss_param()) {
18331       mutable_loss_param()->::opencv_caffe::LossParameter::MergeFrom(from.loss_param());
18332     }
18333     if (from.has_accuracy_param()) {
18334       mutable_accuracy_param()->::opencv_caffe::AccuracyParameter::MergeFrom(from.accuracy_param());
18335     }
18336     if (from.has_argmax_param()) {
18337       mutable_argmax_param()->::opencv_caffe::ArgMaxParameter::MergeFrom(from.argmax_param());
18338     }
18339     if (from.has_batch_norm_param()) {
18340       mutable_batch_norm_param()->::opencv_caffe::BatchNormParameter::MergeFrom(from.batch_norm_param());
18341     }
18342   }
18343   if (from._has_bits_[16 / 32] & (0xffu << (16 % 32))) {
18344     if (from.has_bias_param()) {
18345       mutable_bias_param()->::opencv_caffe::BiasParameter::MergeFrom(from.bias_param());
18346     }
18347     if (from.has_concat_param()) {
18348       mutable_concat_param()->::opencv_caffe::ConcatParameter::MergeFrom(from.concat_param());
18349     }
18350     if (from.has_contrastive_loss_param()) {
18351       mutable_contrastive_loss_param()->::opencv_caffe::ContrastiveLossParameter::MergeFrom(from.contrastive_loss_param());
18352     }
18353     if (from.has_convolution_param()) {
18354       mutable_convolution_param()->::opencv_caffe::ConvolutionParameter::MergeFrom(from.convolution_param());
18355     }
18356     if (from.has_crop_param()) {
18357       mutable_crop_param()->::opencv_caffe::CropParameter::MergeFrom(from.crop_param());
18358     }
18359     if (from.has_data_param()) {
18360       mutable_data_param()->::opencv_caffe::DataParameter::MergeFrom(from.data_param());
18361     }
18362     if (from.has_detection_output_param()) {
18363       mutable_detection_output_param()->::opencv_caffe::DetectionOutputParameter::MergeFrom(from.detection_output_param());
18364     }
18365     if (from.has_dropout_param()) {
18366       mutable_dropout_param()->::opencv_caffe::DropoutParameter::MergeFrom(from.dropout_param());
18367     }
18368   }
18369   if (from._has_bits_[24 / 32] & (0xffu << (24 % 32))) {
18370     if (from.has_dummy_data_param()) {
18371       mutable_dummy_data_param()->::opencv_caffe::DummyDataParameter::MergeFrom(from.dummy_data_param());
18372     }
18373     if (from.has_eltwise_param()) {
18374       mutable_eltwise_param()->::opencv_caffe::EltwiseParameter::MergeFrom(from.eltwise_param());
18375     }
18376     if (from.has_elu_param()) {
18377       mutable_elu_param()->::opencv_caffe::ELUParameter::MergeFrom(from.elu_param());
18378     }
18379     if (from.has_embed_param()) {
18380       mutable_embed_param()->::opencv_caffe::EmbedParameter::MergeFrom(from.embed_param());
18381     }
18382     if (from.has_exp_param()) {
18383       mutable_exp_param()->::opencv_caffe::ExpParameter::MergeFrom(from.exp_param());
18384     }
18385     if (from.has_flatten_param()) {
18386       mutable_flatten_param()->::opencv_caffe::FlattenParameter::MergeFrom(from.flatten_param());
18387     }
18388     if (from.has_hdf5_data_param()) {
18389       mutable_hdf5_data_param()->::opencv_caffe::HDF5DataParameter::MergeFrom(from.hdf5_data_param());
18390     }
18391     if (from.has_hdf5_output_param()) {
18392       mutable_hdf5_output_param()->::opencv_caffe::HDF5OutputParameter::MergeFrom(from.hdf5_output_param());
18393     }
18394   }
18395   if (from._has_bits_[32 / 32] & (0xffu << (32 % 32))) {
18396     if (from.has_hinge_loss_param()) {
18397       mutable_hinge_loss_param()->::opencv_caffe::HingeLossParameter::MergeFrom(from.hinge_loss_param());
18398     }
18399     if (from.has_image_data_param()) {
18400       mutable_image_data_param()->::opencv_caffe::ImageDataParameter::MergeFrom(from.image_data_param());
18401     }
18402     if (from.has_infogain_loss_param()) {
18403       mutable_infogain_loss_param()->::opencv_caffe::InfogainLossParameter::MergeFrom(from.infogain_loss_param());
18404     }
18405     if (from.has_inner_product_param()) {
18406       mutable_inner_product_param()->::opencv_caffe::InnerProductParameter::MergeFrom(from.inner_product_param());
18407     }
18408     if (from.has_input_param()) {
18409       mutable_input_param()->::opencv_caffe::InputParameter::MergeFrom(from.input_param());
18410     }
18411     if (from.has_log_param()) {
18412       mutable_log_param()->::opencv_caffe::LogParameter::MergeFrom(from.log_param());
18413     }
18414     if (from.has_lrn_param()) {
18415       mutable_lrn_param()->::opencv_caffe::LRNParameter::MergeFrom(from.lrn_param());
18416     }
18417     if (from.has_memory_data_param()) {
18418       mutable_memory_data_param()->::opencv_caffe::MemoryDataParameter::MergeFrom(from.memory_data_param());
18419     }
18420   }
18421   if (from._has_bits_[40 / 32] & (0xffu << (40 % 32))) {
18422     if (from.has_mvn_param()) {
18423       mutable_mvn_param()->::opencv_caffe::MVNParameter::MergeFrom(from.mvn_param());
18424     }
18425     if (from.has_norm_param()) {
18426       mutable_norm_param()->::opencv_caffe::NormalizeBBoxParameter::MergeFrom(from.norm_param());
18427     }
18428     if (from.has_permute_param()) {
18429       mutable_permute_param()->::opencv_caffe::PermuteParameter::MergeFrom(from.permute_param());
18430     }
18431     if (from.has_parameter_param()) {
18432       mutable_parameter_param()->::opencv_caffe::ParameterParameter::MergeFrom(from.parameter_param());
18433     }
18434     if (from.has_pooling_param()) {
18435       mutable_pooling_param()->::opencv_caffe::PoolingParameter::MergeFrom(from.pooling_param());
18436     }
18437     if (from.has_power_param()) {
18438       mutable_power_param()->::opencv_caffe::PowerParameter::MergeFrom(from.power_param());
18439     }
18440     if (from.has_prelu_param()) {
18441       mutable_prelu_param()->::opencv_caffe::PReLUParameter::MergeFrom(from.prelu_param());
18442     }
18443     if (from.has_prior_box_param()) {
18444       mutable_prior_box_param()->::opencv_caffe::PriorBoxParameter::MergeFrom(from.prior_box_param());
18445     }
18446   }
18447   if (from._has_bits_[48 / 32] & (0xffu << (48 % 32))) {
18448     if (from.has_proposal_param()) {
18449       mutable_proposal_param()->::opencv_caffe::ProposalParameter::MergeFrom(from.proposal_param());
18450     }
18451     if (from.has_python_param()) {
18452       mutable_python_param()->::opencv_caffe::PythonParameter::MergeFrom(from.python_param());
18453     }
18454     if (from.has_recurrent_param()) {
18455       mutable_recurrent_param()->::opencv_caffe::RecurrentParameter::MergeFrom(from.recurrent_param());
18456     }
18457     if (from.has_reduction_param()) {
18458       mutable_reduction_param()->::opencv_caffe::ReductionParameter::MergeFrom(from.reduction_param());
18459     }
18460     if (from.has_relu_param()) {
18461       mutable_relu_param()->::opencv_caffe::ReLUParameter::MergeFrom(from.relu_param());
18462     }
18463     if (from.has_reshape_param()) {
18464       mutable_reshape_param()->::opencv_caffe::ReshapeParameter::MergeFrom(from.reshape_param());
18465     }
18466     if (from.has_roi_pooling_param()) {
18467       mutable_roi_pooling_param()->::opencv_caffe::ROIPoolingParameter::MergeFrom(from.roi_pooling_param());
18468     }
18469     if (from.has_scale_param()) {
18470       mutable_scale_param()->::opencv_caffe::ScaleParameter::MergeFrom(from.scale_param());
18471     }
18472   }
18473   if (from._has_bits_[56 / 32] & (0xffu << (56 % 32))) {
18474     if (from.has_sigmoid_param()) {
18475       mutable_sigmoid_param()->::opencv_caffe::SigmoidParameter::MergeFrom(from.sigmoid_param());
18476     }
18477     if (from.has_softmax_param()) {
18478       mutable_softmax_param()->::opencv_caffe::SoftmaxParameter::MergeFrom(from.softmax_param());
18479     }
18480     if (from.has_spp_param()) {
18481       mutable_spp_param()->::opencv_caffe::SPPParameter::MergeFrom(from.spp_param());
18482     }
18483     if (from.has_slice_param()) {
18484       mutable_slice_param()->::opencv_caffe::SliceParameter::MergeFrom(from.slice_param());
18485     }
18486     if (from.has_tanh_param()) {
18487       mutable_tanh_param()->::opencv_caffe::TanHParameter::MergeFrom(from.tanh_param());
18488     }
18489     if (from.has_threshold_param()) {
18490       mutable_threshold_param()->::opencv_caffe::ThresholdParameter::MergeFrom(from.threshold_param());
18491     }
18492     if (from.has_tile_param()) {
18493       mutable_tile_param()->::opencv_caffe::TileParameter::MergeFrom(from.tile_param());
18494     }
18495     if (from.has_window_data_param()) {
18496       mutable_window_data_param()->::opencv_caffe::WindowDataParameter::MergeFrom(from.window_data_param());
18497     }
18498   }
18499   if (from._internal_metadata_.have_unknown_fields()) {
18500     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
18501       from.unknown_fields(), &_internal_metadata_);
18502   }
18503 }
18504
18505 void LayerParameter::CopyFrom(const ::google::protobuf::Message& from) {
18506 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.LayerParameter)
18507   if (&from == this) return;
18508   Clear();
18509   MergeFrom(from);
18510 }
18511
18512 void LayerParameter::CopyFrom(const LayerParameter& from) {
18513 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.LayerParameter)
18514   if (&from == this) return;
18515   Clear();
18516   UnsafeMergeFrom(from);
18517 }
18518
18519 bool LayerParameter::IsInitialized() const {
18520
18521   return true;
18522 }
18523
18524 void LayerParameter::Swap(LayerParameter* other) {
18525   if (other == this) return;
18526   InternalSwap(other);
18527 }
18528 void LayerParameter::InternalSwap(LayerParameter* other) {
18529   name_.Swap(&other->name_);
18530   type_.Swap(&other->type_);
18531   bottom_.UnsafeArenaSwap(&other->bottom_);
18532   top_.UnsafeArenaSwap(&other->top_);
18533   std::swap(phase_, other->phase_);
18534   loss_weight_.UnsafeArenaSwap(&other->loss_weight_);
18535   param_.UnsafeArenaSwap(&other->param_);
18536   blobs_.UnsafeArenaSwap(&other->blobs_);
18537   propagate_down_.UnsafeArenaSwap(&other->propagate_down_);
18538   include_.UnsafeArenaSwap(&other->include_);
18539   exclude_.UnsafeArenaSwap(&other->exclude_);
18540   std::swap(transform_param_, other->transform_param_);
18541   std::swap(loss_param_, other->loss_param_);
18542   std::swap(accuracy_param_, other->accuracy_param_);
18543   std::swap(argmax_param_, other->argmax_param_);
18544   std::swap(batch_norm_param_, other->batch_norm_param_);
18545   std::swap(bias_param_, other->bias_param_);
18546   std::swap(concat_param_, other->concat_param_);
18547   std::swap(contrastive_loss_param_, other->contrastive_loss_param_);
18548   std::swap(convolution_param_, other->convolution_param_);
18549   std::swap(crop_param_, other->crop_param_);
18550   std::swap(data_param_, other->data_param_);
18551   std::swap(detection_output_param_, other->detection_output_param_);
18552   std::swap(dropout_param_, other->dropout_param_);
18553   std::swap(dummy_data_param_, other->dummy_data_param_);
18554   std::swap(eltwise_param_, other->eltwise_param_);
18555   std::swap(elu_param_, other->elu_param_);
18556   std::swap(embed_param_, other->embed_param_);
18557   std::swap(exp_param_, other->exp_param_);
18558   std::swap(flatten_param_, other->flatten_param_);
18559   std::swap(hdf5_data_param_, other->hdf5_data_param_);
18560   std::swap(hdf5_output_param_, other->hdf5_output_param_);
18561   std::swap(hinge_loss_param_, other->hinge_loss_param_);
18562   std::swap(image_data_param_, other->image_data_param_);
18563   std::swap(infogain_loss_param_, other->infogain_loss_param_);
18564   std::swap(inner_product_param_, other->inner_product_param_);
18565   std::swap(input_param_, other->input_param_);
18566   std::swap(log_param_, other->log_param_);
18567   std::swap(lrn_param_, other->lrn_param_);
18568   std::swap(memory_data_param_, other->memory_data_param_);
18569   std::swap(mvn_param_, other->mvn_param_);
18570   std::swap(norm_param_, other->norm_param_);
18571   std::swap(permute_param_, other->permute_param_);
18572   std::swap(parameter_param_, other->parameter_param_);
18573   std::swap(pooling_param_, other->pooling_param_);
18574   std::swap(power_param_, other->power_param_);
18575   std::swap(prelu_param_, other->prelu_param_);
18576   std::swap(prior_box_param_, other->prior_box_param_);
18577   std::swap(proposal_param_, other->proposal_param_);
18578   std::swap(python_param_, other->python_param_);
18579   std::swap(recurrent_param_, other->recurrent_param_);
18580   std::swap(reduction_param_, other->reduction_param_);
18581   std::swap(relu_param_, other->relu_param_);
18582   std::swap(reshape_param_, other->reshape_param_);
18583   std::swap(roi_pooling_param_, other->roi_pooling_param_);
18584   std::swap(scale_param_, other->scale_param_);
18585   std::swap(sigmoid_param_, other->sigmoid_param_);
18586   std::swap(softmax_param_, other->softmax_param_);
18587   std::swap(spp_param_, other->spp_param_);
18588   std::swap(slice_param_, other->slice_param_);
18589   std::swap(tanh_param_, other->tanh_param_);
18590   std::swap(threshold_param_, other->threshold_param_);
18591   std::swap(tile_param_, other->tile_param_);
18592   std::swap(window_data_param_, other->window_data_param_);
18593   std::swap(_has_bits_[0], other->_has_bits_[0]);
18594   std::swap(_has_bits_[1], other->_has_bits_[1]);
18595   _internal_metadata_.Swap(&other->_internal_metadata_);
18596   std::swap(_cached_size_, other->_cached_size_);
18597 }
18598
18599 ::google::protobuf::Metadata LayerParameter::GetMetadata() const {
18600   protobuf_AssignDescriptorsOnce();
18601   ::google::protobuf::Metadata metadata;
18602   metadata.descriptor = LayerParameter_descriptor_;
18603   metadata.reflection = LayerParameter_reflection_;
18604   return metadata;
18605 }
18606
18607 #if PROTOBUF_INLINE_NOT_IN_HEADERS
18608 // LayerParameter
18609
18610 // optional string name = 1;
18611 bool LayerParameter::has_name() const {
18612   return (_has_bits_[0] & 0x00000001u) != 0;
18613 }
18614 void LayerParameter::set_has_name() {
18615   _has_bits_[0] |= 0x00000001u;
18616 }
18617 void LayerParameter::clear_has_name() {
18618   _has_bits_[0] &= ~0x00000001u;
18619 }
18620 void LayerParameter::clear_name() {
18621   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
18622   clear_has_name();
18623 }
18624 const ::std::string& LayerParameter::name() const {
18625   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.name)
18626   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
18627 }
18628 void LayerParameter::set_name(const ::std::string& value) {
18629   set_has_name();
18630   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
18631   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.name)
18632 }
18633 void LayerParameter::set_name(const char* value) {
18634   set_has_name();
18635   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
18636   // @@protoc_insertion_point(field_set_char:opencv_caffe.LayerParameter.name)
18637 }
18638 void LayerParameter::set_name(const char* value, size_t size) {
18639   set_has_name();
18640   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
18641       ::std::string(reinterpret_cast<const char*>(value), size));
18642   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.LayerParameter.name)
18643 }
18644 ::std::string* LayerParameter::mutable_name() {
18645   set_has_name();
18646   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.name)
18647   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
18648 }
18649 ::std::string* LayerParameter::release_name() {
18650   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.name)
18651   clear_has_name();
18652   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
18653 }
18654 void LayerParameter::set_allocated_name(::std::string* name) {
18655   if (name != NULL) {
18656     set_has_name();
18657   } else {
18658     clear_has_name();
18659   }
18660   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
18661   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.name)
18662 }
18663
18664 // optional string type = 2;
18665 bool LayerParameter::has_type() const {
18666   return (_has_bits_[0] & 0x00000002u) != 0;
18667 }
18668 void LayerParameter::set_has_type() {
18669   _has_bits_[0] |= 0x00000002u;
18670 }
18671 void LayerParameter::clear_has_type() {
18672   _has_bits_[0] &= ~0x00000002u;
18673 }
18674 void LayerParameter::clear_type() {
18675   type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
18676   clear_has_type();
18677 }
18678 const ::std::string& LayerParameter::type() const {
18679   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.type)
18680   return type_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
18681 }
18682 void LayerParameter::set_type(const ::std::string& value) {
18683   set_has_type();
18684   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
18685   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.type)
18686 }
18687 void LayerParameter::set_type(const char* value) {
18688   set_has_type();
18689   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
18690   // @@protoc_insertion_point(field_set_char:opencv_caffe.LayerParameter.type)
18691 }
18692 void LayerParameter::set_type(const char* value, size_t size) {
18693   set_has_type();
18694   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
18695       ::std::string(reinterpret_cast<const char*>(value), size));
18696   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.LayerParameter.type)
18697 }
18698 ::std::string* LayerParameter::mutable_type() {
18699   set_has_type();
18700   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.type)
18701   return type_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
18702 }
18703 ::std::string* LayerParameter::release_type() {
18704   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.type)
18705   clear_has_type();
18706   return type_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
18707 }
18708 void LayerParameter::set_allocated_type(::std::string* type) {
18709   if (type != NULL) {
18710     set_has_type();
18711   } else {
18712     clear_has_type();
18713   }
18714   type_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), type);
18715   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.type)
18716 }
18717
18718 // repeated string bottom = 3;
18719 int LayerParameter::bottom_size() const {
18720   return bottom_.size();
18721 }
18722 void LayerParameter::clear_bottom() {
18723   bottom_.Clear();
18724 }
18725 const ::std::string& LayerParameter::bottom(int index) const {
18726   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.bottom)
18727   return bottom_.Get(index);
18728 }
18729 ::std::string* LayerParameter::mutable_bottom(int index) {
18730   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.bottom)
18731   return bottom_.Mutable(index);
18732 }
18733 void LayerParameter::set_bottom(int index, const ::std::string& value) {
18734   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.bottom)
18735   bottom_.Mutable(index)->assign(value);
18736 }
18737 void LayerParameter::set_bottom(int index, const char* value) {
18738   bottom_.Mutable(index)->assign(value);
18739   // @@protoc_insertion_point(field_set_char:opencv_caffe.LayerParameter.bottom)
18740 }
18741 void LayerParameter::set_bottom(int index, const char* value, size_t size) {
18742   bottom_.Mutable(index)->assign(
18743     reinterpret_cast<const char*>(value), size);
18744   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.LayerParameter.bottom)
18745 }
18746 ::std::string* LayerParameter::add_bottom() {
18747   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.LayerParameter.bottom)
18748   return bottom_.Add();
18749 }
18750 void LayerParameter::add_bottom(const ::std::string& value) {
18751   bottom_.Add()->assign(value);
18752   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.bottom)
18753 }
18754 void LayerParameter::add_bottom(const char* value) {
18755   bottom_.Add()->assign(value);
18756   // @@protoc_insertion_point(field_add_char:opencv_caffe.LayerParameter.bottom)
18757 }
18758 void LayerParameter::add_bottom(const char* value, size_t size) {
18759   bottom_.Add()->assign(reinterpret_cast<const char*>(value), size);
18760   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.LayerParameter.bottom)
18761 }
18762 const ::google::protobuf::RepeatedPtrField< ::std::string>&
18763 LayerParameter::bottom() const {
18764   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.bottom)
18765   return bottom_;
18766 }
18767 ::google::protobuf::RepeatedPtrField< ::std::string>*
18768 LayerParameter::mutable_bottom() {
18769   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.bottom)
18770   return &bottom_;
18771 }
18772
18773 // repeated string top = 4;
18774 int LayerParameter::top_size() const {
18775   return top_.size();
18776 }
18777 void LayerParameter::clear_top() {
18778   top_.Clear();
18779 }
18780 const ::std::string& LayerParameter::top(int index) const {
18781   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.top)
18782   return top_.Get(index);
18783 }
18784 ::std::string* LayerParameter::mutable_top(int index) {
18785   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.top)
18786   return top_.Mutable(index);
18787 }
18788 void LayerParameter::set_top(int index, const ::std::string& value) {
18789   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.top)
18790   top_.Mutable(index)->assign(value);
18791 }
18792 void LayerParameter::set_top(int index, const char* value) {
18793   top_.Mutable(index)->assign(value);
18794   // @@protoc_insertion_point(field_set_char:opencv_caffe.LayerParameter.top)
18795 }
18796 void LayerParameter::set_top(int index, const char* value, size_t size) {
18797   top_.Mutable(index)->assign(
18798     reinterpret_cast<const char*>(value), size);
18799   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.LayerParameter.top)
18800 }
18801 ::std::string* LayerParameter::add_top() {
18802   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.LayerParameter.top)
18803   return top_.Add();
18804 }
18805 void LayerParameter::add_top(const ::std::string& value) {
18806   top_.Add()->assign(value);
18807   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.top)
18808 }
18809 void LayerParameter::add_top(const char* value) {
18810   top_.Add()->assign(value);
18811   // @@protoc_insertion_point(field_add_char:opencv_caffe.LayerParameter.top)
18812 }
18813 void LayerParameter::add_top(const char* value, size_t size) {
18814   top_.Add()->assign(reinterpret_cast<const char*>(value), size);
18815   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.LayerParameter.top)
18816 }
18817 const ::google::protobuf::RepeatedPtrField< ::std::string>&
18818 LayerParameter::top() const {
18819   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.top)
18820   return top_;
18821 }
18822 ::google::protobuf::RepeatedPtrField< ::std::string>*
18823 LayerParameter::mutable_top() {
18824   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.top)
18825   return &top_;
18826 }
18827
18828 // optional .opencv_caffe.Phase phase = 10;
18829 bool LayerParameter::has_phase() const {
18830   return (_has_bits_[0] & 0x00000010u) != 0;
18831 }
18832 void LayerParameter::set_has_phase() {
18833   _has_bits_[0] |= 0x00000010u;
18834 }
18835 void LayerParameter::clear_has_phase() {
18836   _has_bits_[0] &= ~0x00000010u;
18837 }
18838 void LayerParameter::clear_phase() {
18839   phase_ = 0;
18840   clear_has_phase();
18841 }
18842 ::opencv_caffe::Phase LayerParameter::phase() const {
18843   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.phase)
18844   return static_cast< ::opencv_caffe::Phase >(phase_);
18845 }
18846 void LayerParameter::set_phase(::opencv_caffe::Phase value) {
18847   assert(::opencv_caffe::Phase_IsValid(value));
18848   set_has_phase();
18849   phase_ = value;
18850   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.phase)
18851 }
18852
18853 // repeated float loss_weight = 5;
18854 int LayerParameter::loss_weight_size() const {
18855   return loss_weight_.size();
18856 }
18857 void LayerParameter::clear_loss_weight() {
18858   loss_weight_.Clear();
18859 }
18860 float LayerParameter::loss_weight(int index) const {
18861   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.loss_weight)
18862   return loss_weight_.Get(index);
18863 }
18864 void LayerParameter::set_loss_weight(int index, float value) {
18865   loss_weight_.Set(index, value);
18866   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.loss_weight)
18867 }
18868 void LayerParameter::add_loss_weight(float value) {
18869   loss_weight_.Add(value);
18870   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.loss_weight)
18871 }
18872 const ::google::protobuf::RepeatedField< float >&
18873 LayerParameter::loss_weight() const {
18874   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.loss_weight)
18875   return loss_weight_;
18876 }
18877 ::google::protobuf::RepeatedField< float >*
18878 LayerParameter::mutable_loss_weight() {
18879   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.loss_weight)
18880   return &loss_weight_;
18881 }
18882
18883 // repeated .opencv_caffe.ParamSpec param = 6;
18884 int LayerParameter::param_size() const {
18885   return param_.size();
18886 }
18887 void LayerParameter::clear_param() {
18888   param_.Clear();
18889 }
18890 const ::opencv_caffe::ParamSpec& LayerParameter::param(int index) const {
18891   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.param)
18892   return param_.Get(index);
18893 }
18894 ::opencv_caffe::ParamSpec* LayerParameter::mutable_param(int index) {
18895   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.param)
18896   return param_.Mutable(index);
18897 }
18898 ::opencv_caffe::ParamSpec* LayerParameter::add_param() {
18899   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.param)
18900   return param_.Add();
18901 }
18902 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::ParamSpec >*
18903 LayerParameter::mutable_param() {
18904   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.param)
18905   return &param_;
18906 }
18907 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::ParamSpec >&
18908 LayerParameter::param() const {
18909   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.param)
18910   return param_;
18911 }
18912
18913 // repeated .opencv_caffe.BlobProto blobs = 7;
18914 int LayerParameter::blobs_size() const {
18915   return blobs_.size();
18916 }
18917 void LayerParameter::clear_blobs() {
18918   blobs_.Clear();
18919 }
18920 const ::opencv_caffe::BlobProto& LayerParameter::blobs(int index) const {
18921   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.blobs)
18922   return blobs_.Get(index);
18923 }
18924 ::opencv_caffe::BlobProto* LayerParameter::mutable_blobs(int index) {
18925   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.blobs)
18926   return blobs_.Mutable(index);
18927 }
18928 ::opencv_caffe::BlobProto* LayerParameter::add_blobs() {
18929   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.blobs)
18930   return blobs_.Add();
18931 }
18932 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
18933 LayerParameter::mutable_blobs() {
18934   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.blobs)
18935   return &blobs_;
18936 }
18937 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
18938 LayerParameter::blobs() const {
18939   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.blobs)
18940   return blobs_;
18941 }
18942
18943 // repeated bool propagate_down = 11;
18944 int LayerParameter::propagate_down_size() const {
18945   return propagate_down_.size();
18946 }
18947 void LayerParameter::clear_propagate_down() {
18948   propagate_down_.Clear();
18949 }
18950 bool LayerParameter::propagate_down(int index) const {
18951   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.propagate_down)
18952   return propagate_down_.Get(index);
18953 }
18954 void LayerParameter::set_propagate_down(int index, bool value) {
18955   propagate_down_.Set(index, value);
18956   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.propagate_down)
18957 }
18958 void LayerParameter::add_propagate_down(bool value) {
18959   propagate_down_.Add(value);
18960   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.propagate_down)
18961 }
18962 const ::google::protobuf::RepeatedField< bool >&
18963 LayerParameter::propagate_down() const {
18964   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.propagate_down)
18965   return propagate_down_;
18966 }
18967 ::google::protobuf::RepeatedField< bool >*
18968 LayerParameter::mutable_propagate_down() {
18969   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.propagate_down)
18970   return &propagate_down_;
18971 }
18972
18973 // repeated .opencv_caffe.NetStateRule include = 8;
18974 int LayerParameter::include_size() const {
18975   return include_.size();
18976 }
18977 void LayerParameter::clear_include() {
18978   include_.Clear();
18979 }
18980 const ::opencv_caffe::NetStateRule& LayerParameter::include(int index) const {
18981   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.include)
18982   return include_.Get(index);
18983 }
18984 ::opencv_caffe::NetStateRule* LayerParameter::mutable_include(int index) {
18985   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.include)
18986   return include_.Mutable(index);
18987 }
18988 ::opencv_caffe::NetStateRule* LayerParameter::add_include() {
18989   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.include)
18990   return include_.Add();
18991 }
18992 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
18993 LayerParameter::mutable_include() {
18994   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.include)
18995   return &include_;
18996 }
18997 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
18998 LayerParameter::include() const {
18999   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.include)
19000   return include_;
19001 }
19002
19003 // repeated .opencv_caffe.NetStateRule exclude = 9;
19004 int LayerParameter::exclude_size() const {
19005   return exclude_.size();
19006 }
19007 void LayerParameter::clear_exclude() {
19008   exclude_.Clear();
19009 }
19010 const ::opencv_caffe::NetStateRule& LayerParameter::exclude(int index) const {
19011   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.exclude)
19012   return exclude_.Get(index);
19013 }
19014 ::opencv_caffe::NetStateRule* LayerParameter::mutable_exclude(int index) {
19015   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.exclude)
19016   return exclude_.Mutable(index);
19017 }
19018 ::opencv_caffe::NetStateRule* LayerParameter::add_exclude() {
19019   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.exclude)
19020   return exclude_.Add();
19021 }
19022 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
19023 LayerParameter::mutable_exclude() {
19024   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.exclude)
19025   return &exclude_;
19026 }
19027 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
19028 LayerParameter::exclude() const {
19029   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.exclude)
19030   return exclude_;
19031 }
19032
19033 // optional .opencv_caffe.TransformationParameter transform_param = 100;
19034 bool LayerParameter::has_transform_param() const {
19035   return (_has_bits_[0] & 0x00000800u) != 0;
19036 }
19037 void LayerParameter::set_has_transform_param() {
19038   _has_bits_[0] |= 0x00000800u;
19039 }
19040 void LayerParameter::clear_has_transform_param() {
19041   _has_bits_[0] &= ~0x00000800u;
19042 }
19043 void LayerParameter::clear_transform_param() {
19044   if (transform_param_ != NULL) transform_param_->::opencv_caffe::TransformationParameter::Clear();
19045   clear_has_transform_param();
19046 }
19047 const ::opencv_caffe::TransformationParameter& LayerParameter::transform_param() const {
19048   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.transform_param)
19049   return transform_param_ != NULL ? *transform_param_
19050                          : *::opencv_caffe::TransformationParameter::internal_default_instance();
19051 }
19052 ::opencv_caffe::TransformationParameter* LayerParameter::mutable_transform_param() {
19053   set_has_transform_param();
19054   if (transform_param_ == NULL) {
19055     transform_param_ = new ::opencv_caffe::TransformationParameter;
19056   }
19057   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.transform_param)
19058   return transform_param_;
19059 }
19060 ::opencv_caffe::TransformationParameter* LayerParameter::release_transform_param() {
19061   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.transform_param)
19062   clear_has_transform_param();
19063   ::opencv_caffe::TransformationParameter* temp = transform_param_;
19064   transform_param_ = NULL;
19065   return temp;
19066 }
19067 void LayerParameter::set_allocated_transform_param(::opencv_caffe::TransformationParameter* transform_param) {
19068   delete transform_param_;
19069   transform_param_ = transform_param;
19070   if (transform_param) {
19071     set_has_transform_param();
19072   } else {
19073     clear_has_transform_param();
19074   }
19075   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.transform_param)
19076 }
19077
19078 // optional .opencv_caffe.LossParameter loss_param = 101;
19079 bool LayerParameter::has_loss_param() const {
19080   return (_has_bits_[0] & 0x00001000u) != 0;
19081 }
19082 void LayerParameter::set_has_loss_param() {
19083   _has_bits_[0] |= 0x00001000u;
19084 }
19085 void LayerParameter::clear_has_loss_param() {
19086   _has_bits_[0] &= ~0x00001000u;
19087 }
19088 void LayerParameter::clear_loss_param() {
19089   if (loss_param_ != NULL) loss_param_->::opencv_caffe::LossParameter::Clear();
19090   clear_has_loss_param();
19091 }
19092 const ::opencv_caffe::LossParameter& LayerParameter::loss_param() const {
19093   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.loss_param)
19094   return loss_param_ != NULL ? *loss_param_
19095                          : *::opencv_caffe::LossParameter::internal_default_instance();
19096 }
19097 ::opencv_caffe::LossParameter* LayerParameter::mutable_loss_param() {
19098   set_has_loss_param();
19099   if (loss_param_ == NULL) {
19100     loss_param_ = new ::opencv_caffe::LossParameter;
19101   }
19102   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.loss_param)
19103   return loss_param_;
19104 }
19105 ::opencv_caffe::LossParameter* LayerParameter::release_loss_param() {
19106   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.loss_param)
19107   clear_has_loss_param();
19108   ::opencv_caffe::LossParameter* temp = loss_param_;
19109   loss_param_ = NULL;
19110   return temp;
19111 }
19112 void LayerParameter::set_allocated_loss_param(::opencv_caffe::LossParameter* loss_param) {
19113   delete loss_param_;
19114   loss_param_ = loss_param;
19115   if (loss_param) {
19116     set_has_loss_param();
19117   } else {
19118     clear_has_loss_param();
19119   }
19120   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.loss_param)
19121 }
19122
19123 // optional .opencv_caffe.AccuracyParameter accuracy_param = 102;
19124 bool LayerParameter::has_accuracy_param() const {
19125   return (_has_bits_[0] & 0x00002000u) != 0;
19126 }
19127 void LayerParameter::set_has_accuracy_param() {
19128   _has_bits_[0] |= 0x00002000u;
19129 }
19130 void LayerParameter::clear_has_accuracy_param() {
19131   _has_bits_[0] &= ~0x00002000u;
19132 }
19133 void LayerParameter::clear_accuracy_param() {
19134   if (accuracy_param_ != NULL) accuracy_param_->::opencv_caffe::AccuracyParameter::Clear();
19135   clear_has_accuracy_param();
19136 }
19137 const ::opencv_caffe::AccuracyParameter& LayerParameter::accuracy_param() const {
19138   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.accuracy_param)
19139   return accuracy_param_ != NULL ? *accuracy_param_
19140                          : *::opencv_caffe::AccuracyParameter::internal_default_instance();
19141 }
19142 ::opencv_caffe::AccuracyParameter* LayerParameter::mutable_accuracy_param() {
19143   set_has_accuracy_param();
19144   if (accuracy_param_ == NULL) {
19145     accuracy_param_ = new ::opencv_caffe::AccuracyParameter;
19146   }
19147   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.accuracy_param)
19148   return accuracy_param_;
19149 }
19150 ::opencv_caffe::AccuracyParameter* LayerParameter::release_accuracy_param() {
19151   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.accuracy_param)
19152   clear_has_accuracy_param();
19153   ::opencv_caffe::AccuracyParameter* temp = accuracy_param_;
19154   accuracy_param_ = NULL;
19155   return temp;
19156 }
19157 void LayerParameter::set_allocated_accuracy_param(::opencv_caffe::AccuracyParameter* accuracy_param) {
19158   delete accuracy_param_;
19159   accuracy_param_ = accuracy_param;
19160   if (accuracy_param) {
19161     set_has_accuracy_param();
19162   } else {
19163     clear_has_accuracy_param();
19164   }
19165   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.accuracy_param)
19166 }
19167
19168 // optional .opencv_caffe.ArgMaxParameter argmax_param = 103;
19169 bool LayerParameter::has_argmax_param() const {
19170   return (_has_bits_[0] & 0x00004000u) != 0;
19171 }
19172 void LayerParameter::set_has_argmax_param() {
19173   _has_bits_[0] |= 0x00004000u;
19174 }
19175 void LayerParameter::clear_has_argmax_param() {
19176   _has_bits_[0] &= ~0x00004000u;
19177 }
19178 void LayerParameter::clear_argmax_param() {
19179   if (argmax_param_ != NULL) argmax_param_->::opencv_caffe::ArgMaxParameter::Clear();
19180   clear_has_argmax_param();
19181 }
19182 const ::opencv_caffe::ArgMaxParameter& LayerParameter::argmax_param() const {
19183   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.argmax_param)
19184   return argmax_param_ != NULL ? *argmax_param_
19185                          : *::opencv_caffe::ArgMaxParameter::internal_default_instance();
19186 }
19187 ::opencv_caffe::ArgMaxParameter* LayerParameter::mutable_argmax_param() {
19188   set_has_argmax_param();
19189   if (argmax_param_ == NULL) {
19190     argmax_param_ = new ::opencv_caffe::ArgMaxParameter;
19191   }
19192   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.argmax_param)
19193   return argmax_param_;
19194 }
19195 ::opencv_caffe::ArgMaxParameter* LayerParameter::release_argmax_param() {
19196   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.argmax_param)
19197   clear_has_argmax_param();
19198   ::opencv_caffe::ArgMaxParameter* temp = argmax_param_;
19199   argmax_param_ = NULL;
19200   return temp;
19201 }
19202 void LayerParameter::set_allocated_argmax_param(::opencv_caffe::ArgMaxParameter* argmax_param) {
19203   delete argmax_param_;
19204   argmax_param_ = argmax_param;
19205   if (argmax_param) {
19206     set_has_argmax_param();
19207   } else {
19208     clear_has_argmax_param();
19209   }
19210   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.argmax_param)
19211 }
19212
19213 // optional .opencv_caffe.BatchNormParameter batch_norm_param = 139;
19214 bool LayerParameter::has_batch_norm_param() const {
19215   return (_has_bits_[0] & 0x00008000u) != 0;
19216 }
19217 void LayerParameter::set_has_batch_norm_param() {
19218   _has_bits_[0] |= 0x00008000u;
19219 }
19220 void LayerParameter::clear_has_batch_norm_param() {
19221   _has_bits_[0] &= ~0x00008000u;
19222 }
19223 void LayerParameter::clear_batch_norm_param() {
19224   if (batch_norm_param_ != NULL) batch_norm_param_->::opencv_caffe::BatchNormParameter::Clear();
19225   clear_has_batch_norm_param();
19226 }
19227 const ::opencv_caffe::BatchNormParameter& LayerParameter::batch_norm_param() const {
19228   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.batch_norm_param)
19229   return batch_norm_param_ != NULL ? *batch_norm_param_
19230                          : *::opencv_caffe::BatchNormParameter::internal_default_instance();
19231 }
19232 ::opencv_caffe::BatchNormParameter* LayerParameter::mutable_batch_norm_param() {
19233   set_has_batch_norm_param();
19234   if (batch_norm_param_ == NULL) {
19235     batch_norm_param_ = new ::opencv_caffe::BatchNormParameter;
19236   }
19237   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.batch_norm_param)
19238   return batch_norm_param_;
19239 }
19240 ::opencv_caffe::BatchNormParameter* LayerParameter::release_batch_norm_param() {
19241   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.batch_norm_param)
19242   clear_has_batch_norm_param();
19243   ::opencv_caffe::BatchNormParameter* temp = batch_norm_param_;
19244   batch_norm_param_ = NULL;
19245   return temp;
19246 }
19247 void LayerParameter::set_allocated_batch_norm_param(::opencv_caffe::BatchNormParameter* batch_norm_param) {
19248   delete batch_norm_param_;
19249   batch_norm_param_ = batch_norm_param;
19250   if (batch_norm_param) {
19251     set_has_batch_norm_param();
19252   } else {
19253     clear_has_batch_norm_param();
19254   }
19255   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.batch_norm_param)
19256 }
19257
19258 // optional .opencv_caffe.BiasParameter bias_param = 141;
19259 bool LayerParameter::has_bias_param() const {
19260   return (_has_bits_[0] & 0x00010000u) != 0;
19261 }
19262 void LayerParameter::set_has_bias_param() {
19263   _has_bits_[0] |= 0x00010000u;
19264 }
19265 void LayerParameter::clear_has_bias_param() {
19266   _has_bits_[0] &= ~0x00010000u;
19267 }
19268 void LayerParameter::clear_bias_param() {
19269   if (bias_param_ != NULL) bias_param_->::opencv_caffe::BiasParameter::Clear();
19270   clear_has_bias_param();
19271 }
19272 const ::opencv_caffe::BiasParameter& LayerParameter::bias_param() const {
19273   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.bias_param)
19274   return bias_param_ != NULL ? *bias_param_
19275                          : *::opencv_caffe::BiasParameter::internal_default_instance();
19276 }
19277 ::opencv_caffe::BiasParameter* LayerParameter::mutable_bias_param() {
19278   set_has_bias_param();
19279   if (bias_param_ == NULL) {
19280     bias_param_ = new ::opencv_caffe::BiasParameter;
19281   }
19282   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.bias_param)
19283   return bias_param_;
19284 }
19285 ::opencv_caffe::BiasParameter* LayerParameter::release_bias_param() {
19286   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.bias_param)
19287   clear_has_bias_param();
19288   ::opencv_caffe::BiasParameter* temp = bias_param_;
19289   bias_param_ = NULL;
19290   return temp;
19291 }
19292 void LayerParameter::set_allocated_bias_param(::opencv_caffe::BiasParameter* bias_param) {
19293   delete bias_param_;
19294   bias_param_ = bias_param;
19295   if (bias_param) {
19296     set_has_bias_param();
19297   } else {
19298     clear_has_bias_param();
19299   }
19300   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.bias_param)
19301 }
19302
19303 // optional .opencv_caffe.ConcatParameter concat_param = 104;
19304 bool LayerParameter::has_concat_param() const {
19305   return (_has_bits_[0] & 0x00020000u) != 0;
19306 }
19307 void LayerParameter::set_has_concat_param() {
19308   _has_bits_[0] |= 0x00020000u;
19309 }
19310 void LayerParameter::clear_has_concat_param() {
19311   _has_bits_[0] &= ~0x00020000u;
19312 }
19313 void LayerParameter::clear_concat_param() {
19314   if (concat_param_ != NULL) concat_param_->::opencv_caffe::ConcatParameter::Clear();
19315   clear_has_concat_param();
19316 }
19317 const ::opencv_caffe::ConcatParameter& LayerParameter::concat_param() const {
19318   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.concat_param)
19319   return concat_param_ != NULL ? *concat_param_
19320                          : *::opencv_caffe::ConcatParameter::internal_default_instance();
19321 }
19322 ::opencv_caffe::ConcatParameter* LayerParameter::mutable_concat_param() {
19323   set_has_concat_param();
19324   if (concat_param_ == NULL) {
19325     concat_param_ = new ::opencv_caffe::ConcatParameter;
19326   }
19327   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.concat_param)
19328   return concat_param_;
19329 }
19330 ::opencv_caffe::ConcatParameter* LayerParameter::release_concat_param() {
19331   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.concat_param)
19332   clear_has_concat_param();
19333   ::opencv_caffe::ConcatParameter* temp = concat_param_;
19334   concat_param_ = NULL;
19335   return temp;
19336 }
19337 void LayerParameter::set_allocated_concat_param(::opencv_caffe::ConcatParameter* concat_param) {
19338   delete concat_param_;
19339   concat_param_ = concat_param;
19340   if (concat_param) {
19341     set_has_concat_param();
19342   } else {
19343     clear_has_concat_param();
19344   }
19345   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.concat_param)
19346 }
19347
19348 // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 105;
19349 bool LayerParameter::has_contrastive_loss_param() const {
19350   return (_has_bits_[0] & 0x00040000u) != 0;
19351 }
19352 void LayerParameter::set_has_contrastive_loss_param() {
19353   _has_bits_[0] |= 0x00040000u;
19354 }
19355 void LayerParameter::clear_has_contrastive_loss_param() {
19356   _has_bits_[0] &= ~0x00040000u;
19357 }
19358 void LayerParameter::clear_contrastive_loss_param() {
19359   if (contrastive_loss_param_ != NULL) contrastive_loss_param_->::opencv_caffe::ContrastiveLossParameter::Clear();
19360   clear_has_contrastive_loss_param();
19361 }
19362 const ::opencv_caffe::ContrastiveLossParameter& LayerParameter::contrastive_loss_param() const {
19363   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.contrastive_loss_param)
19364   return contrastive_loss_param_ != NULL ? *contrastive_loss_param_
19365                          : *::opencv_caffe::ContrastiveLossParameter::internal_default_instance();
19366 }
19367 ::opencv_caffe::ContrastiveLossParameter* LayerParameter::mutable_contrastive_loss_param() {
19368   set_has_contrastive_loss_param();
19369   if (contrastive_loss_param_ == NULL) {
19370     contrastive_loss_param_ = new ::opencv_caffe::ContrastiveLossParameter;
19371   }
19372   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.contrastive_loss_param)
19373   return contrastive_loss_param_;
19374 }
19375 ::opencv_caffe::ContrastiveLossParameter* LayerParameter::release_contrastive_loss_param() {
19376   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.contrastive_loss_param)
19377   clear_has_contrastive_loss_param();
19378   ::opencv_caffe::ContrastiveLossParameter* temp = contrastive_loss_param_;
19379   contrastive_loss_param_ = NULL;
19380   return temp;
19381 }
19382 void LayerParameter::set_allocated_contrastive_loss_param(::opencv_caffe::ContrastiveLossParameter* contrastive_loss_param) {
19383   delete contrastive_loss_param_;
19384   contrastive_loss_param_ = contrastive_loss_param;
19385   if (contrastive_loss_param) {
19386     set_has_contrastive_loss_param();
19387   } else {
19388     clear_has_contrastive_loss_param();
19389   }
19390   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.contrastive_loss_param)
19391 }
19392
19393 // optional .opencv_caffe.ConvolutionParameter convolution_param = 106;
19394 bool LayerParameter::has_convolution_param() const {
19395   return (_has_bits_[0] & 0x00080000u) != 0;
19396 }
19397 void LayerParameter::set_has_convolution_param() {
19398   _has_bits_[0] |= 0x00080000u;
19399 }
19400 void LayerParameter::clear_has_convolution_param() {
19401   _has_bits_[0] &= ~0x00080000u;
19402 }
19403 void LayerParameter::clear_convolution_param() {
19404   if (convolution_param_ != NULL) convolution_param_->::opencv_caffe::ConvolutionParameter::Clear();
19405   clear_has_convolution_param();
19406 }
19407 const ::opencv_caffe::ConvolutionParameter& LayerParameter::convolution_param() const {
19408   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.convolution_param)
19409   return convolution_param_ != NULL ? *convolution_param_
19410                          : *::opencv_caffe::ConvolutionParameter::internal_default_instance();
19411 }
19412 ::opencv_caffe::ConvolutionParameter* LayerParameter::mutable_convolution_param() {
19413   set_has_convolution_param();
19414   if (convolution_param_ == NULL) {
19415     convolution_param_ = new ::opencv_caffe::ConvolutionParameter;
19416   }
19417   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.convolution_param)
19418   return convolution_param_;
19419 }
19420 ::opencv_caffe::ConvolutionParameter* LayerParameter::release_convolution_param() {
19421   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.convolution_param)
19422   clear_has_convolution_param();
19423   ::opencv_caffe::ConvolutionParameter* temp = convolution_param_;
19424   convolution_param_ = NULL;
19425   return temp;
19426 }
19427 void LayerParameter::set_allocated_convolution_param(::opencv_caffe::ConvolutionParameter* convolution_param) {
19428   delete convolution_param_;
19429   convolution_param_ = convolution_param;
19430   if (convolution_param) {
19431     set_has_convolution_param();
19432   } else {
19433     clear_has_convolution_param();
19434   }
19435   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.convolution_param)
19436 }
19437
19438 // optional .opencv_caffe.CropParameter crop_param = 144;
19439 bool LayerParameter::has_crop_param() const {
19440   return (_has_bits_[0] & 0x00100000u) != 0;
19441 }
19442 void LayerParameter::set_has_crop_param() {
19443   _has_bits_[0] |= 0x00100000u;
19444 }
19445 void LayerParameter::clear_has_crop_param() {
19446   _has_bits_[0] &= ~0x00100000u;
19447 }
19448 void LayerParameter::clear_crop_param() {
19449   if (crop_param_ != NULL) crop_param_->::opencv_caffe::CropParameter::Clear();
19450   clear_has_crop_param();
19451 }
19452 const ::opencv_caffe::CropParameter& LayerParameter::crop_param() const {
19453   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.crop_param)
19454   return crop_param_ != NULL ? *crop_param_
19455                          : *::opencv_caffe::CropParameter::internal_default_instance();
19456 }
19457 ::opencv_caffe::CropParameter* LayerParameter::mutable_crop_param() {
19458   set_has_crop_param();
19459   if (crop_param_ == NULL) {
19460     crop_param_ = new ::opencv_caffe::CropParameter;
19461   }
19462   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.crop_param)
19463   return crop_param_;
19464 }
19465 ::opencv_caffe::CropParameter* LayerParameter::release_crop_param() {
19466   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.crop_param)
19467   clear_has_crop_param();
19468   ::opencv_caffe::CropParameter* temp = crop_param_;
19469   crop_param_ = NULL;
19470   return temp;
19471 }
19472 void LayerParameter::set_allocated_crop_param(::opencv_caffe::CropParameter* crop_param) {
19473   delete crop_param_;
19474   crop_param_ = crop_param;
19475   if (crop_param) {
19476     set_has_crop_param();
19477   } else {
19478     clear_has_crop_param();
19479   }
19480   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.crop_param)
19481 }
19482
19483 // optional .opencv_caffe.DataParameter data_param = 107;
19484 bool LayerParameter::has_data_param() const {
19485   return (_has_bits_[0] & 0x00200000u) != 0;
19486 }
19487 void LayerParameter::set_has_data_param() {
19488   _has_bits_[0] |= 0x00200000u;
19489 }
19490 void LayerParameter::clear_has_data_param() {
19491   _has_bits_[0] &= ~0x00200000u;
19492 }
19493 void LayerParameter::clear_data_param() {
19494   if (data_param_ != NULL) data_param_->::opencv_caffe::DataParameter::Clear();
19495   clear_has_data_param();
19496 }
19497 const ::opencv_caffe::DataParameter& LayerParameter::data_param() const {
19498   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.data_param)
19499   return data_param_ != NULL ? *data_param_
19500                          : *::opencv_caffe::DataParameter::internal_default_instance();
19501 }
19502 ::opencv_caffe::DataParameter* LayerParameter::mutable_data_param() {
19503   set_has_data_param();
19504   if (data_param_ == NULL) {
19505     data_param_ = new ::opencv_caffe::DataParameter;
19506   }
19507   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.data_param)
19508   return data_param_;
19509 }
19510 ::opencv_caffe::DataParameter* LayerParameter::release_data_param() {
19511   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.data_param)
19512   clear_has_data_param();
19513   ::opencv_caffe::DataParameter* temp = data_param_;
19514   data_param_ = NULL;
19515   return temp;
19516 }
19517 void LayerParameter::set_allocated_data_param(::opencv_caffe::DataParameter* data_param) {
19518   delete data_param_;
19519   data_param_ = data_param;
19520   if (data_param) {
19521     set_has_data_param();
19522   } else {
19523     clear_has_data_param();
19524   }
19525   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.data_param)
19526 }
19527
19528 // optional .opencv_caffe.DetectionOutputParameter detection_output_param = 147;
19529 bool LayerParameter::has_detection_output_param() const {
19530   return (_has_bits_[0] & 0x00400000u) != 0;
19531 }
19532 void LayerParameter::set_has_detection_output_param() {
19533   _has_bits_[0] |= 0x00400000u;
19534 }
19535 void LayerParameter::clear_has_detection_output_param() {
19536   _has_bits_[0] &= ~0x00400000u;
19537 }
19538 void LayerParameter::clear_detection_output_param() {
19539   if (detection_output_param_ != NULL) detection_output_param_->::opencv_caffe::DetectionOutputParameter::Clear();
19540   clear_has_detection_output_param();
19541 }
19542 const ::opencv_caffe::DetectionOutputParameter& LayerParameter::detection_output_param() const {
19543   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.detection_output_param)
19544   return detection_output_param_ != NULL ? *detection_output_param_
19545                          : *::opencv_caffe::DetectionOutputParameter::internal_default_instance();
19546 }
19547 ::opencv_caffe::DetectionOutputParameter* LayerParameter::mutable_detection_output_param() {
19548   set_has_detection_output_param();
19549   if (detection_output_param_ == NULL) {
19550     detection_output_param_ = new ::opencv_caffe::DetectionOutputParameter;
19551   }
19552   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.detection_output_param)
19553   return detection_output_param_;
19554 }
19555 ::opencv_caffe::DetectionOutputParameter* LayerParameter::release_detection_output_param() {
19556   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.detection_output_param)
19557   clear_has_detection_output_param();
19558   ::opencv_caffe::DetectionOutputParameter* temp = detection_output_param_;
19559   detection_output_param_ = NULL;
19560   return temp;
19561 }
19562 void LayerParameter::set_allocated_detection_output_param(::opencv_caffe::DetectionOutputParameter* detection_output_param) {
19563   delete detection_output_param_;
19564   detection_output_param_ = detection_output_param;
19565   if (detection_output_param) {
19566     set_has_detection_output_param();
19567   } else {
19568     clear_has_detection_output_param();
19569   }
19570   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.detection_output_param)
19571 }
19572
19573 // optional .opencv_caffe.DropoutParameter dropout_param = 108;
19574 bool LayerParameter::has_dropout_param() const {
19575   return (_has_bits_[0] & 0x00800000u) != 0;
19576 }
19577 void LayerParameter::set_has_dropout_param() {
19578   _has_bits_[0] |= 0x00800000u;
19579 }
19580 void LayerParameter::clear_has_dropout_param() {
19581   _has_bits_[0] &= ~0x00800000u;
19582 }
19583 void LayerParameter::clear_dropout_param() {
19584   if (dropout_param_ != NULL) dropout_param_->::opencv_caffe::DropoutParameter::Clear();
19585   clear_has_dropout_param();
19586 }
19587 const ::opencv_caffe::DropoutParameter& LayerParameter::dropout_param() const {
19588   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.dropout_param)
19589   return dropout_param_ != NULL ? *dropout_param_
19590                          : *::opencv_caffe::DropoutParameter::internal_default_instance();
19591 }
19592 ::opencv_caffe::DropoutParameter* LayerParameter::mutable_dropout_param() {
19593   set_has_dropout_param();
19594   if (dropout_param_ == NULL) {
19595     dropout_param_ = new ::opencv_caffe::DropoutParameter;
19596   }
19597   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.dropout_param)
19598   return dropout_param_;
19599 }
19600 ::opencv_caffe::DropoutParameter* LayerParameter::release_dropout_param() {
19601   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.dropout_param)
19602   clear_has_dropout_param();
19603   ::opencv_caffe::DropoutParameter* temp = dropout_param_;
19604   dropout_param_ = NULL;
19605   return temp;
19606 }
19607 void LayerParameter::set_allocated_dropout_param(::opencv_caffe::DropoutParameter* dropout_param) {
19608   delete dropout_param_;
19609   dropout_param_ = dropout_param;
19610   if (dropout_param) {
19611     set_has_dropout_param();
19612   } else {
19613     clear_has_dropout_param();
19614   }
19615   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.dropout_param)
19616 }
19617
19618 // optional .opencv_caffe.DummyDataParameter dummy_data_param = 109;
19619 bool LayerParameter::has_dummy_data_param() const {
19620   return (_has_bits_[0] & 0x01000000u) != 0;
19621 }
19622 void LayerParameter::set_has_dummy_data_param() {
19623   _has_bits_[0] |= 0x01000000u;
19624 }
19625 void LayerParameter::clear_has_dummy_data_param() {
19626   _has_bits_[0] &= ~0x01000000u;
19627 }
19628 void LayerParameter::clear_dummy_data_param() {
19629   if (dummy_data_param_ != NULL) dummy_data_param_->::opencv_caffe::DummyDataParameter::Clear();
19630   clear_has_dummy_data_param();
19631 }
19632 const ::opencv_caffe::DummyDataParameter& LayerParameter::dummy_data_param() const {
19633   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.dummy_data_param)
19634   return dummy_data_param_ != NULL ? *dummy_data_param_
19635                          : *::opencv_caffe::DummyDataParameter::internal_default_instance();
19636 }
19637 ::opencv_caffe::DummyDataParameter* LayerParameter::mutable_dummy_data_param() {
19638   set_has_dummy_data_param();
19639   if (dummy_data_param_ == NULL) {
19640     dummy_data_param_ = new ::opencv_caffe::DummyDataParameter;
19641   }
19642   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.dummy_data_param)
19643   return dummy_data_param_;
19644 }
19645 ::opencv_caffe::DummyDataParameter* LayerParameter::release_dummy_data_param() {
19646   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.dummy_data_param)
19647   clear_has_dummy_data_param();
19648   ::opencv_caffe::DummyDataParameter* temp = dummy_data_param_;
19649   dummy_data_param_ = NULL;
19650   return temp;
19651 }
19652 void LayerParameter::set_allocated_dummy_data_param(::opencv_caffe::DummyDataParameter* dummy_data_param) {
19653   delete dummy_data_param_;
19654   dummy_data_param_ = dummy_data_param;
19655   if (dummy_data_param) {
19656     set_has_dummy_data_param();
19657   } else {
19658     clear_has_dummy_data_param();
19659   }
19660   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.dummy_data_param)
19661 }
19662
19663 // optional .opencv_caffe.EltwiseParameter eltwise_param = 110;
19664 bool LayerParameter::has_eltwise_param() const {
19665   return (_has_bits_[0] & 0x02000000u) != 0;
19666 }
19667 void LayerParameter::set_has_eltwise_param() {
19668   _has_bits_[0] |= 0x02000000u;
19669 }
19670 void LayerParameter::clear_has_eltwise_param() {
19671   _has_bits_[0] &= ~0x02000000u;
19672 }
19673 void LayerParameter::clear_eltwise_param() {
19674   if (eltwise_param_ != NULL) eltwise_param_->::opencv_caffe::EltwiseParameter::Clear();
19675   clear_has_eltwise_param();
19676 }
19677 const ::opencv_caffe::EltwiseParameter& LayerParameter::eltwise_param() const {
19678   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.eltwise_param)
19679   return eltwise_param_ != NULL ? *eltwise_param_
19680                          : *::opencv_caffe::EltwiseParameter::internal_default_instance();
19681 }
19682 ::opencv_caffe::EltwiseParameter* LayerParameter::mutable_eltwise_param() {
19683   set_has_eltwise_param();
19684   if (eltwise_param_ == NULL) {
19685     eltwise_param_ = new ::opencv_caffe::EltwiseParameter;
19686   }
19687   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.eltwise_param)
19688   return eltwise_param_;
19689 }
19690 ::opencv_caffe::EltwiseParameter* LayerParameter::release_eltwise_param() {
19691   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.eltwise_param)
19692   clear_has_eltwise_param();
19693   ::opencv_caffe::EltwiseParameter* temp = eltwise_param_;
19694   eltwise_param_ = NULL;
19695   return temp;
19696 }
19697 void LayerParameter::set_allocated_eltwise_param(::opencv_caffe::EltwiseParameter* eltwise_param) {
19698   delete eltwise_param_;
19699   eltwise_param_ = eltwise_param;
19700   if (eltwise_param) {
19701     set_has_eltwise_param();
19702   } else {
19703     clear_has_eltwise_param();
19704   }
19705   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.eltwise_param)
19706 }
19707
19708 // optional .opencv_caffe.ELUParameter elu_param = 140;
19709 bool LayerParameter::has_elu_param() const {
19710   return (_has_bits_[0] & 0x04000000u) != 0;
19711 }
19712 void LayerParameter::set_has_elu_param() {
19713   _has_bits_[0] |= 0x04000000u;
19714 }
19715 void LayerParameter::clear_has_elu_param() {
19716   _has_bits_[0] &= ~0x04000000u;
19717 }
19718 void LayerParameter::clear_elu_param() {
19719   if (elu_param_ != NULL) elu_param_->::opencv_caffe::ELUParameter::Clear();
19720   clear_has_elu_param();
19721 }
19722 const ::opencv_caffe::ELUParameter& LayerParameter::elu_param() const {
19723   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.elu_param)
19724   return elu_param_ != NULL ? *elu_param_
19725                          : *::opencv_caffe::ELUParameter::internal_default_instance();
19726 }
19727 ::opencv_caffe::ELUParameter* LayerParameter::mutable_elu_param() {
19728   set_has_elu_param();
19729   if (elu_param_ == NULL) {
19730     elu_param_ = new ::opencv_caffe::ELUParameter;
19731   }
19732   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.elu_param)
19733   return elu_param_;
19734 }
19735 ::opencv_caffe::ELUParameter* LayerParameter::release_elu_param() {
19736   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.elu_param)
19737   clear_has_elu_param();
19738   ::opencv_caffe::ELUParameter* temp = elu_param_;
19739   elu_param_ = NULL;
19740   return temp;
19741 }
19742 void LayerParameter::set_allocated_elu_param(::opencv_caffe::ELUParameter* elu_param) {
19743   delete elu_param_;
19744   elu_param_ = elu_param;
19745   if (elu_param) {
19746     set_has_elu_param();
19747   } else {
19748     clear_has_elu_param();
19749   }
19750   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.elu_param)
19751 }
19752
19753 // optional .opencv_caffe.EmbedParameter embed_param = 137;
19754 bool LayerParameter::has_embed_param() const {
19755   return (_has_bits_[0] & 0x08000000u) != 0;
19756 }
19757 void LayerParameter::set_has_embed_param() {
19758   _has_bits_[0] |= 0x08000000u;
19759 }
19760 void LayerParameter::clear_has_embed_param() {
19761   _has_bits_[0] &= ~0x08000000u;
19762 }
19763 void LayerParameter::clear_embed_param() {
19764   if (embed_param_ != NULL) embed_param_->::opencv_caffe::EmbedParameter::Clear();
19765   clear_has_embed_param();
19766 }
19767 const ::opencv_caffe::EmbedParameter& LayerParameter::embed_param() const {
19768   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.embed_param)
19769   return embed_param_ != NULL ? *embed_param_
19770                          : *::opencv_caffe::EmbedParameter::internal_default_instance();
19771 }
19772 ::opencv_caffe::EmbedParameter* LayerParameter::mutable_embed_param() {
19773   set_has_embed_param();
19774   if (embed_param_ == NULL) {
19775     embed_param_ = new ::opencv_caffe::EmbedParameter;
19776   }
19777   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.embed_param)
19778   return embed_param_;
19779 }
19780 ::opencv_caffe::EmbedParameter* LayerParameter::release_embed_param() {
19781   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.embed_param)
19782   clear_has_embed_param();
19783   ::opencv_caffe::EmbedParameter* temp = embed_param_;
19784   embed_param_ = NULL;
19785   return temp;
19786 }
19787 void LayerParameter::set_allocated_embed_param(::opencv_caffe::EmbedParameter* embed_param) {
19788   delete embed_param_;
19789   embed_param_ = embed_param;
19790   if (embed_param) {
19791     set_has_embed_param();
19792   } else {
19793     clear_has_embed_param();
19794   }
19795   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.embed_param)
19796 }
19797
19798 // optional .opencv_caffe.ExpParameter exp_param = 111;
19799 bool LayerParameter::has_exp_param() const {
19800   return (_has_bits_[0] & 0x10000000u) != 0;
19801 }
19802 void LayerParameter::set_has_exp_param() {
19803   _has_bits_[0] |= 0x10000000u;
19804 }
19805 void LayerParameter::clear_has_exp_param() {
19806   _has_bits_[0] &= ~0x10000000u;
19807 }
19808 void LayerParameter::clear_exp_param() {
19809   if (exp_param_ != NULL) exp_param_->::opencv_caffe::ExpParameter::Clear();
19810   clear_has_exp_param();
19811 }
19812 const ::opencv_caffe::ExpParameter& LayerParameter::exp_param() const {
19813   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.exp_param)
19814   return exp_param_ != NULL ? *exp_param_
19815                          : *::opencv_caffe::ExpParameter::internal_default_instance();
19816 }
19817 ::opencv_caffe::ExpParameter* LayerParameter::mutable_exp_param() {
19818   set_has_exp_param();
19819   if (exp_param_ == NULL) {
19820     exp_param_ = new ::opencv_caffe::ExpParameter;
19821   }
19822   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.exp_param)
19823   return exp_param_;
19824 }
19825 ::opencv_caffe::ExpParameter* LayerParameter::release_exp_param() {
19826   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.exp_param)
19827   clear_has_exp_param();
19828   ::opencv_caffe::ExpParameter* temp = exp_param_;
19829   exp_param_ = NULL;
19830   return temp;
19831 }
19832 void LayerParameter::set_allocated_exp_param(::opencv_caffe::ExpParameter* exp_param) {
19833   delete exp_param_;
19834   exp_param_ = exp_param;
19835   if (exp_param) {
19836     set_has_exp_param();
19837   } else {
19838     clear_has_exp_param();
19839   }
19840   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.exp_param)
19841 }
19842
19843 // optional .opencv_caffe.FlattenParameter flatten_param = 135;
19844 bool LayerParameter::has_flatten_param() const {
19845   return (_has_bits_[0] & 0x20000000u) != 0;
19846 }
19847 void LayerParameter::set_has_flatten_param() {
19848   _has_bits_[0] |= 0x20000000u;
19849 }
19850 void LayerParameter::clear_has_flatten_param() {
19851   _has_bits_[0] &= ~0x20000000u;
19852 }
19853 void LayerParameter::clear_flatten_param() {
19854   if (flatten_param_ != NULL) flatten_param_->::opencv_caffe::FlattenParameter::Clear();
19855   clear_has_flatten_param();
19856 }
19857 const ::opencv_caffe::FlattenParameter& LayerParameter::flatten_param() const {
19858   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.flatten_param)
19859   return flatten_param_ != NULL ? *flatten_param_
19860                          : *::opencv_caffe::FlattenParameter::internal_default_instance();
19861 }
19862 ::opencv_caffe::FlattenParameter* LayerParameter::mutable_flatten_param() {
19863   set_has_flatten_param();
19864   if (flatten_param_ == NULL) {
19865     flatten_param_ = new ::opencv_caffe::FlattenParameter;
19866   }
19867   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.flatten_param)
19868   return flatten_param_;
19869 }
19870 ::opencv_caffe::FlattenParameter* LayerParameter::release_flatten_param() {
19871   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.flatten_param)
19872   clear_has_flatten_param();
19873   ::opencv_caffe::FlattenParameter* temp = flatten_param_;
19874   flatten_param_ = NULL;
19875   return temp;
19876 }
19877 void LayerParameter::set_allocated_flatten_param(::opencv_caffe::FlattenParameter* flatten_param) {
19878   delete flatten_param_;
19879   flatten_param_ = flatten_param;
19880   if (flatten_param) {
19881     set_has_flatten_param();
19882   } else {
19883     clear_has_flatten_param();
19884   }
19885   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.flatten_param)
19886 }
19887
19888 // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 112;
19889 bool LayerParameter::has_hdf5_data_param() const {
19890   return (_has_bits_[0] & 0x40000000u) != 0;
19891 }
19892 void LayerParameter::set_has_hdf5_data_param() {
19893   _has_bits_[0] |= 0x40000000u;
19894 }
19895 void LayerParameter::clear_has_hdf5_data_param() {
19896   _has_bits_[0] &= ~0x40000000u;
19897 }
19898 void LayerParameter::clear_hdf5_data_param() {
19899   if (hdf5_data_param_ != NULL) hdf5_data_param_->::opencv_caffe::HDF5DataParameter::Clear();
19900   clear_has_hdf5_data_param();
19901 }
19902 const ::opencv_caffe::HDF5DataParameter& LayerParameter::hdf5_data_param() const {
19903   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.hdf5_data_param)
19904   return hdf5_data_param_ != NULL ? *hdf5_data_param_
19905                          : *::opencv_caffe::HDF5DataParameter::internal_default_instance();
19906 }
19907 ::opencv_caffe::HDF5DataParameter* LayerParameter::mutable_hdf5_data_param() {
19908   set_has_hdf5_data_param();
19909   if (hdf5_data_param_ == NULL) {
19910     hdf5_data_param_ = new ::opencv_caffe::HDF5DataParameter;
19911   }
19912   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.hdf5_data_param)
19913   return hdf5_data_param_;
19914 }
19915 ::opencv_caffe::HDF5DataParameter* LayerParameter::release_hdf5_data_param() {
19916   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.hdf5_data_param)
19917   clear_has_hdf5_data_param();
19918   ::opencv_caffe::HDF5DataParameter* temp = hdf5_data_param_;
19919   hdf5_data_param_ = NULL;
19920   return temp;
19921 }
19922 void LayerParameter::set_allocated_hdf5_data_param(::opencv_caffe::HDF5DataParameter* hdf5_data_param) {
19923   delete hdf5_data_param_;
19924   hdf5_data_param_ = hdf5_data_param;
19925   if (hdf5_data_param) {
19926     set_has_hdf5_data_param();
19927   } else {
19928     clear_has_hdf5_data_param();
19929   }
19930   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.hdf5_data_param)
19931 }
19932
19933 // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 113;
19934 bool LayerParameter::has_hdf5_output_param() const {
19935   return (_has_bits_[0] & 0x80000000u) != 0;
19936 }
19937 void LayerParameter::set_has_hdf5_output_param() {
19938   _has_bits_[0] |= 0x80000000u;
19939 }
19940 void LayerParameter::clear_has_hdf5_output_param() {
19941   _has_bits_[0] &= ~0x80000000u;
19942 }
19943 void LayerParameter::clear_hdf5_output_param() {
19944   if (hdf5_output_param_ != NULL) hdf5_output_param_->::opencv_caffe::HDF5OutputParameter::Clear();
19945   clear_has_hdf5_output_param();
19946 }
19947 const ::opencv_caffe::HDF5OutputParameter& LayerParameter::hdf5_output_param() const {
19948   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.hdf5_output_param)
19949   return hdf5_output_param_ != NULL ? *hdf5_output_param_
19950                          : *::opencv_caffe::HDF5OutputParameter::internal_default_instance();
19951 }
19952 ::opencv_caffe::HDF5OutputParameter* LayerParameter::mutable_hdf5_output_param() {
19953   set_has_hdf5_output_param();
19954   if (hdf5_output_param_ == NULL) {
19955     hdf5_output_param_ = new ::opencv_caffe::HDF5OutputParameter;
19956   }
19957   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.hdf5_output_param)
19958   return hdf5_output_param_;
19959 }
19960 ::opencv_caffe::HDF5OutputParameter* LayerParameter::release_hdf5_output_param() {
19961   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.hdf5_output_param)
19962   clear_has_hdf5_output_param();
19963   ::opencv_caffe::HDF5OutputParameter* temp = hdf5_output_param_;
19964   hdf5_output_param_ = NULL;
19965   return temp;
19966 }
19967 void LayerParameter::set_allocated_hdf5_output_param(::opencv_caffe::HDF5OutputParameter* hdf5_output_param) {
19968   delete hdf5_output_param_;
19969   hdf5_output_param_ = hdf5_output_param;
19970   if (hdf5_output_param) {
19971     set_has_hdf5_output_param();
19972   } else {
19973     clear_has_hdf5_output_param();
19974   }
19975   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.hdf5_output_param)
19976 }
19977
19978 // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 114;
19979 bool LayerParameter::has_hinge_loss_param() const {
19980   return (_has_bits_[1] & 0x00000001u) != 0;
19981 }
19982 void LayerParameter::set_has_hinge_loss_param() {
19983   _has_bits_[1] |= 0x00000001u;
19984 }
19985 void LayerParameter::clear_has_hinge_loss_param() {
19986   _has_bits_[1] &= ~0x00000001u;
19987 }
19988 void LayerParameter::clear_hinge_loss_param() {
19989   if (hinge_loss_param_ != NULL) hinge_loss_param_->::opencv_caffe::HingeLossParameter::Clear();
19990   clear_has_hinge_loss_param();
19991 }
19992 const ::opencv_caffe::HingeLossParameter& LayerParameter::hinge_loss_param() const {
19993   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.hinge_loss_param)
19994   return hinge_loss_param_ != NULL ? *hinge_loss_param_
19995                          : *::opencv_caffe::HingeLossParameter::internal_default_instance();
19996 }
19997 ::opencv_caffe::HingeLossParameter* LayerParameter::mutable_hinge_loss_param() {
19998   set_has_hinge_loss_param();
19999   if (hinge_loss_param_ == NULL) {
20000     hinge_loss_param_ = new ::opencv_caffe::HingeLossParameter;
20001   }
20002   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.hinge_loss_param)
20003   return hinge_loss_param_;
20004 }
20005 ::opencv_caffe::HingeLossParameter* LayerParameter::release_hinge_loss_param() {
20006   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.hinge_loss_param)
20007   clear_has_hinge_loss_param();
20008   ::opencv_caffe::HingeLossParameter* temp = hinge_loss_param_;
20009   hinge_loss_param_ = NULL;
20010   return temp;
20011 }
20012 void LayerParameter::set_allocated_hinge_loss_param(::opencv_caffe::HingeLossParameter* hinge_loss_param) {
20013   delete hinge_loss_param_;
20014   hinge_loss_param_ = hinge_loss_param;
20015   if (hinge_loss_param) {
20016     set_has_hinge_loss_param();
20017   } else {
20018     clear_has_hinge_loss_param();
20019   }
20020   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.hinge_loss_param)
20021 }
20022
20023 // optional .opencv_caffe.ImageDataParameter image_data_param = 115;
20024 bool LayerParameter::has_image_data_param() const {
20025   return (_has_bits_[1] & 0x00000002u) != 0;
20026 }
20027 void LayerParameter::set_has_image_data_param() {
20028   _has_bits_[1] |= 0x00000002u;
20029 }
20030 void LayerParameter::clear_has_image_data_param() {
20031   _has_bits_[1] &= ~0x00000002u;
20032 }
20033 void LayerParameter::clear_image_data_param() {
20034   if (image_data_param_ != NULL) image_data_param_->::opencv_caffe::ImageDataParameter::Clear();
20035   clear_has_image_data_param();
20036 }
20037 const ::opencv_caffe::ImageDataParameter& LayerParameter::image_data_param() const {
20038   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.image_data_param)
20039   return image_data_param_ != NULL ? *image_data_param_
20040                          : *::opencv_caffe::ImageDataParameter::internal_default_instance();
20041 }
20042 ::opencv_caffe::ImageDataParameter* LayerParameter::mutable_image_data_param() {
20043   set_has_image_data_param();
20044   if (image_data_param_ == NULL) {
20045     image_data_param_ = new ::opencv_caffe::ImageDataParameter;
20046   }
20047   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.image_data_param)
20048   return image_data_param_;
20049 }
20050 ::opencv_caffe::ImageDataParameter* LayerParameter::release_image_data_param() {
20051   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.image_data_param)
20052   clear_has_image_data_param();
20053   ::opencv_caffe::ImageDataParameter* temp = image_data_param_;
20054   image_data_param_ = NULL;
20055   return temp;
20056 }
20057 void LayerParameter::set_allocated_image_data_param(::opencv_caffe::ImageDataParameter* image_data_param) {
20058   delete image_data_param_;
20059   image_data_param_ = image_data_param;
20060   if (image_data_param) {
20061     set_has_image_data_param();
20062   } else {
20063     clear_has_image_data_param();
20064   }
20065   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.image_data_param)
20066 }
20067
20068 // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 116;
20069 bool LayerParameter::has_infogain_loss_param() const {
20070   return (_has_bits_[1] & 0x00000004u) != 0;
20071 }
20072 void LayerParameter::set_has_infogain_loss_param() {
20073   _has_bits_[1] |= 0x00000004u;
20074 }
20075 void LayerParameter::clear_has_infogain_loss_param() {
20076   _has_bits_[1] &= ~0x00000004u;
20077 }
20078 void LayerParameter::clear_infogain_loss_param() {
20079   if (infogain_loss_param_ != NULL) infogain_loss_param_->::opencv_caffe::InfogainLossParameter::Clear();
20080   clear_has_infogain_loss_param();
20081 }
20082 const ::opencv_caffe::InfogainLossParameter& LayerParameter::infogain_loss_param() const {
20083   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.infogain_loss_param)
20084   return infogain_loss_param_ != NULL ? *infogain_loss_param_
20085                          : *::opencv_caffe::InfogainLossParameter::internal_default_instance();
20086 }
20087 ::opencv_caffe::InfogainLossParameter* LayerParameter::mutable_infogain_loss_param() {
20088   set_has_infogain_loss_param();
20089   if (infogain_loss_param_ == NULL) {
20090     infogain_loss_param_ = new ::opencv_caffe::InfogainLossParameter;
20091   }
20092   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.infogain_loss_param)
20093   return infogain_loss_param_;
20094 }
20095 ::opencv_caffe::InfogainLossParameter* LayerParameter::release_infogain_loss_param() {
20096   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.infogain_loss_param)
20097   clear_has_infogain_loss_param();
20098   ::opencv_caffe::InfogainLossParameter* temp = infogain_loss_param_;
20099   infogain_loss_param_ = NULL;
20100   return temp;
20101 }
20102 void LayerParameter::set_allocated_infogain_loss_param(::opencv_caffe::InfogainLossParameter* infogain_loss_param) {
20103   delete infogain_loss_param_;
20104   infogain_loss_param_ = infogain_loss_param;
20105   if (infogain_loss_param) {
20106     set_has_infogain_loss_param();
20107   } else {
20108     clear_has_infogain_loss_param();
20109   }
20110   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.infogain_loss_param)
20111 }
20112
20113 // optional .opencv_caffe.InnerProductParameter inner_product_param = 117;
20114 bool LayerParameter::has_inner_product_param() const {
20115   return (_has_bits_[1] & 0x00000008u) != 0;
20116 }
20117 void LayerParameter::set_has_inner_product_param() {
20118   _has_bits_[1] |= 0x00000008u;
20119 }
20120 void LayerParameter::clear_has_inner_product_param() {
20121   _has_bits_[1] &= ~0x00000008u;
20122 }
20123 void LayerParameter::clear_inner_product_param() {
20124   if (inner_product_param_ != NULL) inner_product_param_->::opencv_caffe::InnerProductParameter::Clear();
20125   clear_has_inner_product_param();
20126 }
20127 const ::opencv_caffe::InnerProductParameter& LayerParameter::inner_product_param() const {
20128   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.inner_product_param)
20129   return inner_product_param_ != NULL ? *inner_product_param_
20130                          : *::opencv_caffe::InnerProductParameter::internal_default_instance();
20131 }
20132 ::opencv_caffe::InnerProductParameter* LayerParameter::mutable_inner_product_param() {
20133   set_has_inner_product_param();
20134   if (inner_product_param_ == NULL) {
20135     inner_product_param_ = new ::opencv_caffe::InnerProductParameter;
20136   }
20137   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.inner_product_param)
20138   return inner_product_param_;
20139 }
20140 ::opencv_caffe::InnerProductParameter* LayerParameter::release_inner_product_param() {
20141   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.inner_product_param)
20142   clear_has_inner_product_param();
20143   ::opencv_caffe::InnerProductParameter* temp = inner_product_param_;
20144   inner_product_param_ = NULL;
20145   return temp;
20146 }
20147 void LayerParameter::set_allocated_inner_product_param(::opencv_caffe::InnerProductParameter* inner_product_param) {
20148   delete inner_product_param_;
20149   inner_product_param_ = inner_product_param;
20150   if (inner_product_param) {
20151     set_has_inner_product_param();
20152   } else {
20153     clear_has_inner_product_param();
20154   }
20155   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.inner_product_param)
20156 }
20157
20158 // optional .opencv_caffe.InputParameter input_param = 143;
20159 bool LayerParameter::has_input_param() const {
20160   return (_has_bits_[1] & 0x00000010u) != 0;
20161 }
20162 void LayerParameter::set_has_input_param() {
20163   _has_bits_[1] |= 0x00000010u;
20164 }
20165 void LayerParameter::clear_has_input_param() {
20166   _has_bits_[1] &= ~0x00000010u;
20167 }
20168 void LayerParameter::clear_input_param() {
20169   if (input_param_ != NULL) input_param_->::opencv_caffe::InputParameter::Clear();
20170   clear_has_input_param();
20171 }
20172 const ::opencv_caffe::InputParameter& LayerParameter::input_param() const {
20173   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.input_param)
20174   return input_param_ != NULL ? *input_param_
20175                          : *::opencv_caffe::InputParameter::internal_default_instance();
20176 }
20177 ::opencv_caffe::InputParameter* LayerParameter::mutable_input_param() {
20178   set_has_input_param();
20179   if (input_param_ == NULL) {
20180     input_param_ = new ::opencv_caffe::InputParameter;
20181   }
20182   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.input_param)
20183   return input_param_;
20184 }
20185 ::opencv_caffe::InputParameter* LayerParameter::release_input_param() {
20186   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.input_param)
20187   clear_has_input_param();
20188   ::opencv_caffe::InputParameter* temp = input_param_;
20189   input_param_ = NULL;
20190   return temp;
20191 }
20192 void LayerParameter::set_allocated_input_param(::opencv_caffe::InputParameter* input_param) {
20193   delete input_param_;
20194   input_param_ = input_param;
20195   if (input_param) {
20196     set_has_input_param();
20197   } else {
20198     clear_has_input_param();
20199   }
20200   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.input_param)
20201 }
20202
20203 // optional .opencv_caffe.LogParameter log_param = 134;
20204 bool LayerParameter::has_log_param() const {
20205   return (_has_bits_[1] & 0x00000020u) != 0;
20206 }
20207 void LayerParameter::set_has_log_param() {
20208   _has_bits_[1] |= 0x00000020u;
20209 }
20210 void LayerParameter::clear_has_log_param() {
20211   _has_bits_[1] &= ~0x00000020u;
20212 }
20213 void LayerParameter::clear_log_param() {
20214   if (log_param_ != NULL) log_param_->::opencv_caffe::LogParameter::Clear();
20215   clear_has_log_param();
20216 }
20217 const ::opencv_caffe::LogParameter& LayerParameter::log_param() const {
20218   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.log_param)
20219   return log_param_ != NULL ? *log_param_
20220                          : *::opencv_caffe::LogParameter::internal_default_instance();
20221 }
20222 ::opencv_caffe::LogParameter* LayerParameter::mutable_log_param() {
20223   set_has_log_param();
20224   if (log_param_ == NULL) {
20225     log_param_ = new ::opencv_caffe::LogParameter;
20226   }
20227   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.log_param)
20228   return log_param_;
20229 }
20230 ::opencv_caffe::LogParameter* LayerParameter::release_log_param() {
20231   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.log_param)
20232   clear_has_log_param();
20233   ::opencv_caffe::LogParameter* temp = log_param_;
20234   log_param_ = NULL;
20235   return temp;
20236 }
20237 void LayerParameter::set_allocated_log_param(::opencv_caffe::LogParameter* log_param) {
20238   delete log_param_;
20239   log_param_ = log_param;
20240   if (log_param) {
20241     set_has_log_param();
20242   } else {
20243     clear_has_log_param();
20244   }
20245   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.log_param)
20246 }
20247
20248 // optional .opencv_caffe.LRNParameter lrn_param = 118;
20249 bool LayerParameter::has_lrn_param() const {
20250   return (_has_bits_[1] & 0x00000040u) != 0;
20251 }
20252 void LayerParameter::set_has_lrn_param() {
20253   _has_bits_[1] |= 0x00000040u;
20254 }
20255 void LayerParameter::clear_has_lrn_param() {
20256   _has_bits_[1] &= ~0x00000040u;
20257 }
20258 void LayerParameter::clear_lrn_param() {
20259   if (lrn_param_ != NULL) lrn_param_->::opencv_caffe::LRNParameter::Clear();
20260   clear_has_lrn_param();
20261 }
20262 const ::opencv_caffe::LRNParameter& LayerParameter::lrn_param() const {
20263   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.lrn_param)
20264   return lrn_param_ != NULL ? *lrn_param_
20265                          : *::opencv_caffe::LRNParameter::internal_default_instance();
20266 }
20267 ::opencv_caffe::LRNParameter* LayerParameter::mutable_lrn_param() {
20268   set_has_lrn_param();
20269   if (lrn_param_ == NULL) {
20270     lrn_param_ = new ::opencv_caffe::LRNParameter;
20271   }
20272   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.lrn_param)
20273   return lrn_param_;
20274 }
20275 ::opencv_caffe::LRNParameter* LayerParameter::release_lrn_param() {
20276   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.lrn_param)
20277   clear_has_lrn_param();
20278   ::opencv_caffe::LRNParameter* temp = lrn_param_;
20279   lrn_param_ = NULL;
20280   return temp;
20281 }
20282 void LayerParameter::set_allocated_lrn_param(::opencv_caffe::LRNParameter* lrn_param) {
20283   delete lrn_param_;
20284   lrn_param_ = lrn_param;
20285   if (lrn_param) {
20286     set_has_lrn_param();
20287   } else {
20288     clear_has_lrn_param();
20289   }
20290   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.lrn_param)
20291 }
20292
20293 // optional .opencv_caffe.MemoryDataParameter memory_data_param = 119;
20294 bool LayerParameter::has_memory_data_param() const {
20295   return (_has_bits_[1] & 0x00000080u) != 0;
20296 }
20297 void LayerParameter::set_has_memory_data_param() {
20298   _has_bits_[1] |= 0x00000080u;
20299 }
20300 void LayerParameter::clear_has_memory_data_param() {
20301   _has_bits_[1] &= ~0x00000080u;
20302 }
20303 void LayerParameter::clear_memory_data_param() {
20304   if (memory_data_param_ != NULL) memory_data_param_->::opencv_caffe::MemoryDataParameter::Clear();
20305   clear_has_memory_data_param();
20306 }
20307 const ::opencv_caffe::MemoryDataParameter& LayerParameter::memory_data_param() const {
20308   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.memory_data_param)
20309   return memory_data_param_ != NULL ? *memory_data_param_
20310                          : *::opencv_caffe::MemoryDataParameter::internal_default_instance();
20311 }
20312 ::opencv_caffe::MemoryDataParameter* LayerParameter::mutable_memory_data_param() {
20313   set_has_memory_data_param();
20314   if (memory_data_param_ == NULL) {
20315     memory_data_param_ = new ::opencv_caffe::MemoryDataParameter;
20316   }
20317   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.memory_data_param)
20318   return memory_data_param_;
20319 }
20320 ::opencv_caffe::MemoryDataParameter* LayerParameter::release_memory_data_param() {
20321   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.memory_data_param)
20322   clear_has_memory_data_param();
20323   ::opencv_caffe::MemoryDataParameter* temp = memory_data_param_;
20324   memory_data_param_ = NULL;
20325   return temp;
20326 }
20327 void LayerParameter::set_allocated_memory_data_param(::opencv_caffe::MemoryDataParameter* memory_data_param) {
20328   delete memory_data_param_;
20329   memory_data_param_ = memory_data_param;
20330   if (memory_data_param) {
20331     set_has_memory_data_param();
20332   } else {
20333     clear_has_memory_data_param();
20334   }
20335   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.memory_data_param)
20336 }
20337
20338 // optional .opencv_caffe.MVNParameter mvn_param = 120;
20339 bool LayerParameter::has_mvn_param() const {
20340   return (_has_bits_[1] & 0x00000100u) != 0;
20341 }
20342 void LayerParameter::set_has_mvn_param() {
20343   _has_bits_[1] |= 0x00000100u;
20344 }
20345 void LayerParameter::clear_has_mvn_param() {
20346   _has_bits_[1] &= ~0x00000100u;
20347 }
20348 void LayerParameter::clear_mvn_param() {
20349   if (mvn_param_ != NULL) mvn_param_->::opencv_caffe::MVNParameter::Clear();
20350   clear_has_mvn_param();
20351 }
20352 const ::opencv_caffe::MVNParameter& LayerParameter::mvn_param() const {
20353   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.mvn_param)
20354   return mvn_param_ != NULL ? *mvn_param_
20355                          : *::opencv_caffe::MVNParameter::internal_default_instance();
20356 }
20357 ::opencv_caffe::MVNParameter* LayerParameter::mutable_mvn_param() {
20358   set_has_mvn_param();
20359   if (mvn_param_ == NULL) {
20360     mvn_param_ = new ::opencv_caffe::MVNParameter;
20361   }
20362   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.mvn_param)
20363   return mvn_param_;
20364 }
20365 ::opencv_caffe::MVNParameter* LayerParameter::release_mvn_param() {
20366   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.mvn_param)
20367   clear_has_mvn_param();
20368   ::opencv_caffe::MVNParameter* temp = mvn_param_;
20369   mvn_param_ = NULL;
20370   return temp;
20371 }
20372 void LayerParameter::set_allocated_mvn_param(::opencv_caffe::MVNParameter* mvn_param) {
20373   delete mvn_param_;
20374   mvn_param_ = mvn_param;
20375   if (mvn_param) {
20376     set_has_mvn_param();
20377   } else {
20378     clear_has_mvn_param();
20379   }
20380   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.mvn_param)
20381 }
20382
20383 // optional .opencv_caffe.NormalizeBBoxParameter norm_param = 149;
20384 bool LayerParameter::has_norm_param() const {
20385   return (_has_bits_[1] & 0x00000200u) != 0;
20386 }
20387 void LayerParameter::set_has_norm_param() {
20388   _has_bits_[1] |= 0x00000200u;
20389 }
20390 void LayerParameter::clear_has_norm_param() {
20391   _has_bits_[1] &= ~0x00000200u;
20392 }
20393 void LayerParameter::clear_norm_param() {
20394   if (norm_param_ != NULL) norm_param_->::opencv_caffe::NormalizeBBoxParameter::Clear();
20395   clear_has_norm_param();
20396 }
20397 const ::opencv_caffe::NormalizeBBoxParameter& LayerParameter::norm_param() const {
20398   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.norm_param)
20399   return norm_param_ != NULL ? *norm_param_
20400                          : *::opencv_caffe::NormalizeBBoxParameter::internal_default_instance();
20401 }
20402 ::opencv_caffe::NormalizeBBoxParameter* LayerParameter::mutable_norm_param() {
20403   set_has_norm_param();
20404   if (norm_param_ == NULL) {
20405     norm_param_ = new ::opencv_caffe::NormalizeBBoxParameter;
20406   }
20407   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.norm_param)
20408   return norm_param_;
20409 }
20410 ::opencv_caffe::NormalizeBBoxParameter* LayerParameter::release_norm_param() {
20411   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.norm_param)
20412   clear_has_norm_param();
20413   ::opencv_caffe::NormalizeBBoxParameter* temp = norm_param_;
20414   norm_param_ = NULL;
20415   return temp;
20416 }
20417 void LayerParameter::set_allocated_norm_param(::opencv_caffe::NormalizeBBoxParameter* norm_param) {
20418   delete norm_param_;
20419   norm_param_ = norm_param;
20420   if (norm_param) {
20421     set_has_norm_param();
20422   } else {
20423     clear_has_norm_param();
20424   }
20425   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.norm_param)
20426 }
20427
20428 // optional .opencv_caffe.PermuteParameter permute_param = 148;
20429 bool LayerParameter::has_permute_param() const {
20430   return (_has_bits_[1] & 0x00000400u) != 0;
20431 }
20432 void LayerParameter::set_has_permute_param() {
20433   _has_bits_[1] |= 0x00000400u;
20434 }
20435 void LayerParameter::clear_has_permute_param() {
20436   _has_bits_[1] &= ~0x00000400u;
20437 }
20438 void LayerParameter::clear_permute_param() {
20439   if (permute_param_ != NULL) permute_param_->::opencv_caffe::PermuteParameter::Clear();
20440   clear_has_permute_param();
20441 }
20442 const ::opencv_caffe::PermuteParameter& LayerParameter::permute_param() const {
20443   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.permute_param)
20444   return permute_param_ != NULL ? *permute_param_
20445                          : *::opencv_caffe::PermuteParameter::internal_default_instance();
20446 }
20447 ::opencv_caffe::PermuteParameter* LayerParameter::mutable_permute_param() {
20448   set_has_permute_param();
20449   if (permute_param_ == NULL) {
20450     permute_param_ = new ::opencv_caffe::PermuteParameter;
20451   }
20452   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.permute_param)
20453   return permute_param_;
20454 }
20455 ::opencv_caffe::PermuteParameter* LayerParameter::release_permute_param() {
20456   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.permute_param)
20457   clear_has_permute_param();
20458   ::opencv_caffe::PermuteParameter* temp = permute_param_;
20459   permute_param_ = NULL;
20460   return temp;
20461 }
20462 void LayerParameter::set_allocated_permute_param(::opencv_caffe::PermuteParameter* permute_param) {
20463   delete permute_param_;
20464   permute_param_ = permute_param;
20465   if (permute_param) {
20466     set_has_permute_param();
20467   } else {
20468     clear_has_permute_param();
20469   }
20470   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.permute_param)
20471 }
20472
20473 // optional .opencv_caffe.ParameterParameter parameter_param = 145;
20474 bool LayerParameter::has_parameter_param() const {
20475   return (_has_bits_[1] & 0x00000800u) != 0;
20476 }
20477 void LayerParameter::set_has_parameter_param() {
20478   _has_bits_[1] |= 0x00000800u;
20479 }
20480 void LayerParameter::clear_has_parameter_param() {
20481   _has_bits_[1] &= ~0x00000800u;
20482 }
20483 void LayerParameter::clear_parameter_param() {
20484   if (parameter_param_ != NULL) parameter_param_->::opencv_caffe::ParameterParameter::Clear();
20485   clear_has_parameter_param();
20486 }
20487 const ::opencv_caffe::ParameterParameter& LayerParameter::parameter_param() const {
20488   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.parameter_param)
20489   return parameter_param_ != NULL ? *parameter_param_
20490                          : *::opencv_caffe::ParameterParameter::internal_default_instance();
20491 }
20492 ::opencv_caffe::ParameterParameter* LayerParameter::mutable_parameter_param() {
20493   set_has_parameter_param();
20494   if (parameter_param_ == NULL) {
20495     parameter_param_ = new ::opencv_caffe::ParameterParameter;
20496   }
20497   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.parameter_param)
20498   return parameter_param_;
20499 }
20500 ::opencv_caffe::ParameterParameter* LayerParameter::release_parameter_param() {
20501   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.parameter_param)
20502   clear_has_parameter_param();
20503   ::opencv_caffe::ParameterParameter* temp = parameter_param_;
20504   parameter_param_ = NULL;
20505   return temp;
20506 }
20507 void LayerParameter::set_allocated_parameter_param(::opencv_caffe::ParameterParameter* parameter_param) {
20508   delete parameter_param_;
20509   parameter_param_ = parameter_param;
20510   if (parameter_param) {
20511     set_has_parameter_param();
20512   } else {
20513     clear_has_parameter_param();
20514   }
20515   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.parameter_param)
20516 }
20517
20518 // optional .opencv_caffe.PoolingParameter pooling_param = 121;
20519 bool LayerParameter::has_pooling_param() const {
20520   return (_has_bits_[1] & 0x00001000u) != 0;
20521 }
20522 void LayerParameter::set_has_pooling_param() {
20523   _has_bits_[1] |= 0x00001000u;
20524 }
20525 void LayerParameter::clear_has_pooling_param() {
20526   _has_bits_[1] &= ~0x00001000u;
20527 }
20528 void LayerParameter::clear_pooling_param() {
20529   if (pooling_param_ != NULL) pooling_param_->::opencv_caffe::PoolingParameter::Clear();
20530   clear_has_pooling_param();
20531 }
20532 const ::opencv_caffe::PoolingParameter& LayerParameter::pooling_param() const {
20533   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.pooling_param)
20534   return pooling_param_ != NULL ? *pooling_param_
20535                          : *::opencv_caffe::PoolingParameter::internal_default_instance();
20536 }
20537 ::opencv_caffe::PoolingParameter* LayerParameter::mutable_pooling_param() {
20538   set_has_pooling_param();
20539   if (pooling_param_ == NULL) {
20540     pooling_param_ = new ::opencv_caffe::PoolingParameter;
20541   }
20542   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.pooling_param)
20543   return pooling_param_;
20544 }
20545 ::opencv_caffe::PoolingParameter* LayerParameter::release_pooling_param() {
20546   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.pooling_param)
20547   clear_has_pooling_param();
20548   ::opencv_caffe::PoolingParameter* temp = pooling_param_;
20549   pooling_param_ = NULL;
20550   return temp;
20551 }
20552 void LayerParameter::set_allocated_pooling_param(::opencv_caffe::PoolingParameter* pooling_param) {
20553   delete pooling_param_;
20554   pooling_param_ = pooling_param;
20555   if (pooling_param) {
20556     set_has_pooling_param();
20557   } else {
20558     clear_has_pooling_param();
20559   }
20560   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.pooling_param)
20561 }
20562
20563 // optional .opencv_caffe.PowerParameter power_param = 122;
20564 bool LayerParameter::has_power_param() const {
20565   return (_has_bits_[1] & 0x00002000u) != 0;
20566 }
20567 void LayerParameter::set_has_power_param() {
20568   _has_bits_[1] |= 0x00002000u;
20569 }
20570 void LayerParameter::clear_has_power_param() {
20571   _has_bits_[1] &= ~0x00002000u;
20572 }
20573 void LayerParameter::clear_power_param() {
20574   if (power_param_ != NULL) power_param_->::opencv_caffe::PowerParameter::Clear();
20575   clear_has_power_param();
20576 }
20577 const ::opencv_caffe::PowerParameter& LayerParameter::power_param() const {
20578   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.power_param)
20579   return power_param_ != NULL ? *power_param_
20580                          : *::opencv_caffe::PowerParameter::internal_default_instance();
20581 }
20582 ::opencv_caffe::PowerParameter* LayerParameter::mutable_power_param() {
20583   set_has_power_param();
20584   if (power_param_ == NULL) {
20585     power_param_ = new ::opencv_caffe::PowerParameter;
20586   }
20587   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.power_param)
20588   return power_param_;
20589 }
20590 ::opencv_caffe::PowerParameter* LayerParameter::release_power_param() {
20591   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.power_param)
20592   clear_has_power_param();
20593   ::opencv_caffe::PowerParameter* temp = power_param_;
20594   power_param_ = NULL;
20595   return temp;
20596 }
20597 void LayerParameter::set_allocated_power_param(::opencv_caffe::PowerParameter* power_param) {
20598   delete power_param_;
20599   power_param_ = power_param;
20600   if (power_param) {
20601     set_has_power_param();
20602   } else {
20603     clear_has_power_param();
20604   }
20605   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.power_param)
20606 }
20607
20608 // optional .opencv_caffe.PReLUParameter prelu_param = 131;
20609 bool LayerParameter::has_prelu_param() const {
20610   return (_has_bits_[1] & 0x00004000u) != 0;
20611 }
20612 void LayerParameter::set_has_prelu_param() {
20613   _has_bits_[1] |= 0x00004000u;
20614 }
20615 void LayerParameter::clear_has_prelu_param() {
20616   _has_bits_[1] &= ~0x00004000u;
20617 }
20618 void LayerParameter::clear_prelu_param() {
20619   if (prelu_param_ != NULL) prelu_param_->::opencv_caffe::PReLUParameter::Clear();
20620   clear_has_prelu_param();
20621 }
20622 const ::opencv_caffe::PReLUParameter& LayerParameter::prelu_param() const {
20623   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.prelu_param)
20624   return prelu_param_ != NULL ? *prelu_param_
20625                          : *::opencv_caffe::PReLUParameter::internal_default_instance();
20626 }
20627 ::opencv_caffe::PReLUParameter* LayerParameter::mutable_prelu_param() {
20628   set_has_prelu_param();
20629   if (prelu_param_ == NULL) {
20630     prelu_param_ = new ::opencv_caffe::PReLUParameter;
20631   }
20632   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.prelu_param)
20633   return prelu_param_;
20634 }
20635 ::opencv_caffe::PReLUParameter* LayerParameter::release_prelu_param() {
20636   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.prelu_param)
20637   clear_has_prelu_param();
20638   ::opencv_caffe::PReLUParameter* temp = prelu_param_;
20639   prelu_param_ = NULL;
20640   return temp;
20641 }
20642 void LayerParameter::set_allocated_prelu_param(::opencv_caffe::PReLUParameter* prelu_param) {
20643   delete prelu_param_;
20644   prelu_param_ = prelu_param;
20645   if (prelu_param) {
20646     set_has_prelu_param();
20647   } else {
20648     clear_has_prelu_param();
20649   }
20650   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.prelu_param)
20651 }
20652
20653 // optional .opencv_caffe.PriorBoxParameter prior_box_param = 150;
20654 bool LayerParameter::has_prior_box_param() const {
20655   return (_has_bits_[1] & 0x00008000u) != 0;
20656 }
20657 void LayerParameter::set_has_prior_box_param() {
20658   _has_bits_[1] |= 0x00008000u;
20659 }
20660 void LayerParameter::clear_has_prior_box_param() {
20661   _has_bits_[1] &= ~0x00008000u;
20662 }
20663 void LayerParameter::clear_prior_box_param() {
20664   if (prior_box_param_ != NULL) prior_box_param_->::opencv_caffe::PriorBoxParameter::Clear();
20665   clear_has_prior_box_param();
20666 }
20667 const ::opencv_caffe::PriorBoxParameter& LayerParameter::prior_box_param() const {
20668   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.prior_box_param)
20669   return prior_box_param_ != NULL ? *prior_box_param_
20670                          : *::opencv_caffe::PriorBoxParameter::internal_default_instance();
20671 }
20672 ::opencv_caffe::PriorBoxParameter* LayerParameter::mutable_prior_box_param() {
20673   set_has_prior_box_param();
20674   if (prior_box_param_ == NULL) {
20675     prior_box_param_ = new ::opencv_caffe::PriorBoxParameter;
20676   }
20677   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.prior_box_param)
20678   return prior_box_param_;
20679 }
20680 ::opencv_caffe::PriorBoxParameter* LayerParameter::release_prior_box_param() {
20681   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.prior_box_param)
20682   clear_has_prior_box_param();
20683   ::opencv_caffe::PriorBoxParameter* temp = prior_box_param_;
20684   prior_box_param_ = NULL;
20685   return temp;
20686 }
20687 void LayerParameter::set_allocated_prior_box_param(::opencv_caffe::PriorBoxParameter* prior_box_param) {
20688   delete prior_box_param_;
20689   prior_box_param_ = prior_box_param;
20690   if (prior_box_param) {
20691     set_has_prior_box_param();
20692   } else {
20693     clear_has_prior_box_param();
20694   }
20695   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.prior_box_param)
20696 }
20697
20698 // optional .opencv_caffe.ProposalParameter proposal_param = 201;
20699 bool LayerParameter::has_proposal_param() const {
20700   return (_has_bits_[1] & 0x00010000u) != 0;
20701 }
20702 void LayerParameter::set_has_proposal_param() {
20703   _has_bits_[1] |= 0x00010000u;
20704 }
20705 void LayerParameter::clear_has_proposal_param() {
20706   _has_bits_[1] &= ~0x00010000u;
20707 }
20708 void LayerParameter::clear_proposal_param() {
20709   if (proposal_param_ != NULL) proposal_param_->::opencv_caffe::ProposalParameter::Clear();
20710   clear_has_proposal_param();
20711 }
20712 const ::opencv_caffe::ProposalParameter& LayerParameter::proposal_param() const {
20713   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.proposal_param)
20714   return proposal_param_ != NULL ? *proposal_param_
20715                          : *::opencv_caffe::ProposalParameter::internal_default_instance();
20716 }
20717 ::opencv_caffe::ProposalParameter* LayerParameter::mutable_proposal_param() {
20718   set_has_proposal_param();
20719   if (proposal_param_ == NULL) {
20720     proposal_param_ = new ::opencv_caffe::ProposalParameter;
20721   }
20722   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.proposal_param)
20723   return proposal_param_;
20724 }
20725 ::opencv_caffe::ProposalParameter* LayerParameter::release_proposal_param() {
20726   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.proposal_param)
20727   clear_has_proposal_param();
20728   ::opencv_caffe::ProposalParameter* temp = proposal_param_;
20729   proposal_param_ = NULL;
20730   return temp;
20731 }
20732 void LayerParameter::set_allocated_proposal_param(::opencv_caffe::ProposalParameter* proposal_param) {
20733   delete proposal_param_;
20734   proposal_param_ = proposal_param;
20735   if (proposal_param) {
20736     set_has_proposal_param();
20737   } else {
20738     clear_has_proposal_param();
20739   }
20740   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.proposal_param)
20741 }
20742
20743 // optional .opencv_caffe.PythonParameter python_param = 130;
20744 bool LayerParameter::has_python_param() const {
20745   return (_has_bits_[1] & 0x00020000u) != 0;
20746 }
20747 void LayerParameter::set_has_python_param() {
20748   _has_bits_[1] |= 0x00020000u;
20749 }
20750 void LayerParameter::clear_has_python_param() {
20751   _has_bits_[1] &= ~0x00020000u;
20752 }
20753 void LayerParameter::clear_python_param() {
20754   if (python_param_ != NULL) python_param_->::opencv_caffe::PythonParameter::Clear();
20755   clear_has_python_param();
20756 }
20757 const ::opencv_caffe::PythonParameter& LayerParameter::python_param() const {
20758   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.python_param)
20759   return python_param_ != NULL ? *python_param_
20760                          : *::opencv_caffe::PythonParameter::internal_default_instance();
20761 }
20762 ::opencv_caffe::PythonParameter* LayerParameter::mutable_python_param() {
20763   set_has_python_param();
20764   if (python_param_ == NULL) {
20765     python_param_ = new ::opencv_caffe::PythonParameter;
20766   }
20767   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.python_param)
20768   return python_param_;
20769 }
20770 ::opencv_caffe::PythonParameter* LayerParameter::release_python_param() {
20771   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.python_param)
20772   clear_has_python_param();
20773   ::opencv_caffe::PythonParameter* temp = python_param_;
20774   python_param_ = NULL;
20775   return temp;
20776 }
20777 void LayerParameter::set_allocated_python_param(::opencv_caffe::PythonParameter* python_param) {
20778   delete python_param_;
20779   python_param_ = python_param;
20780   if (python_param) {
20781     set_has_python_param();
20782   } else {
20783     clear_has_python_param();
20784   }
20785   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.python_param)
20786 }
20787
20788 // optional .opencv_caffe.RecurrentParameter recurrent_param = 146;
20789 bool LayerParameter::has_recurrent_param() const {
20790   return (_has_bits_[1] & 0x00040000u) != 0;
20791 }
20792 void LayerParameter::set_has_recurrent_param() {
20793   _has_bits_[1] |= 0x00040000u;
20794 }
20795 void LayerParameter::clear_has_recurrent_param() {
20796   _has_bits_[1] &= ~0x00040000u;
20797 }
20798 void LayerParameter::clear_recurrent_param() {
20799   if (recurrent_param_ != NULL) recurrent_param_->::opencv_caffe::RecurrentParameter::Clear();
20800   clear_has_recurrent_param();
20801 }
20802 const ::opencv_caffe::RecurrentParameter& LayerParameter::recurrent_param() const {
20803   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.recurrent_param)
20804   return recurrent_param_ != NULL ? *recurrent_param_
20805                          : *::opencv_caffe::RecurrentParameter::internal_default_instance();
20806 }
20807 ::opencv_caffe::RecurrentParameter* LayerParameter::mutable_recurrent_param() {
20808   set_has_recurrent_param();
20809   if (recurrent_param_ == NULL) {
20810     recurrent_param_ = new ::opencv_caffe::RecurrentParameter;
20811   }
20812   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.recurrent_param)
20813   return recurrent_param_;
20814 }
20815 ::opencv_caffe::RecurrentParameter* LayerParameter::release_recurrent_param() {
20816   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.recurrent_param)
20817   clear_has_recurrent_param();
20818   ::opencv_caffe::RecurrentParameter* temp = recurrent_param_;
20819   recurrent_param_ = NULL;
20820   return temp;
20821 }
20822 void LayerParameter::set_allocated_recurrent_param(::opencv_caffe::RecurrentParameter* recurrent_param) {
20823   delete recurrent_param_;
20824   recurrent_param_ = recurrent_param;
20825   if (recurrent_param) {
20826     set_has_recurrent_param();
20827   } else {
20828     clear_has_recurrent_param();
20829   }
20830   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.recurrent_param)
20831 }
20832
20833 // optional .opencv_caffe.ReductionParameter reduction_param = 136;
20834 bool LayerParameter::has_reduction_param() const {
20835   return (_has_bits_[1] & 0x00080000u) != 0;
20836 }
20837 void LayerParameter::set_has_reduction_param() {
20838   _has_bits_[1] |= 0x00080000u;
20839 }
20840 void LayerParameter::clear_has_reduction_param() {
20841   _has_bits_[1] &= ~0x00080000u;
20842 }
20843 void LayerParameter::clear_reduction_param() {
20844   if (reduction_param_ != NULL) reduction_param_->::opencv_caffe::ReductionParameter::Clear();
20845   clear_has_reduction_param();
20846 }
20847 const ::opencv_caffe::ReductionParameter& LayerParameter::reduction_param() const {
20848   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.reduction_param)
20849   return reduction_param_ != NULL ? *reduction_param_
20850                          : *::opencv_caffe::ReductionParameter::internal_default_instance();
20851 }
20852 ::opencv_caffe::ReductionParameter* LayerParameter::mutable_reduction_param() {
20853   set_has_reduction_param();
20854   if (reduction_param_ == NULL) {
20855     reduction_param_ = new ::opencv_caffe::ReductionParameter;
20856   }
20857   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.reduction_param)
20858   return reduction_param_;
20859 }
20860 ::opencv_caffe::ReductionParameter* LayerParameter::release_reduction_param() {
20861   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.reduction_param)
20862   clear_has_reduction_param();
20863   ::opencv_caffe::ReductionParameter* temp = reduction_param_;
20864   reduction_param_ = NULL;
20865   return temp;
20866 }
20867 void LayerParameter::set_allocated_reduction_param(::opencv_caffe::ReductionParameter* reduction_param) {
20868   delete reduction_param_;
20869   reduction_param_ = reduction_param;
20870   if (reduction_param) {
20871     set_has_reduction_param();
20872   } else {
20873     clear_has_reduction_param();
20874   }
20875   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.reduction_param)
20876 }
20877
20878 // optional .opencv_caffe.ReLUParameter relu_param = 123;
20879 bool LayerParameter::has_relu_param() const {
20880   return (_has_bits_[1] & 0x00100000u) != 0;
20881 }
20882 void LayerParameter::set_has_relu_param() {
20883   _has_bits_[1] |= 0x00100000u;
20884 }
20885 void LayerParameter::clear_has_relu_param() {
20886   _has_bits_[1] &= ~0x00100000u;
20887 }
20888 void LayerParameter::clear_relu_param() {
20889   if (relu_param_ != NULL) relu_param_->::opencv_caffe::ReLUParameter::Clear();
20890   clear_has_relu_param();
20891 }
20892 const ::opencv_caffe::ReLUParameter& LayerParameter::relu_param() const {
20893   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.relu_param)
20894   return relu_param_ != NULL ? *relu_param_
20895                          : *::opencv_caffe::ReLUParameter::internal_default_instance();
20896 }
20897 ::opencv_caffe::ReLUParameter* LayerParameter::mutable_relu_param() {
20898   set_has_relu_param();
20899   if (relu_param_ == NULL) {
20900     relu_param_ = new ::opencv_caffe::ReLUParameter;
20901   }
20902   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.relu_param)
20903   return relu_param_;
20904 }
20905 ::opencv_caffe::ReLUParameter* LayerParameter::release_relu_param() {
20906   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.relu_param)
20907   clear_has_relu_param();
20908   ::opencv_caffe::ReLUParameter* temp = relu_param_;
20909   relu_param_ = NULL;
20910   return temp;
20911 }
20912 void LayerParameter::set_allocated_relu_param(::opencv_caffe::ReLUParameter* relu_param) {
20913   delete relu_param_;
20914   relu_param_ = relu_param;
20915   if (relu_param) {
20916     set_has_relu_param();
20917   } else {
20918     clear_has_relu_param();
20919   }
20920   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.relu_param)
20921 }
20922
20923 // optional .opencv_caffe.ReshapeParameter reshape_param = 133;
20924 bool LayerParameter::has_reshape_param() const {
20925   return (_has_bits_[1] & 0x00200000u) != 0;
20926 }
20927 void LayerParameter::set_has_reshape_param() {
20928   _has_bits_[1] |= 0x00200000u;
20929 }
20930 void LayerParameter::clear_has_reshape_param() {
20931   _has_bits_[1] &= ~0x00200000u;
20932 }
20933 void LayerParameter::clear_reshape_param() {
20934   if (reshape_param_ != NULL) reshape_param_->::opencv_caffe::ReshapeParameter::Clear();
20935   clear_has_reshape_param();
20936 }
20937 const ::opencv_caffe::ReshapeParameter& LayerParameter::reshape_param() const {
20938   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.reshape_param)
20939   return reshape_param_ != NULL ? *reshape_param_
20940                          : *::opencv_caffe::ReshapeParameter::internal_default_instance();
20941 }
20942 ::opencv_caffe::ReshapeParameter* LayerParameter::mutable_reshape_param() {
20943   set_has_reshape_param();
20944   if (reshape_param_ == NULL) {
20945     reshape_param_ = new ::opencv_caffe::ReshapeParameter;
20946   }
20947   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.reshape_param)
20948   return reshape_param_;
20949 }
20950 ::opencv_caffe::ReshapeParameter* LayerParameter::release_reshape_param() {
20951   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.reshape_param)
20952   clear_has_reshape_param();
20953   ::opencv_caffe::ReshapeParameter* temp = reshape_param_;
20954   reshape_param_ = NULL;
20955   return temp;
20956 }
20957 void LayerParameter::set_allocated_reshape_param(::opencv_caffe::ReshapeParameter* reshape_param) {
20958   delete reshape_param_;
20959   reshape_param_ = reshape_param;
20960   if (reshape_param) {
20961     set_has_reshape_param();
20962   } else {
20963     clear_has_reshape_param();
20964   }
20965   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.reshape_param)
20966 }
20967
20968 // optional .opencv_caffe.ROIPoolingParameter roi_pooling_param = 8266711;
20969 bool LayerParameter::has_roi_pooling_param() const {
20970   return (_has_bits_[1] & 0x00400000u) != 0;
20971 }
20972 void LayerParameter::set_has_roi_pooling_param() {
20973   _has_bits_[1] |= 0x00400000u;
20974 }
20975 void LayerParameter::clear_has_roi_pooling_param() {
20976   _has_bits_[1] &= ~0x00400000u;
20977 }
20978 void LayerParameter::clear_roi_pooling_param() {
20979   if (roi_pooling_param_ != NULL) roi_pooling_param_->::opencv_caffe::ROIPoolingParameter::Clear();
20980   clear_has_roi_pooling_param();
20981 }
20982 const ::opencv_caffe::ROIPoolingParameter& LayerParameter::roi_pooling_param() const {
20983   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.roi_pooling_param)
20984   return roi_pooling_param_ != NULL ? *roi_pooling_param_
20985                          : *::opencv_caffe::ROIPoolingParameter::internal_default_instance();
20986 }
20987 ::opencv_caffe::ROIPoolingParameter* LayerParameter::mutable_roi_pooling_param() {
20988   set_has_roi_pooling_param();
20989   if (roi_pooling_param_ == NULL) {
20990     roi_pooling_param_ = new ::opencv_caffe::ROIPoolingParameter;
20991   }
20992   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.roi_pooling_param)
20993   return roi_pooling_param_;
20994 }
20995 ::opencv_caffe::ROIPoolingParameter* LayerParameter::release_roi_pooling_param() {
20996   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.roi_pooling_param)
20997   clear_has_roi_pooling_param();
20998   ::opencv_caffe::ROIPoolingParameter* temp = roi_pooling_param_;
20999   roi_pooling_param_ = NULL;
21000   return temp;
21001 }
21002 void LayerParameter::set_allocated_roi_pooling_param(::opencv_caffe::ROIPoolingParameter* roi_pooling_param) {
21003   delete roi_pooling_param_;
21004   roi_pooling_param_ = roi_pooling_param;
21005   if (roi_pooling_param) {
21006     set_has_roi_pooling_param();
21007   } else {
21008     clear_has_roi_pooling_param();
21009   }
21010   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.roi_pooling_param)
21011 }
21012
21013 // optional .opencv_caffe.ScaleParameter scale_param = 142;
21014 bool LayerParameter::has_scale_param() const {
21015   return (_has_bits_[1] & 0x00800000u) != 0;
21016 }
21017 void LayerParameter::set_has_scale_param() {
21018   _has_bits_[1] |= 0x00800000u;
21019 }
21020 void LayerParameter::clear_has_scale_param() {
21021   _has_bits_[1] &= ~0x00800000u;
21022 }
21023 void LayerParameter::clear_scale_param() {
21024   if (scale_param_ != NULL) scale_param_->::opencv_caffe::ScaleParameter::Clear();
21025   clear_has_scale_param();
21026 }
21027 const ::opencv_caffe::ScaleParameter& LayerParameter::scale_param() const {
21028   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.scale_param)
21029   return scale_param_ != NULL ? *scale_param_
21030                          : *::opencv_caffe::ScaleParameter::internal_default_instance();
21031 }
21032 ::opencv_caffe::ScaleParameter* LayerParameter::mutable_scale_param() {
21033   set_has_scale_param();
21034   if (scale_param_ == NULL) {
21035     scale_param_ = new ::opencv_caffe::ScaleParameter;
21036   }
21037   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.scale_param)
21038   return scale_param_;
21039 }
21040 ::opencv_caffe::ScaleParameter* LayerParameter::release_scale_param() {
21041   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.scale_param)
21042   clear_has_scale_param();
21043   ::opencv_caffe::ScaleParameter* temp = scale_param_;
21044   scale_param_ = NULL;
21045   return temp;
21046 }
21047 void LayerParameter::set_allocated_scale_param(::opencv_caffe::ScaleParameter* scale_param) {
21048   delete scale_param_;
21049   scale_param_ = scale_param;
21050   if (scale_param) {
21051     set_has_scale_param();
21052   } else {
21053     clear_has_scale_param();
21054   }
21055   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.scale_param)
21056 }
21057
21058 // optional .opencv_caffe.SigmoidParameter sigmoid_param = 124;
21059 bool LayerParameter::has_sigmoid_param() const {
21060   return (_has_bits_[1] & 0x01000000u) != 0;
21061 }
21062 void LayerParameter::set_has_sigmoid_param() {
21063   _has_bits_[1] |= 0x01000000u;
21064 }
21065 void LayerParameter::clear_has_sigmoid_param() {
21066   _has_bits_[1] &= ~0x01000000u;
21067 }
21068 void LayerParameter::clear_sigmoid_param() {
21069   if (sigmoid_param_ != NULL) sigmoid_param_->::opencv_caffe::SigmoidParameter::Clear();
21070   clear_has_sigmoid_param();
21071 }
21072 const ::opencv_caffe::SigmoidParameter& LayerParameter::sigmoid_param() const {
21073   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.sigmoid_param)
21074   return sigmoid_param_ != NULL ? *sigmoid_param_
21075                          : *::opencv_caffe::SigmoidParameter::internal_default_instance();
21076 }
21077 ::opencv_caffe::SigmoidParameter* LayerParameter::mutable_sigmoid_param() {
21078   set_has_sigmoid_param();
21079   if (sigmoid_param_ == NULL) {
21080     sigmoid_param_ = new ::opencv_caffe::SigmoidParameter;
21081   }
21082   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.sigmoid_param)
21083   return sigmoid_param_;
21084 }
21085 ::opencv_caffe::SigmoidParameter* LayerParameter::release_sigmoid_param() {
21086   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.sigmoid_param)
21087   clear_has_sigmoid_param();
21088   ::opencv_caffe::SigmoidParameter* temp = sigmoid_param_;
21089   sigmoid_param_ = NULL;
21090   return temp;
21091 }
21092 void LayerParameter::set_allocated_sigmoid_param(::opencv_caffe::SigmoidParameter* sigmoid_param) {
21093   delete sigmoid_param_;
21094   sigmoid_param_ = sigmoid_param;
21095   if (sigmoid_param) {
21096     set_has_sigmoid_param();
21097   } else {
21098     clear_has_sigmoid_param();
21099   }
21100   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.sigmoid_param)
21101 }
21102
21103 // optional .opencv_caffe.SoftmaxParameter softmax_param = 125;
21104 bool LayerParameter::has_softmax_param() const {
21105   return (_has_bits_[1] & 0x02000000u) != 0;
21106 }
21107 void LayerParameter::set_has_softmax_param() {
21108   _has_bits_[1] |= 0x02000000u;
21109 }
21110 void LayerParameter::clear_has_softmax_param() {
21111   _has_bits_[1] &= ~0x02000000u;
21112 }
21113 void LayerParameter::clear_softmax_param() {
21114   if (softmax_param_ != NULL) softmax_param_->::opencv_caffe::SoftmaxParameter::Clear();
21115   clear_has_softmax_param();
21116 }
21117 const ::opencv_caffe::SoftmaxParameter& LayerParameter::softmax_param() const {
21118   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.softmax_param)
21119   return softmax_param_ != NULL ? *softmax_param_
21120                          : *::opencv_caffe::SoftmaxParameter::internal_default_instance();
21121 }
21122 ::opencv_caffe::SoftmaxParameter* LayerParameter::mutable_softmax_param() {
21123   set_has_softmax_param();
21124   if (softmax_param_ == NULL) {
21125     softmax_param_ = new ::opencv_caffe::SoftmaxParameter;
21126   }
21127   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.softmax_param)
21128   return softmax_param_;
21129 }
21130 ::opencv_caffe::SoftmaxParameter* LayerParameter::release_softmax_param() {
21131   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.softmax_param)
21132   clear_has_softmax_param();
21133   ::opencv_caffe::SoftmaxParameter* temp = softmax_param_;
21134   softmax_param_ = NULL;
21135   return temp;
21136 }
21137 void LayerParameter::set_allocated_softmax_param(::opencv_caffe::SoftmaxParameter* softmax_param) {
21138   delete softmax_param_;
21139   softmax_param_ = softmax_param;
21140   if (softmax_param) {
21141     set_has_softmax_param();
21142   } else {
21143     clear_has_softmax_param();
21144   }
21145   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.softmax_param)
21146 }
21147
21148 // optional .opencv_caffe.SPPParameter spp_param = 132;
21149 bool LayerParameter::has_spp_param() const {
21150   return (_has_bits_[1] & 0x04000000u) != 0;
21151 }
21152 void LayerParameter::set_has_spp_param() {
21153   _has_bits_[1] |= 0x04000000u;
21154 }
21155 void LayerParameter::clear_has_spp_param() {
21156   _has_bits_[1] &= ~0x04000000u;
21157 }
21158 void LayerParameter::clear_spp_param() {
21159   if (spp_param_ != NULL) spp_param_->::opencv_caffe::SPPParameter::Clear();
21160   clear_has_spp_param();
21161 }
21162 const ::opencv_caffe::SPPParameter& LayerParameter::spp_param() const {
21163   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.spp_param)
21164   return spp_param_ != NULL ? *spp_param_
21165                          : *::opencv_caffe::SPPParameter::internal_default_instance();
21166 }
21167 ::opencv_caffe::SPPParameter* LayerParameter::mutable_spp_param() {
21168   set_has_spp_param();
21169   if (spp_param_ == NULL) {
21170     spp_param_ = new ::opencv_caffe::SPPParameter;
21171   }
21172   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.spp_param)
21173   return spp_param_;
21174 }
21175 ::opencv_caffe::SPPParameter* LayerParameter::release_spp_param() {
21176   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.spp_param)
21177   clear_has_spp_param();
21178   ::opencv_caffe::SPPParameter* temp = spp_param_;
21179   spp_param_ = NULL;
21180   return temp;
21181 }
21182 void LayerParameter::set_allocated_spp_param(::opencv_caffe::SPPParameter* spp_param) {
21183   delete spp_param_;
21184   spp_param_ = spp_param;
21185   if (spp_param) {
21186     set_has_spp_param();
21187   } else {
21188     clear_has_spp_param();
21189   }
21190   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.spp_param)
21191 }
21192
21193 // optional .opencv_caffe.SliceParameter slice_param = 126;
21194 bool LayerParameter::has_slice_param() const {
21195   return (_has_bits_[1] & 0x08000000u) != 0;
21196 }
21197 void LayerParameter::set_has_slice_param() {
21198   _has_bits_[1] |= 0x08000000u;
21199 }
21200 void LayerParameter::clear_has_slice_param() {
21201   _has_bits_[1] &= ~0x08000000u;
21202 }
21203 void LayerParameter::clear_slice_param() {
21204   if (slice_param_ != NULL) slice_param_->::opencv_caffe::SliceParameter::Clear();
21205   clear_has_slice_param();
21206 }
21207 const ::opencv_caffe::SliceParameter& LayerParameter::slice_param() const {
21208   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.slice_param)
21209   return slice_param_ != NULL ? *slice_param_
21210                          : *::opencv_caffe::SliceParameter::internal_default_instance();
21211 }
21212 ::opencv_caffe::SliceParameter* LayerParameter::mutable_slice_param() {
21213   set_has_slice_param();
21214   if (slice_param_ == NULL) {
21215     slice_param_ = new ::opencv_caffe::SliceParameter;
21216   }
21217   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.slice_param)
21218   return slice_param_;
21219 }
21220 ::opencv_caffe::SliceParameter* LayerParameter::release_slice_param() {
21221   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.slice_param)
21222   clear_has_slice_param();
21223   ::opencv_caffe::SliceParameter* temp = slice_param_;
21224   slice_param_ = NULL;
21225   return temp;
21226 }
21227 void LayerParameter::set_allocated_slice_param(::opencv_caffe::SliceParameter* slice_param) {
21228   delete slice_param_;
21229   slice_param_ = slice_param;
21230   if (slice_param) {
21231     set_has_slice_param();
21232   } else {
21233     clear_has_slice_param();
21234   }
21235   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.slice_param)
21236 }
21237
21238 // optional .opencv_caffe.TanHParameter tanh_param = 127;
21239 bool LayerParameter::has_tanh_param() const {
21240   return (_has_bits_[1] & 0x10000000u) != 0;
21241 }
21242 void LayerParameter::set_has_tanh_param() {
21243   _has_bits_[1] |= 0x10000000u;
21244 }
21245 void LayerParameter::clear_has_tanh_param() {
21246   _has_bits_[1] &= ~0x10000000u;
21247 }
21248 void LayerParameter::clear_tanh_param() {
21249   if (tanh_param_ != NULL) tanh_param_->::opencv_caffe::TanHParameter::Clear();
21250   clear_has_tanh_param();
21251 }
21252 const ::opencv_caffe::TanHParameter& LayerParameter::tanh_param() const {
21253   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.tanh_param)
21254   return tanh_param_ != NULL ? *tanh_param_
21255                          : *::opencv_caffe::TanHParameter::internal_default_instance();
21256 }
21257 ::opencv_caffe::TanHParameter* LayerParameter::mutable_tanh_param() {
21258   set_has_tanh_param();
21259   if (tanh_param_ == NULL) {
21260     tanh_param_ = new ::opencv_caffe::TanHParameter;
21261   }
21262   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.tanh_param)
21263   return tanh_param_;
21264 }
21265 ::opencv_caffe::TanHParameter* LayerParameter::release_tanh_param() {
21266   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.tanh_param)
21267   clear_has_tanh_param();
21268   ::opencv_caffe::TanHParameter* temp = tanh_param_;
21269   tanh_param_ = NULL;
21270   return temp;
21271 }
21272 void LayerParameter::set_allocated_tanh_param(::opencv_caffe::TanHParameter* tanh_param) {
21273   delete tanh_param_;
21274   tanh_param_ = tanh_param;
21275   if (tanh_param) {
21276     set_has_tanh_param();
21277   } else {
21278     clear_has_tanh_param();
21279   }
21280   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.tanh_param)
21281 }
21282
21283 // optional .opencv_caffe.ThresholdParameter threshold_param = 128;
21284 bool LayerParameter::has_threshold_param() const {
21285   return (_has_bits_[1] & 0x20000000u) != 0;
21286 }
21287 void LayerParameter::set_has_threshold_param() {
21288   _has_bits_[1] |= 0x20000000u;
21289 }
21290 void LayerParameter::clear_has_threshold_param() {
21291   _has_bits_[1] &= ~0x20000000u;
21292 }
21293 void LayerParameter::clear_threshold_param() {
21294   if (threshold_param_ != NULL) threshold_param_->::opencv_caffe::ThresholdParameter::Clear();
21295   clear_has_threshold_param();
21296 }
21297 const ::opencv_caffe::ThresholdParameter& LayerParameter::threshold_param() const {
21298   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.threshold_param)
21299   return threshold_param_ != NULL ? *threshold_param_
21300                          : *::opencv_caffe::ThresholdParameter::internal_default_instance();
21301 }
21302 ::opencv_caffe::ThresholdParameter* LayerParameter::mutable_threshold_param() {
21303   set_has_threshold_param();
21304   if (threshold_param_ == NULL) {
21305     threshold_param_ = new ::opencv_caffe::ThresholdParameter;
21306   }
21307   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.threshold_param)
21308   return threshold_param_;
21309 }
21310 ::opencv_caffe::ThresholdParameter* LayerParameter::release_threshold_param() {
21311   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.threshold_param)
21312   clear_has_threshold_param();
21313   ::opencv_caffe::ThresholdParameter* temp = threshold_param_;
21314   threshold_param_ = NULL;
21315   return temp;
21316 }
21317 void LayerParameter::set_allocated_threshold_param(::opencv_caffe::ThresholdParameter* threshold_param) {
21318   delete threshold_param_;
21319   threshold_param_ = threshold_param;
21320   if (threshold_param) {
21321     set_has_threshold_param();
21322   } else {
21323     clear_has_threshold_param();
21324   }
21325   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.threshold_param)
21326 }
21327
21328 // optional .opencv_caffe.TileParameter tile_param = 138;
21329 bool LayerParameter::has_tile_param() const {
21330   return (_has_bits_[1] & 0x40000000u) != 0;
21331 }
21332 void LayerParameter::set_has_tile_param() {
21333   _has_bits_[1] |= 0x40000000u;
21334 }
21335 void LayerParameter::clear_has_tile_param() {
21336   _has_bits_[1] &= ~0x40000000u;
21337 }
21338 void LayerParameter::clear_tile_param() {
21339   if (tile_param_ != NULL) tile_param_->::opencv_caffe::TileParameter::Clear();
21340   clear_has_tile_param();
21341 }
21342 const ::opencv_caffe::TileParameter& LayerParameter::tile_param() const {
21343   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.tile_param)
21344   return tile_param_ != NULL ? *tile_param_
21345                          : *::opencv_caffe::TileParameter::internal_default_instance();
21346 }
21347 ::opencv_caffe::TileParameter* LayerParameter::mutable_tile_param() {
21348   set_has_tile_param();
21349   if (tile_param_ == NULL) {
21350     tile_param_ = new ::opencv_caffe::TileParameter;
21351   }
21352   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.tile_param)
21353   return tile_param_;
21354 }
21355 ::opencv_caffe::TileParameter* LayerParameter::release_tile_param() {
21356   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.tile_param)
21357   clear_has_tile_param();
21358   ::opencv_caffe::TileParameter* temp = tile_param_;
21359   tile_param_ = NULL;
21360   return temp;
21361 }
21362 void LayerParameter::set_allocated_tile_param(::opencv_caffe::TileParameter* tile_param) {
21363   delete tile_param_;
21364   tile_param_ = tile_param;
21365   if (tile_param) {
21366     set_has_tile_param();
21367   } else {
21368     clear_has_tile_param();
21369   }
21370   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.tile_param)
21371 }
21372
21373 // optional .opencv_caffe.WindowDataParameter window_data_param = 129;
21374 bool LayerParameter::has_window_data_param() const {
21375   return (_has_bits_[1] & 0x80000000u) != 0;
21376 }
21377 void LayerParameter::set_has_window_data_param() {
21378   _has_bits_[1] |= 0x80000000u;
21379 }
21380 void LayerParameter::clear_has_window_data_param() {
21381   _has_bits_[1] &= ~0x80000000u;
21382 }
21383 void LayerParameter::clear_window_data_param() {
21384   if (window_data_param_ != NULL) window_data_param_->::opencv_caffe::WindowDataParameter::Clear();
21385   clear_has_window_data_param();
21386 }
21387 const ::opencv_caffe::WindowDataParameter& LayerParameter::window_data_param() const {
21388   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.window_data_param)
21389   return window_data_param_ != NULL ? *window_data_param_
21390                          : *::opencv_caffe::WindowDataParameter::internal_default_instance();
21391 }
21392 ::opencv_caffe::WindowDataParameter* LayerParameter::mutable_window_data_param() {
21393   set_has_window_data_param();
21394   if (window_data_param_ == NULL) {
21395     window_data_param_ = new ::opencv_caffe::WindowDataParameter;
21396   }
21397   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.window_data_param)
21398   return window_data_param_;
21399 }
21400 ::opencv_caffe::WindowDataParameter* LayerParameter::release_window_data_param() {
21401   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.window_data_param)
21402   clear_has_window_data_param();
21403   ::opencv_caffe::WindowDataParameter* temp = window_data_param_;
21404   window_data_param_ = NULL;
21405   return temp;
21406 }
21407 void LayerParameter::set_allocated_window_data_param(::opencv_caffe::WindowDataParameter* window_data_param) {
21408   delete window_data_param_;
21409   window_data_param_ = window_data_param;
21410   if (window_data_param) {
21411     set_has_window_data_param();
21412   } else {
21413     clear_has_window_data_param();
21414   }
21415   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.window_data_param)
21416 }
21417
21418 inline const LayerParameter* LayerParameter::internal_default_instance() {
21419   return &LayerParameter_default_instance_.get();
21420 }
21421 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
21422
21423 // ===================================================================
21424
21425 #if !defined(_MSC_VER) || _MSC_VER >= 1900
21426 const int TransformationParameter::kScaleFieldNumber;
21427 const int TransformationParameter::kMirrorFieldNumber;
21428 const int TransformationParameter::kCropSizeFieldNumber;
21429 const int TransformationParameter::kMeanFileFieldNumber;
21430 const int TransformationParameter::kMeanValueFieldNumber;
21431 const int TransformationParameter::kForceColorFieldNumber;
21432 const int TransformationParameter::kForceGrayFieldNumber;
21433 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
21434
21435 TransformationParameter::TransformationParameter()
21436   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
21437   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
21438   SharedCtor();
21439   // @@protoc_insertion_point(constructor:opencv_caffe.TransformationParameter)
21440 }
21441
21442 void TransformationParameter::InitAsDefaultInstance() {
21443 }
21444
21445 TransformationParameter::TransformationParameter(const TransformationParameter& from)
21446   : ::google::protobuf::Message(),
21447     _internal_metadata_(NULL) {
21448   SharedCtor();
21449   UnsafeMergeFrom(from);
21450   // @@protoc_insertion_point(copy_constructor:opencv_caffe.TransformationParameter)
21451 }
21452
21453 void TransformationParameter::SharedCtor() {
21454   _cached_size_ = 0;
21455   mean_file_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21456   ::memset(&crop_size_, 0, reinterpret_cast<char*>(&force_gray_) -
21457     reinterpret_cast<char*>(&crop_size_) + sizeof(force_gray_));
21458   scale_ = 1;
21459 }
21460
21461 TransformationParameter::~TransformationParameter() {
21462   // @@protoc_insertion_point(destructor:opencv_caffe.TransformationParameter)
21463   SharedDtor();
21464 }
21465
21466 void TransformationParameter::SharedDtor() {
21467   mean_file_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21468 }
21469
21470 void TransformationParameter::SetCachedSize(int size) const {
21471   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
21472   _cached_size_ = size;
21473   GOOGLE_SAFE_CONCURRENT_WRITES_END();
21474 }
21475 const ::google::protobuf::Descriptor* TransformationParameter::descriptor() {
21476   protobuf_AssignDescriptorsOnce();
21477   return TransformationParameter_descriptor_;
21478 }
21479
21480 const TransformationParameter& TransformationParameter::default_instance() {
21481   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
21482   return *internal_default_instance();
21483 }
21484
21485 ::google::protobuf::internal::ExplicitlyConstructed<TransformationParameter> TransformationParameter_default_instance_;
21486
21487 TransformationParameter* TransformationParameter::New(::google::protobuf::Arena* arena) const {
21488   TransformationParameter* n = new TransformationParameter;
21489   if (arena != NULL) {
21490     arena->Own(n);
21491   }
21492   return n;
21493 }
21494
21495 void TransformationParameter::Clear() {
21496 // @@protoc_insertion_point(message_clear_start:opencv_caffe.TransformationParameter)
21497 #if defined(__clang__)
21498 #define ZR_HELPER_(f) \
21499   _Pragma("clang diagnostic push") \
21500   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
21501   __builtin_offsetof(TransformationParameter, f) \
21502   _Pragma("clang diagnostic pop")
21503 #else
21504 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
21505   &reinterpret_cast<TransformationParameter*>(16)->f)
21506 #endif
21507
21508 #define ZR_(first, last) do {\
21509   ::memset(&(first), 0,\
21510            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
21511 } while (0)
21512
21513   if (_has_bits_[0 / 32] & 111u) {
21514     ZR_(crop_size_, force_gray_);
21515     scale_ = 1;
21516     if (has_mean_file()) {
21517       mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21518     }
21519   }
21520
21521 #undef ZR_HELPER_
21522 #undef ZR_
21523
21524   mean_value_.Clear();
21525   _has_bits_.Clear();
21526   if (_internal_metadata_.have_unknown_fields()) {
21527     mutable_unknown_fields()->Clear();
21528   }
21529 }
21530
21531 bool TransformationParameter::MergePartialFromCodedStream(
21532     ::google::protobuf::io::CodedInputStream* input) {
21533 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
21534   ::google::protobuf::uint32 tag;
21535   // @@protoc_insertion_point(parse_start:opencv_caffe.TransformationParameter)
21536   for (;;) {
21537     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
21538     tag = p.first;
21539     if (!p.second) goto handle_unusual;
21540     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
21541       // optional float scale = 1 [default = 1];
21542       case 1: {
21543         if (tag == 13) {
21544           set_has_scale();
21545           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
21546                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
21547                  input, &scale_)));
21548         } else {
21549           goto handle_unusual;
21550         }
21551         if (input->ExpectTag(16)) goto parse_mirror;
21552         break;
21553       }
21554
21555       // optional bool mirror = 2 [default = false];
21556       case 2: {
21557         if (tag == 16) {
21558          parse_mirror:
21559           set_has_mirror();
21560           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
21561                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
21562                  input, &mirror_)));
21563         } else {
21564           goto handle_unusual;
21565         }
21566         if (input->ExpectTag(24)) goto parse_crop_size;
21567         break;
21568       }
21569
21570       // optional uint32 crop_size = 3 [default = 0];
21571       case 3: {
21572         if (tag == 24) {
21573          parse_crop_size:
21574           set_has_crop_size();
21575           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
21576                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
21577                  input, &crop_size_)));
21578         } else {
21579           goto handle_unusual;
21580         }
21581         if (input->ExpectTag(34)) goto parse_mean_file;
21582         break;
21583       }
21584
21585       // optional string mean_file = 4;
21586       case 4: {
21587         if (tag == 34) {
21588          parse_mean_file:
21589           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
21590                 input, this->mutable_mean_file()));
21591           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
21592             this->mean_file().data(), this->mean_file().length(),
21593             ::google::protobuf::internal::WireFormat::PARSE,
21594             "opencv_caffe.TransformationParameter.mean_file");
21595         } else {
21596           goto handle_unusual;
21597         }
21598         if (input->ExpectTag(45)) goto parse_mean_value;
21599         break;
21600       }
21601
21602       // repeated float mean_value = 5;
21603       case 5: {
21604         if (tag == 45) {
21605          parse_mean_value:
21606           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
21607                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
21608                  1, 45, input, this->mutable_mean_value())));
21609         } else if (tag == 42) {
21610           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
21611                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
21612                  input, this->mutable_mean_value())));
21613         } else {
21614           goto handle_unusual;
21615         }
21616         if (input->ExpectTag(45)) goto parse_mean_value;
21617         if (input->ExpectTag(48)) goto parse_force_color;
21618         break;
21619       }
21620
21621       // optional bool force_color = 6 [default = false];
21622       case 6: {
21623         if (tag == 48) {
21624          parse_force_color:
21625           set_has_force_color();
21626           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
21627                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
21628                  input, &force_color_)));
21629         } else {
21630           goto handle_unusual;
21631         }
21632         if (input->ExpectTag(56)) goto parse_force_gray;
21633         break;
21634       }
21635
21636       // optional bool force_gray = 7 [default = false];
21637       case 7: {
21638         if (tag == 56) {
21639          parse_force_gray:
21640           set_has_force_gray();
21641           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
21642                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
21643                  input, &force_gray_)));
21644         } else {
21645           goto handle_unusual;
21646         }
21647         if (input->ExpectAtEnd()) goto success;
21648         break;
21649       }
21650
21651       default: {
21652       handle_unusual:
21653         if (tag == 0 ||
21654             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
21655             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
21656           goto success;
21657         }
21658         DO_(::google::protobuf::internal::WireFormat::SkipField(
21659               input, tag, mutable_unknown_fields()));
21660         break;
21661       }
21662     }
21663   }
21664 success:
21665   // @@protoc_insertion_point(parse_success:opencv_caffe.TransformationParameter)
21666   return true;
21667 failure:
21668   // @@protoc_insertion_point(parse_failure:opencv_caffe.TransformationParameter)
21669   return false;
21670 #undef DO_
21671 }
21672
21673 void TransformationParameter::SerializeWithCachedSizes(
21674     ::google::protobuf::io::CodedOutputStream* output) const {
21675   // @@protoc_insertion_point(serialize_start:opencv_caffe.TransformationParameter)
21676   // optional float scale = 1 [default = 1];
21677   if (has_scale()) {
21678     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->scale(), output);
21679   }
21680
21681   // optional bool mirror = 2 [default = false];
21682   if (has_mirror()) {
21683     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->mirror(), output);
21684   }
21685
21686   // optional uint32 crop_size = 3 [default = 0];
21687   if (has_crop_size()) {
21688     ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->crop_size(), output);
21689   }
21690
21691   // optional string mean_file = 4;
21692   if (has_mean_file()) {
21693     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
21694       this->mean_file().data(), this->mean_file().length(),
21695       ::google::protobuf::internal::WireFormat::SERIALIZE,
21696       "opencv_caffe.TransformationParameter.mean_file");
21697     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
21698       4, this->mean_file(), output);
21699   }
21700
21701   // repeated float mean_value = 5;
21702   for (int i = 0; i < this->mean_value_size(); i++) {
21703     ::google::protobuf::internal::WireFormatLite::WriteFloat(
21704       5, this->mean_value(i), output);
21705   }
21706
21707   // optional bool force_color = 6 [default = false];
21708   if (has_force_color()) {
21709     ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->force_color(), output);
21710   }
21711
21712   // optional bool force_gray = 7 [default = false];
21713   if (has_force_gray()) {
21714     ::google::protobuf::internal::WireFormatLite::WriteBool(7, this->force_gray(), output);
21715   }
21716
21717   if (_internal_metadata_.have_unknown_fields()) {
21718     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
21719         unknown_fields(), output);
21720   }
21721   // @@protoc_insertion_point(serialize_end:opencv_caffe.TransformationParameter)
21722 }
21723
21724 ::google::protobuf::uint8* TransformationParameter::InternalSerializeWithCachedSizesToArray(
21725     bool deterministic, ::google::protobuf::uint8* target) const {
21726   (void)deterministic; // Unused
21727   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.TransformationParameter)
21728   // optional float scale = 1 [default = 1];
21729   if (has_scale()) {
21730     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->scale(), target);
21731   }
21732
21733   // optional bool mirror = 2 [default = false];
21734   if (has_mirror()) {
21735     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->mirror(), target);
21736   }
21737
21738   // optional uint32 crop_size = 3 [default = 0];
21739   if (has_crop_size()) {
21740     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(3, this->crop_size(), target);
21741   }
21742
21743   // optional string mean_file = 4;
21744   if (has_mean_file()) {
21745     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
21746       this->mean_file().data(), this->mean_file().length(),
21747       ::google::protobuf::internal::WireFormat::SERIALIZE,
21748       "opencv_caffe.TransformationParameter.mean_file");
21749     target =
21750       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
21751         4, this->mean_file(), target);
21752   }
21753
21754   // repeated float mean_value = 5;
21755   for (int i = 0; i < this->mean_value_size(); i++) {
21756     target = ::google::protobuf::internal::WireFormatLite::
21757       WriteFloatToArray(5, this->mean_value(i), target);
21758   }
21759
21760   // optional bool force_color = 6 [default = false];
21761   if (has_force_color()) {
21762     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(6, this->force_color(), target);
21763   }
21764
21765   // optional bool force_gray = 7 [default = false];
21766   if (has_force_gray()) {
21767     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(7, this->force_gray(), target);
21768   }
21769
21770   if (_internal_metadata_.have_unknown_fields()) {
21771     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
21772         unknown_fields(), target);
21773   }
21774   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.TransformationParameter)
21775   return target;
21776 }
21777
21778 size_t TransformationParameter::ByteSizeLong() const {
21779 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.TransformationParameter)
21780   size_t total_size = 0;
21781
21782   if (_has_bits_[0 / 32] & 111u) {
21783     // optional float scale = 1 [default = 1];
21784     if (has_scale()) {
21785       total_size += 1 + 4;
21786     }
21787
21788     // optional bool mirror = 2 [default = false];
21789     if (has_mirror()) {
21790       total_size += 1 + 1;
21791     }
21792
21793     // optional uint32 crop_size = 3 [default = 0];
21794     if (has_crop_size()) {
21795       total_size += 1 +
21796         ::google::protobuf::internal::WireFormatLite::UInt32Size(
21797           this->crop_size());
21798     }
21799
21800     // optional string mean_file = 4;
21801     if (has_mean_file()) {
21802       total_size += 1 +
21803         ::google::protobuf::internal::WireFormatLite::StringSize(
21804           this->mean_file());
21805     }
21806
21807     // optional bool force_color = 6 [default = false];
21808     if (has_force_color()) {
21809       total_size += 1 + 1;
21810     }
21811
21812     // optional bool force_gray = 7 [default = false];
21813     if (has_force_gray()) {
21814       total_size += 1 + 1;
21815     }
21816
21817   }
21818   // repeated float mean_value = 5;
21819   {
21820     size_t data_size = 0;
21821     unsigned int count = this->mean_value_size();
21822     data_size = 4UL * count;
21823     total_size += 1 *
21824                   ::google::protobuf::internal::FromIntSize(this->mean_value_size());
21825     total_size += data_size;
21826   }
21827
21828   if (_internal_metadata_.have_unknown_fields()) {
21829     total_size +=
21830       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
21831         unknown_fields());
21832   }
21833   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
21834   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
21835   _cached_size_ = cached_size;
21836   GOOGLE_SAFE_CONCURRENT_WRITES_END();
21837   return total_size;
21838 }
21839
21840 void TransformationParameter::MergeFrom(const ::google::protobuf::Message& from) {
21841 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.TransformationParameter)
21842   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
21843   const TransformationParameter* source =
21844       ::google::protobuf::internal::DynamicCastToGenerated<const TransformationParameter>(
21845           &from);
21846   if (source == NULL) {
21847   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.TransformationParameter)
21848     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
21849   } else {
21850   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.TransformationParameter)
21851     UnsafeMergeFrom(*source);
21852   }
21853 }
21854
21855 void TransformationParameter::MergeFrom(const TransformationParameter& from) {
21856 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.TransformationParameter)
21857   if (GOOGLE_PREDICT_TRUE(&from != this)) {
21858     UnsafeMergeFrom(from);
21859   } else {
21860     MergeFromFail(__LINE__);
21861   }
21862 }
21863
21864 void TransformationParameter::UnsafeMergeFrom(const TransformationParameter& from) {
21865   GOOGLE_DCHECK(&from != this);
21866   mean_value_.UnsafeMergeFrom(from.mean_value_);
21867   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
21868     if (from.has_scale()) {
21869       set_scale(from.scale());
21870     }
21871     if (from.has_mirror()) {
21872       set_mirror(from.mirror());
21873     }
21874     if (from.has_crop_size()) {
21875       set_crop_size(from.crop_size());
21876     }
21877     if (from.has_mean_file()) {
21878       set_has_mean_file();
21879       mean_file_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.mean_file_);
21880     }
21881     if (from.has_force_color()) {
21882       set_force_color(from.force_color());
21883     }
21884     if (from.has_force_gray()) {
21885       set_force_gray(from.force_gray());
21886     }
21887   }
21888   if (from._internal_metadata_.have_unknown_fields()) {
21889     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
21890       from.unknown_fields(), &_internal_metadata_);
21891   }
21892 }
21893
21894 void TransformationParameter::CopyFrom(const ::google::protobuf::Message& from) {
21895 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.TransformationParameter)
21896   if (&from == this) return;
21897   Clear();
21898   MergeFrom(from);
21899 }
21900
21901 void TransformationParameter::CopyFrom(const TransformationParameter& from) {
21902 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.TransformationParameter)
21903   if (&from == this) return;
21904   Clear();
21905   UnsafeMergeFrom(from);
21906 }
21907
21908 bool TransformationParameter::IsInitialized() const {
21909
21910   return true;
21911 }
21912
21913 void TransformationParameter::Swap(TransformationParameter* other) {
21914   if (other == this) return;
21915   InternalSwap(other);
21916 }
21917 void TransformationParameter::InternalSwap(TransformationParameter* other) {
21918   std::swap(scale_, other->scale_);
21919   std::swap(mirror_, other->mirror_);
21920   std::swap(crop_size_, other->crop_size_);
21921   mean_file_.Swap(&other->mean_file_);
21922   mean_value_.UnsafeArenaSwap(&other->mean_value_);
21923   std::swap(force_color_, other->force_color_);
21924   std::swap(force_gray_, other->force_gray_);
21925   std::swap(_has_bits_[0], other->_has_bits_[0]);
21926   _internal_metadata_.Swap(&other->_internal_metadata_);
21927   std::swap(_cached_size_, other->_cached_size_);
21928 }
21929
21930 ::google::protobuf::Metadata TransformationParameter::GetMetadata() const {
21931   protobuf_AssignDescriptorsOnce();
21932   ::google::protobuf::Metadata metadata;
21933   metadata.descriptor = TransformationParameter_descriptor_;
21934   metadata.reflection = TransformationParameter_reflection_;
21935   return metadata;
21936 }
21937
21938 #if PROTOBUF_INLINE_NOT_IN_HEADERS
21939 // TransformationParameter
21940
21941 // optional float scale = 1 [default = 1];
21942 bool TransformationParameter::has_scale() const {
21943   return (_has_bits_[0] & 0x00000001u) != 0;
21944 }
21945 void TransformationParameter::set_has_scale() {
21946   _has_bits_[0] |= 0x00000001u;
21947 }
21948 void TransformationParameter::clear_has_scale() {
21949   _has_bits_[0] &= ~0x00000001u;
21950 }
21951 void TransformationParameter::clear_scale() {
21952   scale_ = 1;
21953   clear_has_scale();
21954 }
21955 float TransformationParameter::scale() const {
21956   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.scale)
21957   return scale_;
21958 }
21959 void TransformationParameter::set_scale(float value) {
21960   set_has_scale();
21961   scale_ = value;
21962   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.scale)
21963 }
21964
21965 // optional bool mirror = 2 [default = false];
21966 bool TransformationParameter::has_mirror() const {
21967   return (_has_bits_[0] & 0x00000002u) != 0;
21968 }
21969 void TransformationParameter::set_has_mirror() {
21970   _has_bits_[0] |= 0x00000002u;
21971 }
21972 void TransformationParameter::clear_has_mirror() {
21973   _has_bits_[0] &= ~0x00000002u;
21974 }
21975 void TransformationParameter::clear_mirror() {
21976   mirror_ = false;
21977   clear_has_mirror();
21978 }
21979 bool TransformationParameter::mirror() const {
21980   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.mirror)
21981   return mirror_;
21982 }
21983 void TransformationParameter::set_mirror(bool value) {
21984   set_has_mirror();
21985   mirror_ = value;
21986   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.mirror)
21987 }
21988
21989 // optional uint32 crop_size = 3 [default = 0];
21990 bool TransformationParameter::has_crop_size() const {
21991   return (_has_bits_[0] & 0x00000004u) != 0;
21992 }
21993 void TransformationParameter::set_has_crop_size() {
21994   _has_bits_[0] |= 0x00000004u;
21995 }
21996 void TransformationParameter::clear_has_crop_size() {
21997   _has_bits_[0] &= ~0x00000004u;
21998 }
21999 void TransformationParameter::clear_crop_size() {
22000   crop_size_ = 0u;
22001   clear_has_crop_size();
22002 }
22003 ::google::protobuf::uint32 TransformationParameter::crop_size() const {
22004   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.crop_size)
22005   return crop_size_;
22006 }
22007 void TransformationParameter::set_crop_size(::google::protobuf::uint32 value) {
22008   set_has_crop_size();
22009   crop_size_ = value;
22010   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.crop_size)
22011 }
22012
22013 // optional string mean_file = 4;
22014 bool TransformationParameter::has_mean_file() const {
22015   return (_has_bits_[0] & 0x00000008u) != 0;
22016 }
22017 void TransformationParameter::set_has_mean_file() {
22018   _has_bits_[0] |= 0x00000008u;
22019 }
22020 void TransformationParameter::clear_has_mean_file() {
22021   _has_bits_[0] &= ~0x00000008u;
22022 }
22023 void TransformationParameter::clear_mean_file() {
22024   mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22025   clear_has_mean_file();
22026 }
22027 const ::std::string& TransformationParameter::mean_file() const {
22028   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.mean_file)
22029   return mean_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22030 }
22031 void TransformationParameter::set_mean_file(const ::std::string& value) {
22032   set_has_mean_file();
22033   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
22034   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.mean_file)
22035 }
22036 void TransformationParameter::set_mean_file(const char* value) {
22037   set_has_mean_file();
22038   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
22039   // @@protoc_insertion_point(field_set_char:opencv_caffe.TransformationParameter.mean_file)
22040 }
22041 void TransformationParameter::set_mean_file(const char* value, size_t size) {
22042   set_has_mean_file();
22043   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
22044       ::std::string(reinterpret_cast<const char*>(value), size));
22045   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.TransformationParameter.mean_file)
22046 }
22047 ::std::string* TransformationParameter::mutable_mean_file() {
22048   set_has_mean_file();
22049   // @@protoc_insertion_point(field_mutable:opencv_caffe.TransformationParameter.mean_file)
22050   return mean_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22051 }
22052 ::std::string* TransformationParameter::release_mean_file() {
22053   // @@protoc_insertion_point(field_release:opencv_caffe.TransformationParameter.mean_file)
22054   clear_has_mean_file();
22055   return mean_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22056 }
22057 void TransformationParameter::set_allocated_mean_file(::std::string* mean_file) {
22058   if (mean_file != NULL) {
22059     set_has_mean_file();
22060   } else {
22061     clear_has_mean_file();
22062   }
22063   mean_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mean_file);
22064   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.TransformationParameter.mean_file)
22065 }
22066
22067 // repeated float mean_value = 5;
22068 int TransformationParameter::mean_value_size() const {
22069   return mean_value_.size();
22070 }
22071 void TransformationParameter::clear_mean_value() {
22072   mean_value_.Clear();
22073 }
22074 float TransformationParameter::mean_value(int index) const {
22075   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.mean_value)
22076   return mean_value_.Get(index);
22077 }
22078 void TransformationParameter::set_mean_value(int index, float value) {
22079   mean_value_.Set(index, value);
22080   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.mean_value)
22081 }
22082 void TransformationParameter::add_mean_value(float value) {
22083   mean_value_.Add(value);
22084   // @@protoc_insertion_point(field_add:opencv_caffe.TransformationParameter.mean_value)
22085 }
22086 const ::google::protobuf::RepeatedField< float >&
22087 TransformationParameter::mean_value() const {
22088   // @@protoc_insertion_point(field_list:opencv_caffe.TransformationParameter.mean_value)
22089   return mean_value_;
22090 }
22091 ::google::protobuf::RepeatedField< float >*
22092 TransformationParameter::mutable_mean_value() {
22093   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.TransformationParameter.mean_value)
22094   return &mean_value_;
22095 }
22096
22097 // optional bool force_color = 6 [default = false];
22098 bool TransformationParameter::has_force_color() const {
22099   return (_has_bits_[0] & 0x00000020u) != 0;
22100 }
22101 void TransformationParameter::set_has_force_color() {
22102   _has_bits_[0] |= 0x00000020u;
22103 }
22104 void TransformationParameter::clear_has_force_color() {
22105   _has_bits_[0] &= ~0x00000020u;
22106 }
22107 void TransformationParameter::clear_force_color() {
22108   force_color_ = false;
22109   clear_has_force_color();
22110 }
22111 bool TransformationParameter::force_color() const {
22112   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.force_color)
22113   return force_color_;
22114 }
22115 void TransformationParameter::set_force_color(bool value) {
22116   set_has_force_color();
22117   force_color_ = value;
22118   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.force_color)
22119 }
22120
22121 // optional bool force_gray = 7 [default = false];
22122 bool TransformationParameter::has_force_gray() const {
22123   return (_has_bits_[0] & 0x00000040u) != 0;
22124 }
22125 void TransformationParameter::set_has_force_gray() {
22126   _has_bits_[0] |= 0x00000040u;
22127 }
22128 void TransformationParameter::clear_has_force_gray() {
22129   _has_bits_[0] &= ~0x00000040u;
22130 }
22131 void TransformationParameter::clear_force_gray() {
22132   force_gray_ = false;
22133   clear_has_force_gray();
22134 }
22135 bool TransformationParameter::force_gray() const {
22136   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.force_gray)
22137   return force_gray_;
22138 }
22139 void TransformationParameter::set_force_gray(bool value) {
22140   set_has_force_gray();
22141   force_gray_ = value;
22142   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.force_gray)
22143 }
22144
22145 inline const TransformationParameter* TransformationParameter::internal_default_instance() {
22146   return &TransformationParameter_default_instance_.get();
22147 }
22148 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
22149
22150 // ===================================================================
22151
22152 const ::google::protobuf::EnumDescriptor* LossParameter_NormalizationMode_descriptor() {
22153   protobuf_AssignDescriptorsOnce();
22154   return LossParameter_NormalizationMode_descriptor_;
22155 }
22156 bool LossParameter_NormalizationMode_IsValid(int value) {
22157   switch (value) {
22158     case 0:
22159     case 1:
22160     case 2:
22161     case 3:
22162       return true;
22163     default:
22164       return false;
22165   }
22166 }
22167
22168 #if !defined(_MSC_VER) || _MSC_VER >= 1900
22169 const LossParameter_NormalizationMode LossParameter::FULL;
22170 const LossParameter_NormalizationMode LossParameter::VALID;
22171 const LossParameter_NormalizationMode LossParameter::BATCH_SIZE;
22172 const LossParameter_NormalizationMode LossParameter::NONE;
22173 const LossParameter_NormalizationMode LossParameter::NormalizationMode_MIN;
22174 const LossParameter_NormalizationMode LossParameter::NormalizationMode_MAX;
22175 const int LossParameter::NormalizationMode_ARRAYSIZE;
22176 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
22177 #if !defined(_MSC_VER) || _MSC_VER >= 1900
22178 const int LossParameter::kIgnoreLabelFieldNumber;
22179 const int LossParameter::kNormalizationFieldNumber;
22180 const int LossParameter::kNormalizeFieldNumber;
22181 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
22182
22183 LossParameter::LossParameter()
22184   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
22185   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
22186   SharedCtor();
22187   // @@protoc_insertion_point(constructor:opencv_caffe.LossParameter)
22188 }
22189
22190 void LossParameter::InitAsDefaultInstance() {
22191 }
22192
22193 LossParameter::LossParameter(const LossParameter& from)
22194   : ::google::protobuf::Message(),
22195     _internal_metadata_(NULL) {
22196   SharedCtor();
22197   UnsafeMergeFrom(from);
22198   // @@protoc_insertion_point(copy_constructor:opencv_caffe.LossParameter)
22199 }
22200
22201 void LossParameter::SharedCtor() {
22202   _cached_size_ = 0;
22203   ::memset(&ignore_label_, 0, reinterpret_cast<char*>(&normalize_) -
22204     reinterpret_cast<char*>(&ignore_label_) + sizeof(normalize_));
22205   normalization_ = 1;
22206 }
22207
22208 LossParameter::~LossParameter() {
22209   // @@protoc_insertion_point(destructor:opencv_caffe.LossParameter)
22210   SharedDtor();
22211 }
22212
22213 void LossParameter::SharedDtor() {
22214 }
22215
22216 void LossParameter::SetCachedSize(int size) const {
22217   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
22218   _cached_size_ = size;
22219   GOOGLE_SAFE_CONCURRENT_WRITES_END();
22220 }
22221 const ::google::protobuf::Descriptor* LossParameter::descriptor() {
22222   protobuf_AssignDescriptorsOnce();
22223   return LossParameter_descriptor_;
22224 }
22225
22226 const LossParameter& LossParameter::default_instance() {
22227   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
22228   return *internal_default_instance();
22229 }
22230
22231 ::google::protobuf::internal::ExplicitlyConstructed<LossParameter> LossParameter_default_instance_;
22232
22233 LossParameter* LossParameter::New(::google::protobuf::Arena* arena) const {
22234   LossParameter* n = new LossParameter;
22235   if (arena != NULL) {
22236     arena->Own(n);
22237   }
22238   return n;
22239 }
22240
22241 void LossParameter::Clear() {
22242 // @@protoc_insertion_point(message_clear_start:opencv_caffe.LossParameter)
22243 #if defined(__clang__)
22244 #define ZR_HELPER_(f) \
22245   _Pragma("clang diagnostic push") \
22246   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
22247   __builtin_offsetof(LossParameter, f) \
22248   _Pragma("clang diagnostic pop")
22249 #else
22250 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
22251   &reinterpret_cast<LossParameter*>(16)->f)
22252 #endif
22253
22254 #define ZR_(first, last) do {\
22255   ::memset(&(first), 0,\
22256            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
22257 } while (0)
22258
22259   if (_has_bits_[0 / 32] & 7u) {
22260     ZR_(ignore_label_, normalize_);
22261     normalization_ = 1;
22262   }
22263
22264 #undef ZR_HELPER_
22265 #undef ZR_
22266
22267   _has_bits_.Clear();
22268   if (_internal_metadata_.have_unknown_fields()) {
22269     mutable_unknown_fields()->Clear();
22270   }
22271 }
22272
22273 bool LossParameter::MergePartialFromCodedStream(
22274     ::google::protobuf::io::CodedInputStream* input) {
22275 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
22276   ::google::protobuf::uint32 tag;
22277   // @@protoc_insertion_point(parse_start:opencv_caffe.LossParameter)
22278   for (;;) {
22279     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
22280     tag = p.first;
22281     if (!p.second) goto handle_unusual;
22282     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
22283       // optional int32 ignore_label = 1;
22284       case 1: {
22285         if (tag == 8) {
22286           set_has_ignore_label();
22287           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
22288                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
22289                  input, &ignore_label_)));
22290         } else {
22291           goto handle_unusual;
22292         }
22293         if (input->ExpectTag(16)) goto parse_normalize;
22294         break;
22295       }
22296
22297       // optional bool normalize = 2;
22298       case 2: {
22299         if (tag == 16) {
22300          parse_normalize:
22301           set_has_normalize();
22302           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
22303                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
22304                  input, &normalize_)));
22305         } else {
22306           goto handle_unusual;
22307         }
22308         if (input->ExpectTag(24)) goto parse_normalization;
22309         break;
22310       }
22311
22312       // optional .opencv_caffe.LossParameter.NormalizationMode normalization = 3 [default = VALID];
22313       case 3: {
22314         if (tag == 24) {
22315          parse_normalization:
22316           int value;
22317           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
22318                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
22319                  input, &value)));
22320           if (::opencv_caffe::LossParameter_NormalizationMode_IsValid(value)) {
22321             set_normalization(static_cast< ::opencv_caffe::LossParameter_NormalizationMode >(value));
22322           } else {
22323             mutable_unknown_fields()->AddVarint(3, value);
22324           }
22325         } else {
22326           goto handle_unusual;
22327         }
22328         if (input->ExpectAtEnd()) goto success;
22329         break;
22330       }
22331
22332       default: {
22333       handle_unusual:
22334         if (tag == 0 ||
22335             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
22336             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
22337           goto success;
22338         }
22339         DO_(::google::protobuf::internal::WireFormat::SkipField(
22340               input, tag, mutable_unknown_fields()));
22341         break;
22342       }
22343     }
22344   }
22345 success:
22346   // @@protoc_insertion_point(parse_success:opencv_caffe.LossParameter)
22347   return true;
22348 failure:
22349   // @@protoc_insertion_point(parse_failure:opencv_caffe.LossParameter)
22350   return false;
22351 #undef DO_
22352 }
22353
22354 void LossParameter::SerializeWithCachedSizes(
22355     ::google::protobuf::io::CodedOutputStream* output) const {
22356   // @@protoc_insertion_point(serialize_start:opencv_caffe.LossParameter)
22357   // optional int32 ignore_label = 1;
22358   if (has_ignore_label()) {
22359     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->ignore_label(), output);
22360   }
22361
22362   // optional bool normalize = 2;
22363   if (has_normalize()) {
22364     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->normalize(), output);
22365   }
22366
22367   // optional .opencv_caffe.LossParameter.NormalizationMode normalization = 3 [default = VALID];
22368   if (has_normalization()) {
22369     ::google::protobuf::internal::WireFormatLite::WriteEnum(
22370       3, this->normalization(), output);
22371   }
22372
22373   if (_internal_metadata_.have_unknown_fields()) {
22374     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
22375         unknown_fields(), output);
22376   }
22377   // @@protoc_insertion_point(serialize_end:opencv_caffe.LossParameter)
22378 }
22379
22380 ::google::protobuf::uint8* LossParameter::InternalSerializeWithCachedSizesToArray(
22381     bool deterministic, ::google::protobuf::uint8* target) const {
22382   (void)deterministic; // Unused
22383   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.LossParameter)
22384   // optional int32 ignore_label = 1;
22385   if (has_ignore_label()) {
22386     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->ignore_label(), target);
22387   }
22388
22389   // optional bool normalize = 2;
22390   if (has_normalize()) {
22391     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->normalize(), target);
22392   }
22393
22394   // optional .opencv_caffe.LossParameter.NormalizationMode normalization = 3 [default = VALID];
22395   if (has_normalization()) {
22396     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
22397       3, this->normalization(), target);
22398   }
22399
22400   if (_internal_metadata_.have_unknown_fields()) {
22401     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
22402         unknown_fields(), target);
22403   }
22404   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.LossParameter)
22405   return target;
22406 }
22407
22408 size_t LossParameter::ByteSizeLong() const {
22409 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.LossParameter)
22410   size_t total_size = 0;
22411
22412   if (_has_bits_[0 / 32] & 7u) {
22413     // optional int32 ignore_label = 1;
22414     if (has_ignore_label()) {
22415       total_size += 1 +
22416         ::google::protobuf::internal::WireFormatLite::Int32Size(
22417           this->ignore_label());
22418     }
22419
22420     // optional .opencv_caffe.LossParameter.NormalizationMode normalization = 3 [default = VALID];
22421     if (has_normalization()) {
22422       total_size += 1 +
22423         ::google::protobuf::internal::WireFormatLite::EnumSize(this->normalization());
22424     }
22425
22426     // optional bool normalize = 2;
22427     if (has_normalize()) {
22428       total_size += 1 + 1;
22429     }
22430
22431   }
22432   if (_internal_metadata_.have_unknown_fields()) {
22433     total_size +=
22434       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
22435         unknown_fields());
22436   }
22437   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
22438   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
22439   _cached_size_ = cached_size;
22440   GOOGLE_SAFE_CONCURRENT_WRITES_END();
22441   return total_size;
22442 }
22443
22444 void LossParameter::MergeFrom(const ::google::protobuf::Message& from) {
22445 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.LossParameter)
22446   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
22447   const LossParameter* source =
22448       ::google::protobuf::internal::DynamicCastToGenerated<const LossParameter>(
22449           &from);
22450   if (source == NULL) {
22451   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.LossParameter)
22452     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
22453   } else {
22454   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.LossParameter)
22455     UnsafeMergeFrom(*source);
22456   }
22457 }
22458
22459 void LossParameter::MergeFrom(const LossParameter& from) {
22460 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.LossParameter)
22461   if (GOOGLE_PREDICT_TRUE(&from != this)) {
22462     UnsafeMergeFrom(from);
22463   } else {
22464     MergeFromFail(__LINE__);
22465   }
22466 }
22467
22468 void LossParameter::UnsafeMergeFrom(const LossParameter& from) {
22469   GOOGLE_DCHECK(&from != this);
22470   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
22471     if (from.has_ignore_label()) {
22472       set_ignore_label(from.ignore_label());
22473     }
22474     if (from.has_normalization()) {
22475       set_normalization(from.normalization());
22476     }
22477     if (from.has_normalize()) {
22478       set_normalize(from.normalize());
22479     }
22480   }
22481   if (from._internal_metadata_.have_unknown_fields()) {
22482     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
22483       from.unknown_fields(), &_internal_metadata_);
22484   }
22485 }
22486
22487 void LossParameter::CopyFrom(const ::google::protobuf::Message& from) {
22488 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.LossParameter)
22489   if (&from == this) return;
22490   Clear();
22491   MergeFrom(from);
22492 }
22493
22494 void LossParameter::CopyFrom(const LossParameter& from) {
22495 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.LossParameter)
22496   if (&from == this) return;
22497   Clear();
22498   UnsafeMergeFrom(from);
22499 }
22500
22501 bool LossParameter::IsInitialized() const {
22502
22503   return true;
22504 }
22505
22506 void LossParameter::Swap(LossParameter* other) {
22507   if (other == this) return;
22508   InternalSwap(other);
22509 }
22510 void LossParameter::InternalSwap(LossParameter* other) {
22511   std::swap(ignore_label_, other->ignore_label_);
22512   std::swap(normalization_, other->normalization_);
22513   std::swap(normalize_, other->normalize_);
22514   std::swap(_has_bits_[0], other->_has_bits_[0]);
22515   _internal_metadata_.Swap(&other->_internal_metadata_);
22516   std::swap(_cached_size_, other->_cached_size_);
22517 }
22518
22519 ::google::protobuf::Metadata LossParameter::GetMetadata() const {
22520   protobuf_AssignDescriptorsOnce();
22521   ::google::protobuf::Metadata metadata;
22522   metadata.descriptor = LossParameter_descriptor_;
22523   metadata.reflection = LossParameter_reflection_;
22524   return metadata;
22525 }
22526
22527 #if PROTOBUF_INLINE_NOT_IN_HEADERS
22528 // LossParameter
22529
22530 // optional int32 ignore_label = 1;
22531 bool LossParameter::has_ignore_label() const {
22532   return (_has_bits_[0] & 0x00000001u) != 0;
22533 }
22534 void LossParameter::set_has_ignore_label() {
22535   _has_bits_[0] |= 0x00000001u;
22536 }
22537 void LossParameter::clear_has_ignore_label() {
22538   _has_bits_[0] &= ~0x00000001u;
22539 }
22540 void LossParameter::clear_ignore_label() {
22541   ignore_label_ = 0;
22542   clear_has_ignore_label();
22543 }
22544 ::google::protobuf::int32 LossParameter::ignore_label() const {
22545   // @@protoc_insertion_point(field_get:opencv_caffe.LossParameter.ignore_label)
22546   return ignore_label_;
22547 }
22548 void LossParameter::set_ignore_label(::google::protobuf::int32 value) {
22549   set_has_ignore_label();
22550   ignore_label_ = value;
22551   // @@protoc_insertion_point(field_set:opencv_caffe.LossParameter.ignore_label)
22552 }
22553
22554 // optional .opencv_caffe.LossParameter.NormalizationMode normalization = 3 [default = VALID];
22555 bool LossParameter::has_normalization() const {
22556   return (_has_bits_[0] & 0x00000002u) != 0;
22557 }
22558 void LossParameter::set_has_normalization() {
22559   _has_bits_[0] |= 0x00000002u;
22560 }
22561 void LossParameter::clear_has_normalization() {
22562   _has_bits_[0] &= ~0x00000002u;
22563 }
22564 void LossParameter::clear_normalization() {
22565   normalization_ = 1;
22566   clear_has_normalization();
22567 }
22568 ::opencv_caffe::LossParameter_NormalizationMode LossParameter::normalization() const {
22569   // @@protoc_insertion_point(field_get:opencv_caffe.LossParameter.normalization)
22570   return static_cast< ::opencv_caffe::LossParameter_NormalizationMode >(normalization_);
22571 }
22572 void LossParameter::set_normalization(::opencv_caffe::LossParameter_NormalizationMode value) {
22573   assert(::opencv_caffe::LossParameter_NormalizationMode_IsValid(value));
22574   set_has_normalization();
22575   normalization_ = value;
22576   // @@protoc_insertion_point(field_set:opencv_caffe.LossParameter.normalization)
22577 }
22578
22579 // optional bool normalize = 2;
22580 bool LossParameter::has_normalize() const {
22581   return (_has_bits_[0] & 0x00000004u) != 0;
22582 }
22583 void LossParameter::set_has_normalize() {
22584   _has_bits_[0] |= 0x00000004u;
22585 }
22586 void LossParameter::clear_has_normalize() {
22587   _has_bits_[0] &= ~0x00000004u;
22588 }
22589 void LossParameter::clear_normalize() {
22590   normalize_ = false;
22591   clear_has_normalize();
22592 }
22593 bool LossParameter::normalize() const {
22594   // @@protoc_insertion_point(field_get:opencv_caffe.LossParameter.normalize)
22595   return normalize_;
22596 }
22597 void LossParameter::set_normalize(bool value) {
22598   set_has_normalize();
22599   normalize_ = value;
22600   // @@protoc_insertion_point(field_set:opencv_caffe.LossParameter.normalize)
22601 }
22602
22603 inline const LossParameter* LossParameter::internal_default_instance() {
22604   return &LossParameter_default_instance_.get();
22605 }
22606 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
22607
22608 // ===================================================================
22609
22610 #if !defined(_MSC_VER) || _MSC_VER >= 1900
22611 const int AccuracyParameter::kTopKFieldNumber;
22612 const int AccuracyParameter::kAxisFieldNumber;
22613 const int AccuracyParameter::kIgnoreLabelFieldNumber;
22614 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
22615
22616 AccuracyParameter::AccuracyParameter()
22617   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
22618   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
22619   SharedCtor();
22620   // @@protoc_insertion_point(constructor:opencv_caffe.AccuracyParameter)
22621 }
22622
22623 void AccuracyParameter::InitAsDefaultInstance() {
22624 }
22625
22626 AccuracyParameter::AccuracyParameter(const AccuracyParameter& from)
22627   : ::google::protobuf::Message(),
22628     _internal_metadata_(NULL) {
22629   SharedCtor();
22630   UnsafeMergeFrom(from);
22631   // @@protoc_insertion_point(copy_constructor:opencv_caffe.AccuracyParameter)
22632 }
22633
22634 void AccuracyParameter::SharedCtor() {
22635   _cached_size_ = 0;
22636   ignore_label_ = 0;
22637   top_k_ = 1u;
22638   axis_ = 1;
22639 }
22640
22641 AccuracyParameter::~AccuracyParameter() {
22642   // @@protoc_insertion_point(destructor:opencv_caffe.AccuracyParameter)
22643   SharedDtor();
22644 }
22645
22646 void AccuracyParameter::SharedDtor() {
22647 }
22648
22649 void AccuracyParameter::SetCachedSize(int size) const {
22650   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
22651   _cached_size_ = size;
22652   GOOGLE_SAFE_CONCURRENT_WRITES_END();
22653 }
22654 const ::google::protobuf::Descriptor* AccuracyParameter::descriptor() {
22655   protobuf_AssignDescriptorsOnce();
22656   return AccuracyParameter_descriptor_;
22657 }
22658
22659 const AccuracyParameter& AccuracyParameter::default_instance() {
22660   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
22661   return *internal_default_instance();
22662 }
22663
22664 ::google::protobuf::internal::ExplicitlyConstructed<AccuracyParameter> AccuracyParameter_default_instance_;
22665
22666 AccuracyParameter* AccuracyParameter::New(::google::protobuf::Arena* arena) const {
22667   AccuracyParameter* n = new AccuracyParameter;
22668   if (arena != NULL) {
22669     arena->Own(n);
22670   }
22671   return n;
22672 }
22673
22674 void AccuracyParameter::Clear() {
22675 // @@protoc_insertion_point(message_clear_start:opencv_caffe.AccuracyParameter)
22676   if (_has_bits_[0 / 32] & 7u) {
22677     top_k_ = 1u;
22678     axis_ = 1;
22679     ignore_label_ = 0;
22680   }
22681   _has_bits_.Clear();
22682   if (_internal_metadata_.have_unknown_fields()) {
22683     mutable_unknown_fields()->Clear();
22684   }
22685 }
22686
22687 bool AccuracyParameter::MergePartialFromCodedStream(
22688     ::google::protobuf::io::CodedInputStream* input) {
22689 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
22690   ::google::protobuf::uint32 tag;
22691   // @@protoc_insertion_point(parse_start:opencv_caffe.AccuracyParameter)
22692   for (;;) {
22693     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
22694     tag = p.first;
22695     if (!p.second) goto handle_unusual;
22696     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
22697       // optional uint32 top_k = 1 [default = 1];
22698       case 1: {
22699         if (tag == 8) {
22700           set_has_top_k();
22701           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
22702                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
22703                  input, &top_k_)));
22704         } else {
22705           goto handle_unusual;
22706         }
22707         if (input->ExpectTag(16)) goto parse_axis;
22708         break;
22709       }
22710
22711       // optional int32 axis = 2 [default = 1];
22712       case 2: {
22713         if (tag == 16) {
22714          parse_axis:
22715           set_has_axis();
22716           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
22717                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
22718                  input, &axis_)));
22719         } else {
22720           goto handle_unusual;
22721         }
22722         if (input->ExpectTag(24)) goto parse_ignore_label;
22723         break;
22724       }
22725
22726       // optional int32 ignore_label = 3;
22727       case 3: {
22728         if (tag == 24) {
22729          parse_ignore_label:
22730           set_has_ignore_label();
22731           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
22732                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
22733                  input, &ignore_label_)));
22734         } else {
22735           goto handle_unusual;
22736         }
22737         if (input->ExpectAtEnd()) goto success;
22738         break;
22739       }
22740
22741       default: {
22742       handle_unusual:
22743         if (tag == 0 ||
22744             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
22745             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
22746           goto success;
22747         }
22748         DO_(::google::protobuf::internal::WireFormat::SkipField(
22749               input, tag, mutable_unknown_fields()));
22750         break;
22751       }
22752     }
22753   }
22754 success:
22755   // @@protoc_insertion_point(parse_success:opencv_caffe.AccuracyParameter)
22756   return true;
22757 failure:
22758   // @@protoc_insertion_point(parse_failure:opencv_caffe.AccuracyParameter)
22759   return false;
22760 #undef DO_
22761 }
22762
22763 void AccuracyParameter::SerializeWithCachedSizes(
22764     ::google::protobuf::io::CodedOutputStream* output) const {
22765   // @@protoc_insertion_point(serialize_start:opencv_caffe.AccuracyParameter)
22766   // optional uint32 top_k = 1 [default = 1];
22767   if (has_top_k()) {
22768     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->top_k(), output);
22769   }
22770
22771   // optional int32 axis = 2 [default = 1];
22772   if (has_axis()) {
22773     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->axis(), output);
22774   }
22775
22776   // optional int32 ignore_label = 3;
22777   if (has_ignore_label()) {
22778     ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->ignore_label(), output);
22779   }
22780
22781   if (_internal_metadata_.have_unknown_fields()) {
22782     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
22783         unknown_fields(), output);
22784   }
22785   // @@protoc_insertion_point(serialize_end:opencv_caffe.AccuracyParameter)
22786 }
22787
22788 ::google::protobuf::uint8* AccuracyParameter::InternalSerializeWithCachedSizesToArray(
22789     bool deterministic, ::google::protobuf::uint8* target) const {
22790   (void)deterministic; // Unused
22791   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.AccuracyParameter)
22792   // optional uint32 top_k = 1 [default = 1];
22793   if (has_top_k()) {
22794     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->top_k(), target);
22795   }
22796
22797   // optional int32 axis = 2 [default = 1];
22798   if (has_axis()) {
22799     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->axis(), target);
22800   }
22801
22802   // optional int32 ignore_label = 3;
22803   if (has_ignore_label()) {
22804     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->ignore_label(), target);
22805   }
22806
22807   if (_internal_metadata_.have_unknown_fields()) {
22808     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
22809         unknown_fields(), target);
22810   }
22811   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.AccuracyParameter)
22812   return target;
22813 }
22814
22815 size_t AccuracyParameter::ByteSizeLong() const {
22816 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.AccuracyParameter)
22817   size_t total_size = 0;
22818
22819   if (_has_bits_[0 / 32] & 7u) {
22820     // optional uint32 top_k = 1 [default = 1];
22821     if (has_top_k()) {
22822       total_size += 1 +
22823         ::google::protobuf::internal::WireFormatLite::UInt32Size(
22824           this->top_k());
22825     }
22826
22827     // optional int32 axis = 2 [default = 1];
22828     if (has_axis()) {
22829       total_size += 1 +
22830         ::google::protobuf::internal::WireFormatLite::Int32Size(
22831           this->axis());
22832     }
22833
22834     // optional int32 ignore_label = 3;
22835     if (has_ignore_label()) {
22836       total_size += 1 +
22837         ::google::protobuf::internal::WireFormatLite::Int32Size(
22838           this->ignore_label());
22839     }
22840
22841   }
22842   if (_internal_metadata_.have_unknown_fields()) {
22843     total_size +=
22844       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
22845         unknown_fields());
22846   }
22847   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
22848   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
22849   _cached_size_ = cached_size;
22850   GOOGLE_SAFE_CONCURRENT_WRITES_END();
22851   return total_size;
22852 }
22853
22854 void AccuracyParameter::MergeFrom(const ::google::protobuf::Message& from) {
22855 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.AccuracyParameter)
22856   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
22857   const AccuracyParameter* source =
22858       ::google::protobuf::internal::DynamicCastToGenerated<const AccuracyParameter>(
22859           &from);
22860   if (source == NULL) {
22861   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.AccuracyParameter)
22862     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
22863   } else {
22864   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.AccuracyParameter)
22865     UnsafeMergeFrom(*source);
22866   }
22867 }
22868
22869 void AccuracyParameter::MergeFrom(const AccuracyParameter& from) {
22870 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.AccuracyParameter)
22871   if (GOOGLE_PREDICT_TRUE(&from != this)) {
22872     UnsafeMergeFrom(from);
22873   } else {
22874     MergeFromFail(__LINE__);
22875   }
22876 }
22877
22878 void AccuracyParameter::UnsafeMergeFrom(const AccuracyParameter& from) {
22879   GOOGLE_DCHECK(&from != this);
22880   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
22881     if (from.has_top_k()) {
22882       set_top_k(from.top_k());
22883     }
22884     if (from.has_axis()) {
22885       set_axis(from.axis());
22886     }
22887     if (from.has_ignore_label()) {
22888       set_ignore_label(from.ignore_label());
22889     }
22890   }
22891   if (from._internal_metadata_.have_unknown_fields()) {
22892     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
22893       from.unknown_fields(), &_internal_metadata_);
22894   }
22895 }
22896
22897 void AccuracyParameter::CopyFrom(const ::google::protobuf::Message& from) {
22898 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.AccuracyParameter)
22899   if (&from == this) return;
22900   Clear();
22901   MergeFrom(from);
22902 }
22903
22904 void AccuracyParameter::CopyFrom(const AccuracyParameter& from) {
22905 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.AccuracyParameter)
22906   if (&from == this) return;
22907   Clear();
22908   UnsafeMergeFrom(from);
22909 }
22910
22911 bool AccuracyParameter::IsInitialized() const {
22912
22913   return true;
22914 }
22915
22916 void AccuracyParameter::Swap(AccuracyParameter* other) {
22917   if (other == this) return;
22918   InternalSwap(other);
22919 }
22920 void AccuracyParameter::InternalSwap(AccuracyParameter* other) {
22921   std::swap(top_k_, other->top_k_);
22922   std::swap(axis_, other->axis_);
22923   std::swap(ignore_label_, other->ignore_label_);
22924   std::swap(_has_bits_[0], other->_has_bits_[0]);
22925   _internal_metadata_.Swap(&other->_internal_metadata_);
22926   std::swap(_cached_size_, other->_cached_size_);
22927 }
22928
22929 ::google::protobuf::Metadata AccuracyParameter::GetMetadata() const {
22930   protobuf_AssignDescriptorsOnce();
22931   ::google::protobuf::Metadata metadata;
22932   metadata.descriptor = AccuracyParameter_descriptor_;
22933   metadata.reflection = AccuracyParameter_reflection_;
22934   return metadata;
22935 }
22936
22937 #if PROTOBUF_INLINE_NOT_IN_HEADERS
22938 // AccuracyParameter
22939
22940 // optional uint32 top_k = 1 [default = 1];
22941 bool AccuracyParameter::has_top_k() const {
22942   return (_has_bits_[0] & 0x00000001u) != 0;
22943 }
22944 void AccuracyParameter::set_has_top_k() {
22945   _has_bits_[0] |= 0x00000001u;
22946 }
22947 void AccuracyParameter::clear_has_top_k() {
22948   _has_bits_[0] &= ~0x00000001u;
22949 }
22950 void AccuracyParameter::clear_top_k() {
22951   top_k_ = 1u;
22952   clear_has_top_k();
22953 }
22954 ::google::protobuf::uint32 AccuracyParameter::top_k() const {
22955   // @@protoc_insertion_point(field_get:opencv_caffe.AccuracyParameter.top_k)
22956   return top_k_;
22957 }
22958 void AccuracyParameter::set_top_k(::google::protobuf::uint32 value) {
22959   set_has_top_k();
22960   top_k_ = value;
22961   // @@protoc_insertion_point(field_set:opencv_caffe.AccuracyParameter.top_k)
22962 }
22963
22964 // optional int32 axis = 2 [default = 1];
22965 bool AccuracyParameter::has_axis() const {
22966   return (_has_bits_[0] & 0x00000002u) != 0;
22967 }
22968 void AccuracyParameter::set_has_axis() {
22969   _has_bits_[0] |= 0x00000002u;
22970 }
22971 void AccuracyParameter::clear_has_axis() {
22972   _has_bits_[0] &= ~0x00000002u;
22973 }
22974 void AccuracyParameter::clear_axis() {
22975   axis_ = 1;
22976   clear_has_axis();
22977 }
22978 ::google::protobuf::int32 AccuracyParameter::axis() const {
22979   // @@protoc_insertion_point(field_get:opencv_caffe.AccuracyParameter.axis)
22980   return axis_;
22981 }
22982 void AccuracyParameter::set_axis(::google::protobuf::int32 value) {
22983   set_has_axis();
22984   axis_ = value;
22985   // @@protoc_insertion_point(field_set:opencv_caffe.AccuracyParameter.axis)
22986 }
22987
22988 // optional int32 ignore_label = 3;
22989 bool AccuracyParameter::has_ignore_label() const {
22990   return (_has_bits_[0] & 0x00000004u) != 0;
22991 }
22992 void AccuracyParameter::set_has_ignore_label() {
22993   _has_bits_[0] |= 0x00000004u;
22994 }
22995 void AccuracyParameter::clear_has_ignore_label() {
22996   _has_bits_[0] &= ~0x00000004u;
22997 }
22998 void AccuracyParameter::clear_ignore_label() {
22999   ignore_label_ = 0;
23000   clear_has_ignore_label();
23001 }
23002 ::google::protobuf::int32 AccuracyParameter::ignore_label() const {
23003   // @@protoc_insertion_point(field_get:opencv_caffe.AccuracyParameter.ignore_label)
23004   return ignore_label_;
23005 }
23006 void AccuracyParameter::set_ignore_label(::google::protobuf::int32 value) {
23007   set_has_ignore_label();
23008   ignore_label_ = value;
23009   // @@protoc_insertion_point(field_set:opencv_caffe.AccuracyParameter.ignore_label)
23010 }
23011
23012 inline const AccuracyParameter* AccuracyParameter::internal_default_instance() {
23013   return &AccuracyParameter_default_instance_.get();
23014 }
23015 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
23016
23017 // ===================================================================
23018
23019 #if !defined(_MSC_VER) || _MSC_VER >= 1900
23020 const int ArgMaxParameter::kOutMaxValFieldNumber;
23021 const int ArgMaxParameter::kTopKFieldNumber;
23022 const int ArgMaxParameter::kAxisFieldNumber;
23023 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
23024
23025 ArgMaxParameter::ArgMaxParameter()
23026   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
23027   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
23028   SharedCtor();
23029   // @@protoc_insertion_point(constructor:opencv_caffe.ArgMaxParameter)
23030 }
23031
23032 void ArgMaxParameter::InitAsDefaultInstance() {
23033 }
23034
23035 ArgMaxParameter::ArgMaxParameter(const ArgMaxParameter& from)
23036   : ::google::protobuf::Message(),
23037     _internal_metadata_(NULL) {
23038   SharedCtor();
23039   UnsafeMergeFrom(from);
23040   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ArgMaxParameter)
23041 }
23042
23043 void ArgMaxParameter::SharedCtor() {
23044   _cached_size_ = 0;
23045   ::memset(&out_max_val_, 0, reinterpret_cast<char*>(&axis_) -
23046     reinterpret_cast<char*>(&out_max_val_) + sizeof(axis_));
23047   top_k_ = 1u;
23048 }
23049
23050 ArgMaxParameter::~ArgMaxParameter() {
23051   // @@protoc_insertion_point(destructor:opencv_caffe.ArgMaxParameter)
23052   SharedDtor();
23053 }
23054
23055 void ArgMaxParameter::SharedDtor() {
23056 }
23057
23058 void ArgMaxParameter::SetCachedSize(int size) const {
23059   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
23060   _cached_size_ = size;
23061   GOOGLE_SAFE_CONCURRENT_WRITES_END();
23062 }
23063 const ::google::protobuf::Descriptor* ArgMaxParameter::descriptor() {
23064   protobuf_AssignDescriptorsOnce();
23065   return ArgMaxParameter_descriptor_;
23066 }
23067
23068 const ArgMaxParameter& ArgMaxParameter::default_instance() {
23069   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
23070   return *internal_default_instance();
23071 }
23072
23073 ::google::protobuf::internal::ExplicitlyConstructed<ArgMaxParameter> ArgMaxParameter_default_instance_;
23074
23075 ArgMaxParameter* ArgMaxParameter::New(::google::protobuf::Arena* arena) const {
23076   ArgMaxParameter* n = new ArgMaxParameter;
23077   if (arena != NULL) {
23078     arena->Own(n);
23079   }
23080   return n;
23081 }
23082
23083 void ArgMaxParameter::Clear() {
23084 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ArgMaxParameter)
23085 #if defined(__clang__)
23086 #define ZR_HELPER_(f) \
23087   _Pragma("clang diagnostic push") \
23088   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
23089   __builtin_offsetof(ArgMaxParameter, f) \
23090   _Pragma("clang diagnostic pop")
23091 #else
23092 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
23093   &reinterpret_cast<ArgMaxParameter*>(16)->f)
23094 #endif
23095
23096 #define ZR_(first, last) do {\
23097   ::memset(&(first), 0,\
23098            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
23099 } while (0)
23100
23101   if (_has_bits_[0 / 32] & 7u) {
23102     ZR_(out_max_val_, axis_);
23103     top_k_ = 1u;
23104   }
23105
23106 #undef ZR_HELPER_
23107 #undef ZR_
23108
23109   _has_bits_.Clear();
23110   if (_internal_metadata_.have_unknown_fields()) {
23111     mutable_unknown_fields()->Clear();
23112   }
23113 }
23114
23115 bool ArgMaxParameter::MergePartialFromCodedStream(
23116     ::google::protobuf::io::CodedInputStream* input) {
23117 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
23118   ::google::protobuf::uint32 tag;
23119   // @@protoc_insertion_point(parse_start:opencv_caffe.ArgMaxParameter)
23120   for (;;) {
23121     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
23122     tag = p.first;
23123     if (!p.second) goto handle_unusual;
23124     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
23125       // optional bool out_max_val = 1 [default = false];
23126       case 1: {
23127         if (tag == 8) {
23128           set_has_out_max_val();
23129           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
23130                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
23131                  input, &out_max_val_)));
23132         } else {
23133           goto handle_unusual;
23134         }
23135         if (input->ExpectTag(16)) goto parse_top_k;
23136         break;
23137       }
23138
23139       // optional uint32 top_k = 2 [default = 1];
23140       case 2: {
23141         if (tag == 16) {
23142          parse_top_k:
23143           set_has_top_k();
23144           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
23145                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
23146                  input, &top_k_)));
23147         } else {
23148           goto handle_unusual;
23149         }
23150         if (input->ExpectTag(24)) goto parse_axis;
23151         break;
23152       }
23153
23154       // optional int32 axis = 3;
23155       case 3: {
23156         if (tag == 24) {
23157          parse_axis:
23158           set_has_axis();
23159           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
23160                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
23161                  input, &axis_)));
23162         } else {
23163           goto handle_unusual;
23164         }
23165         if (input->ExpectAtEnd()) goto success;
23166         break;
23167       }
23168
23169       default: {
23170       handle_unusual:
23171         if (tag == 0 ||
23172             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
23173             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
23174           goto success;
23175         }
23176         DO_(::google::protobuf::internal::WireFormat::SkipField(
23177               input, tag, mutable_unknown_fields()));
23178         break;
23179       }
23180     }
23181   }
23182 success:
23183   // @@protoc_insertion_point(parse_success:opencv_caffe.ArgMaxParameter)
23184   return true;
23185 failure:
23186   // @@protoc_insertion_point(parse_failure:opencv_caffe.ArgMaxParameter)
23187   return false;
23188 #undef DO_
23189 }
23190
23191 void ArgMaxParameter::SerializeWithCachedSizes(
23192     ::google::protobuf::io::CodedOutputStream* output) const {
23193   // @@protoc_insertion_point(serialize_start:opencv_caffe.ArgMaxParameter)
23194   // optional bool out_max_val = 1 [default = false];
23195   if (has_out_max_val()) {
23196     ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->out_max_val(), output);
23197   }
23198
23199   // optional uint32 top_k = 2 [default = 1];
23200   if (has_top_k()) {
23201     ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->top_k(), output);
23202   }
23203
23204   // optional int32 axis = 3;
23205   if (has_axis()) {
23206     ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->axis(), output);
23207   }
23208
23209   if (_internal_metadata_.have_unknown_fields()) {
23210     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
23211         unknown_fields(), output);
23212   }
23213   // @@protoc_insertion_point(serialize_end:opencv_caffe.ArgMaxParameter)
23214 }
23215
23216 ::google::protobuf::uint8* ArgMaxParameter::InternalSerializeWithCachedSizesToArray(
23217     bool deterministic, ::google::protobuf::uint8* target) const {
23218   (void)deterministic; // Unused
23219   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ArgMaxParameter)
23220   // optional bool out_max_val = 1 [default = false];
23221   if (has_out_max_val()) {
23222     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->out_max_val(), target);
23223   }
23224
23225   // optional uint32 top_k = 2 [default = 1];
23226   if (has_top_k()) {
23227     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->top_k(), target);
23228   }
23229
23230   // optional int32 axis = 3;
23231   if (has_axis()) {
23232     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->axis(), target);
23233   }
23234
23235   if (_internal_metadata_.have_unknown_fields()) {
23236     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
23237         unknown_fields(), target);
23238   }
23239   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ArgMaxParameter)
23240   return target;
23241 }
23242
23243 size_t ArgMaxParameter::ByteSizeLong() const {
23244 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ArgMaxParameter)
23245   size_t total_size = 0;
23246
23247   if (_has_bits_[0 / 32] & 7u) {
23248     // optional bool out_max_val = 1 [default = false];
23249     if (has_out_max_val()) {
23250       total_size += 1 + 1;
23251     }
23252
23253     // optional uint32 top_k = 2 [default = 1];
23254     if (has_top_k()) {
23255       total_size += 1 +
23256         ::google::protobuf::internal::WireFormatLite::UInt32Size(
23257           this->top_k());
23258     }
23259
23260     // optional int32 axis = 3;
23261     if (has_axis()) {
23262       total_size += 1 +
23263         ::google::protobuf::internal::WireFormatLite::Int32Size(
23264           this->axis());
23265     }
23266
23267   }
23268   if (_internal_metadata_.have_unknown_fields()) {
23269     total_size +=
23270       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
23271         unknown_fields());
23272   }
23273   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
23274   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
23275   _cached_size_ = cached_size;
23276   GOOGLE_SAFE_CONCURRENT_WRITES_END();
23277   return total_size;
23278 }
23279
23280 void ArgMaxParameter::MergeFrom(const ::google::protobuf::Message& from) {
23281 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ArgMaxParameter)
23282   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
23283   const ArgMaxParameter* source =
23284       ::google::protobuf::internal::DynamicCastToGenerated<const ArgMaxParameter>(
23285           &from);
23286   if (source == NULL) {
23287   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ArgMaxParameter)
23288     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
23289   } else {
23290   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ArgMaxParameter)
23291     UnsafeMergeFrom(*source);
23292   }
23293 }
23294
23295 void ArgMaxParameter::MergeFrom(const ArgMaxParameter& from) {
23296 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ArgMaxParameter)
23297   if (GOOGLE_PREDICT_TRUE(&from != this)) {
23298     UnsafeMergeFrom(from);
23299   } else {
23300     MergeFromFail(__LINE__);
23301   }
23302 }
23303
23304 void ArgMaxParameter::UnsafeMergeFrom(const ArgMaxParameter& from) {
23305   GOOGLE_DCHECK(&from != this);
23306   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
23307     if (from.has_out_max_val()) {
23308       set_out_max_val(from.out_max_val());
23309     }
23310     if (from.has_top_k()) {
23311       set_top_k(from.top_k());
23312     }
23313     if (from.has_axis()) {
23314       set_axis(from.axis());
23315     }
23316   }
23317   if (from._internal_metadata_.have_unknown_fields()) {
23318     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
23319       from.unknown_fields(), &_internal_metadata_);
23320   }
23321 }
23322
23323 void ArgMaxParameter::CopyFrom(const ::google::protobuf::Message& from) {
23324 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ArgMaxParameter)
23325   if (&from == this) return;
23326   Clear();
23327   MergeFrom(from);
23328 }
23329
23330 void ArgMaxParameter::CopyFrom(const ArgMaxParameter& from) {
23331 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ArgMaxParameter)
23332   if (&from == this) return;
23333   Clear();
23334   UnsafeMergeFrom(from);
23335 }
23336
23337 bool ArgMaxParameter::IsInitialized() const {
23338
23339   return true;
23340 }
23341
23342 void ArgMaxParameter::Swap(ArgMaxParameter* other) {
23343   if (other == this) return;
23344   InternalSwap(other);
23345 }
23346 void ArgMaxParameter::InternalSwap(ArgMaxParameter* other) {
23347   std::swap(out_max_val_, other->out_max_val_);
23348   std::swap(top_k_, other->top_k_);
23349   std::swap(axis_, other->axis_);
23350   std::swap(_has_bits_[0], other->_has_bits_[0]);
23351   _internal_metadata_.Swap(&other->_internal_metadata_);
23352   std::swap(_cached_size_, other->_cached_size_);
23353 }
23354
23355 ::google::protobuf::Metadata ArgMaxParameter::GetMetadata() const {
23356   protobuf_AssignDescriptorsOnce();
23357   ::google::protobuf::Metadata metadata;
23358   metadata.descriptor = ArgMaxParameter_descriptor_;
23359   metadata.reflection = ArgMaxParameter_reflection_;
23360   return metadata;
23361 }
23362
23363 #if PROTOBUF_INLINE_NOT_IN_HEADERS
23364 // ArgMaxParameter
23365
23366 // optional bool out_max_val = 1 [default = false];
23367 bool ArgMaxParameter::has_out_max_val() const {
23368   return (_has_bits_[0] & 0x00000001u) != 0;
23369 }
23370 void ArgMaxParameter::set_has_out_max_val() {
23371   _has_bits_[0] |= 0x00000001u;
23372 }
23373 void ArgMaxParameter::clear_has_out_max_val() {
23374   _has_bits_[0] &= ~0x00000001u;
23375 }
23376 void ArgMaxParameter::clear_out_max_val() {
23377   out_max_val_ = false;
23378   clear_has_out_max_val();
23379 }
23380 bool ArgMaxParameter::out_max_val() const {
23381   // @@protoc_insertion_point(field_get:opencv_caffe.ArgMaxParameter.out_max_val)
23382   return out_max_val_;
23383 }
23384 void ArgMaxParameter::set_out_max_val(bool value) {
23385   set_has_out_max_val();
23386   out_max_val_ = value;
23387   // @@protoc_insertion_point(field_set:opencv_caffe.ArgMaxParameter.out_max_val)
23388 }
23389
23390 // optional uint32 top_k = 2 [default = 1];
23391 bool ArgMaxParameter::has_top_k() const {
23392   return (_has_bits_[0] & 0x00000002u) != 0;
23393 }
23394 void ArgMaxParameter::set_has_top_k() {
23395   _has_bits_[0] |= 0x00000002u;
23396 }
23397 void ArgMaxParameter::clear_has_top_k() {
23398   _has_bits_[0] &= ~0x00000002u;
23399 }
23400 void ArgMaxParameter::clear_top_k() {
23401   top_k_ = 1u;
23402   clear_has_top_k();
23403 }
23404 ::google::protobuf::uint32 ArgMaxParameter::top_k() const {
23405   // @@protoc_insertion_point(field_get:opencv_caffe.ArgMaxParameter.top_k)
23406   return top_k_;
23407 }
23408 void ArgMaxParameter::set_top_k(::google::protobuf::uint32 value) {
23409   set_has_top_k();
23410   top_k_ = value;
23411   // @@protoc_insertion_point(field_set:opencv_caffe.ArgMaxParameter.top_k)
23412 }
23413
23414 // optional int32 axis = 3;
23415 bool ArgMaxParameter::has_axis() const {
23416   return (_has_bits_[0] & 0x00000004u) != 0;
23417 }
23418 void ArgMaxParameter::set_has_axis() {
23419   _has_bits_[0] |= 0x00000004u;
23420 }
23421 void ArgMaxParameter::clear_has_axis() {
23422   _has_bits_[0] &= ~0x00000004u;
23423 }
23424 void ArgMaxParameter::clear_axis() {
23425   axis_ = 0;
23426   clear_has_axis();
23427 }
23428 ::google::protobuf::int32 ArgMaxParameter::axis() const {
23429   // @@protoc_insertion_point(field_get:opencv_caffe.ArgMaxParameter.axis)
23430   return axis_;
23431 }
23432 void ArgMaxParameter::set_axis(::google::protobuf::int32 value) {
23433   set_has_axis();
23434   axis_ = value;
23435   // @@protoc_insertion_point(field_set:opencv_caffe.ArgMaxParameter.axis)
23436 }
23437
23438 inline const ArgMaxParameter* ArgMaxParameter::internal_default_instance() {
23439   return &ArgMaxParameter_default_instance_.get();
23440 }
23441 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
23442
23443 // ===================================================================
23444
23445 #if !defined(_MSC_VER) || _MSC_VER >= 1900
23446 const int ConcatParameter::kAxisFieldNumber;
23447 const int ConcatParameter::kConcatDimFieldNumber;
23448 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
23449
23450 ConcatParameter::ConcatParameter()
23451   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
23452   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
23453   SharedCtor();
23454   // @@protoc_insertion_point(constructor:opencv_caffe.ConcatParameter)
23455 }
23456
23457 void ConcatParameter::InitAsDefaultInstance() {
23458 }
23459
23460 ConcatParameter::ConcatParameter(const ConcatParameter& from)
23461   : ::google::protobuf::Message(),
23462     _internal_metadata_(NULL) {
23463   SharedCtor();
23464   UnsafeMergeFrom(from);
23465   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ConcatParameter)
23466 }
23467
23468 void ConcatParameter::SharedCtor() {
23469   _cached_size_ = 0;
23470   axis_ = 1;
23471   concat_dim_ = 1u;
23472 }
23473
23474 ConcatParameter::~ConcatParameter() {
23475   // @@protoc_insertion_point(destructor:opencv_caffe.ConcatParameter)
23476   SharedDtor();
23477 }
23478
23479 void ConcatParameter::SharedDtor() {
23480 }
23481
23482 void ConcatParameter::SetCachedSize(int size) const {
23483   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
23484   _cached_size_ = size;
23485   GOOGLE_SAFE_CONCURRENT_WRITES_END();
23486 }
23487 const ::google::protobuf::Descriptor* ConcatParameter::descriptor() {
23488   protobuf_AssignDescriptorsOnce();
23489   return ConcatParameter_descriptor_;
23490 }
23491
23492 const ConcatParameter& ConcatParameter::default_instance() {
23493   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
23494   return *internal_default_instance();
23495 }
23496
23497 ::google::protobuf::internal::ExplicitlyConstructed<ConcatParameter> ConcatParameter_default_instance_;
23498
23499 ConcatParameter* ConcatParameter::New(::google::protobuf::Arena* arena) const {
23500   ConcatParameter* n = new ConcatParameter;
23501   if (arena != NULL) {
23502     arena->Own(n);
23503   }
23504   return n;
23505 }
23506
23507 void ConcatParameter::Clear() {
23508 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ConcatParameter)
23509   if (_has_bits_[0 / 32] & 3u) {
23510     axis_ = 1;
23511     concat_dim_ = 1u;
23512   }
23513   _has_bits_.Clear();
23514   if (_internal_metadata_.have_unknown_fields()) {
23515     mutable_unknown_fields()->Clear();
23516   }
23517 }
23518
23519 bool ConcatParameter::MergePartialFromCodedStream(
23520     ::google::protobuf::io::CodedInputStream* input) {
23521 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
23522   ::google::protobuf::uint32 tag;
23523   // @@protoc_insertion_point(parse_start:opencv_caffe.ConcatParameter)
23524   for (;;) {
23525     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
23526     tag = p.first;
23527     if (!p.second) goto handle_unusual;
23528     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
23529       // optional uint32 concat_dim = 1 [default = 1];
23530       case 1: {
23531         if (tag == 8) {
23532           set_has_concat_dim();
23533           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
23534                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
23535                  input, &concat_dim_)));
23536         } else {
23537           goto handle_unusual;
23538         }
23539         if (input->ExpectTag(16)) goto parse_axis;
23540         break;
23541       }
23542
23543       // optional int32 axis = 2 [default = 1];
23544       case 2: {
23545         if (tag == 16) {
23546          parse_axis:
23547           set_has_axis();
23548           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
23549                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
23550                  input, &axis_)));
23551         } else {
23552           goto handle_unusual;
23553         }
23554         if (input->ExpectAtEnd()) goto success;
23555         break;
23556       }
23557
23558       default: {
23559       handle_unusual:
23560         if (tag == 0 ||
23561             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
23562             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
23563           goto success;
23564         }
23565         DO_(::google::protobuf::internal::WireFormat::SkipField(
23566               input, tag, mutable_unknown_fields()));
23567         break;
23568       }
23569     }
23570   }
23571 success:
23572   // @@protoc_insertion_point(parse_success:opencv_caffe.ConcatParameter)
23573   return true;
23574 failure:
23575   // @@protoc_insertion_point(parse_failure:opencv_caffe.ConcatParameter)
23576   return false;
23577 #undef DO_
23578 }
23579
23580 void ConcatParameter::SerializeWithCachedSizes(
23581     ::google::protobuf::io::CodedOutputStream* output) const {
23582   // @@protoc_insertion_point(serialize_start:opencv_caffe.ConcatParameter)
23583   // optional uint32 concat_dim = 1 [default = 1];
23584   if (has_concat_dim()) {
23585     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->concat_dim(), output);
23586   }
23587
23588   // optional int32 axis = 2 [default = 1];
23589   if (has_axis()) {
23590     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->axis(), output);
23591   }
23592
23593   if (_internal_metadata_.have_unknown_fields()) {
23594     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
23595         unknown_fields(), output);
23596   }
23597   // @@protoc_insertion_point(serialize_end:opencv_caffe.ConcatParameter)
23598 }
23599
23600 ::google::protobuf::uint8* ConcatParameter::InternalSerializeWithCachedSizesToArray(
23601     bool deterministic, ::google::protobuf::uint8* target) const {
23602   (void)deterministic; // Unused
23603   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ConcatParameter)
23604   // optional uint32 concat_dim = 1 [default = 1];
23605   if (has_concat_dim()) {
23606     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->concat_dim(), target);
23607   }
23608
23609   // optional int32 axis = 2 [default = 1];
23610   if (has_axis()) {
23611     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->axis(), target);
23612   }
23613
23614   if (_internal_metadata_.have_unknown_fields()) {
23615     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
23616         unknown_fields(), target);
23617   }
23618   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ConcatParameter)
23619   return target;
23620 }
23621
23622 size_t ConcatParameter::ByteSizeLong() const {
23623 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ConcatParameter)
23624   size_t total_size = 0;
23625
23626   if (_has_bits_[0 / 32] & 3u) {
23627     // optional int32 axis = 2 [default = 1];
23628     if (has_axis()) {
23629       total_size += 1 +
23630         ::google::protobuf::internal::WireFormatLite::Int32Size(
23631           this->axis());
23632     }
23633
23634     // optional uint32 concat_dim = 1 [default = 1];
23635     if (has_concat_dim()) {
23636       total_size += 1 +
23637         ::google::protobuf::internal::WireFormatLite::UInt32Size(
23638           this->concat_dim());
23639     }
23640
23641   }
23642   if (_internal_metadata_.have_unknown_fields()) {
23643     total_size +=
23644       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
23645         unknown_fields());
23646   }
23647   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
23648   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
23649   _cached_size_ = cached_size;
23650   GOOGLE_SAFE_CONCURRENT_WRITES_END();
23651   return total_size;
23652 }
23653
23654 void ConcatParameter::MergeFrom(const ::google::protobuf::Message& from) {
23655 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ConcatParameter)
23656   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
23657   const ConcatParameter* source =
23658       ::google::protobuf::internal::DynamicCastToGenerated<const ConcatParameter>(
23659           &from);
23660   if (source == NULL) {
23661   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ConcatParameter)
23662     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
23663   } else {
23664   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ConcatParameter)
23665     UnsafeMergeFrom(*source);
23666   }
23667 }
23668
23669 void ConcatParameter::MergeFrom(const ConcatParameter& from) {
23670 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ConcatParameter)
23671   if (GOOGLE_PREDICT_TRUE(&from != this)) {
23672     UnsafeMergeFrom(from);
23673   } else {
23674     MergeFromFail(__LINE__);
23675   }
23676 }
23677
23678 void ConcatParameter::UnsafeMergeFrom(const ConcatParameter& from) {
23679   GOOGLE_DCHECK(&from != this);
23680   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
23681     if (from.has_axis()) {
23682       set_axis(from.axis());
23683     }
23684     if (from.has_concat_dim()) {
23685       set_concat_dim(from.concat_dim());
23686     }
23687   }
23688   if (from._internal_metadata_.have_unknown_fields()) {
23689     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
23690       from.unknown_fields(), &_internal_metadata_);
23691   }
23692 }
23693
23694 void ConcatParameter::CopyFrom(const ::google::protobuf::Message& from) {
23695 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ConcatParameter)
23696   if (&from == this) return;
23697   Clear();
23698   MergeFrom(from);
23699 }
23700
23701 void ConcatParameter::CopyFrom(const ConcatParameter& from) {
23702 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ConcatParameter)
23703   if (&from == this) return;
23704   Clear();
23705   UnsafeMergeFrom(from);
23706 }
23707
23708 bool ConcatParameter::IsInitialized() const {
23709
23710   return true;
23711 }
23712
23713 void ConcatParameter::Swap(ConcatParameter* other) {
23714   if (other == this) return;
23715   InternalSwap(other);
23716 }
23717 void ConcatParameter::InternalSwap(ConcatParameter* other) {
23718   std::swap(axis_, other->axis_);
23719   std::swap(concat_dim_, other->concat_dim_);
23720   std::swap(_has_bits_[0], other->_has_bits_[0]);
23721   _internal_metadata_.Swap(&other->_internal_metadata_);
23722   std::swap(_cached_size_, other->_cached_size_);
23723 }
23724
23725 ::google::protobuf::Metadata ConcatParameter::GetMetadata() const {
23726   protobuf_AssignDescriptorsOnce();
23727   ::google::protobuf::Metadata metadata;
23728   metadata.descriptor = ConcatParameter_descriptor_;
23729   metadata.reflection = ConcatParameter_reflection_;
23730   return metadata;
23731 }
23732
23733 #if PROTOBUF_INLINE_NOT_IN_HEADERS
23734 // ConcatParameter
23735
23736 // optional int32 axis = 2 [default = 1];
23737 bool ConcatParameter::has_axis() const {
23738   return (_has_bits_[0] & 0x00000001u) != 0;
23739 }
23740 void ConcatParameter::set_has_axis() {
23741   _has_bits_[0] |= 0x00000001u;
23742 }
23743 void ConcatParameter::clear_has_axis() {
23744   _has_bits_[0] &= ~0x00000001u;
23745 }
23746 void ConcatParameter::clear_axis() {
23747   axis_ = 1;
23748   clear_has_axis();
23749 }
23750 ::google::protobuf::int32 ConcatParameter::axis() const {
23751   // @@protoc_insertion_point(field_get:opencv_caffe.ConcatParameter.axis)
23752   return axis_;
23753 }
23754 void ConcatParameter::set_axis(::google::protobuf::int32 value) {
23755   set_has_axis();
23756   axis_ = value;
23757   // @@protoc_insertion_point(field_set:opencv_caffe.ConcatParameter.axis)
23758 }
23759
23760 // optional uint32 concat_dim = 1 [default = 1];
23761 bool ConcatParameter::has_concat_dim() const {
23762   return (_has_bits_[0] & 0x00000002u) != 0;
23763 }
23764 void ConcatParameter::set_has_concat_dim() {
23765   _has_bits_[0] |= 0x00000002u;
23766 }
23767 void ConcatParameter::clear_has_concat_dim() {
23768   _has_bits_[0] &= ~0x00000002u;
23769 }
23770 void ConcatParameter::clear_concat_dim() {
23771   concat_dim_ = 1u;
23772   clear_has_concat_dim();
23773 }
23774 ::google::protobuf::uint32 ConcatParameter::concat_dim() const {
23775   // @@protoc_insertion_point(field_get:opencv_caffe.ConcatParameter.concat_dim)
23776   return concat_dim_;
23777 }
23778 void ConcatParameter::set_concat_dim(::google::protobuf::uint32 value) {
23779   set_has_concat_dim();
23780   concat_dim_ = value;
23781   // @@protoc_insertion_point(field_set:opencv_caffe.ConcatParameter.concat_dim)
23782 }
23783
23784 inline const ConcatParameter* ConcatParameter::internal_default_instance() {
23785   return &ConcatParameter_default_instance_.get();
23786 }
23787 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
23788
23789 // ===================================================================
23790
23791 #if !defined(_MSC_VER) || _MSC_VER >= 1900
23792 const int BatchNormParameter::kUseGlobalStatsFieldNumber;
23793 const int BatchNormParameter::kMovingAverageFractionFieldNumber;
23794 const int BatchNormParameter::kEpsFieldNumber;
23795 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
23796
23797 BatchNormParameter::BatchNormParameter()
23798   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
23799   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
23800   SharedCtor();
23801   // @@protoc_insertion_point(constructor:opencv_caffe.BatchNormParameter)
23802 }
23803
23804 void BatchNormParameter::InitAsDefaultInstance() {
23805 }
23806
23807 BatchNormParameter::BatchNormParameter(const BatchNormParameter& from)
23808   : ::google::protobuf::Message(),
23809     _internal_metadata_(NULL) {
23810   SharedCtor();
23811   UnsafeMergeFrom(from);
23812   // @@protoc_insertion_point(copy_constructor:opencv_caffe.BatchNormParameter)
23813 }
23814
23815 void BatchNormParameter::SharedCtor() {
23816   _cached_size_ = 0;
23817   use_global_stats_ = false;
23818   moving_average_fraction_ = 0.999f;
23819   eps_ = 1e-05f;
23820 }
23821
23822 BatchNormParameter::~BatchNormParameter() {
23823   // @@protoc_insertion_point(destructor:opencv_caffe.BatchNormParameter)
23824   SharedDtor();
23825 }
23826
23827 void BatchNormParameter::SharedDtor() {
23828 }
23829
23830 void BatchNormParameter::SetCachedSize(int size) const {
23831   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
23832   _cached_size_ = size;
23833   GOOGLE_SAFE_CONCURRENT_WRITES_END();
23834 }
23835 const ::google::protobuf::Descriptor* BatchNormParameter::descriptor() {
23836   protobuf_AssignDescriptorsOnce();
23837   return BatchNormParameter_descriptor_;
23838 }
23839
23840 const BatchNormParameter& BatchNormParameter::default_instance() {
23841   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
23842   return *internal_default_instance();
23843 }
23844
23845 ::google::protobuf::internal::ExplicitlyConstructed<BatchNormParameter> BatchNormParameter_default_instance_;
23846
23847 BatchNormParameter* BatchNormParameter::New(::google::protobuf::Arena* arena) const {
23848   BatchNormParameter* n = new BatchNormParameter;
23849   if (arena != NULL) {
23850     arena->Own(n);
23851   }
23852   return n;
23853 }
23854
23855 void BatchNormParameter::Clear() {
23856 // @@protoc_insertion_point(message_clear_start:opencv_caffe.BatchNormParameter)
23857   if (_has_bits_[0 / 32] & 7u) {
23858     use_global_stats_ = false;
23859     moving_average_fraction_ = 0.999f;
23860     eps_ = 1e-05f;
23861   }
23862   _has_bits_.Clear();
23863   if (_internal_metadata_.have_unknown_fields()) {
23864     mutable_unknown_fields()->Clear();
23865   }
23866 }
23867
23868 bool BatchNormParameter::MergePartialFromCodedStream(
23869     ::google::protobuf::io::CodedInputStream* input) {
23870 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
23871   ::google::protobuf::uint32 tag;
23872   // @@protoc_insertion_point(parse_start:opencv_caffe.BatchNormParameter)
23873   for (;;) {
23874     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
23875     tag = p.first;
23876     if (!p.second) goto handle_unusual;
23877     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
23878       // optional bool use_global_stats = 1;
23879       case 1: {
23880         if (tag == 8) {
23881           set_has_use_global_stats();
23882           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
23883                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
23884                  input, &use_global_stats_)));
23885         } else {
23886           goto handle_unusual;
23887         }
23888         if (input->ExpectTag(21)) goto parse_moving_average_fraction;
23889         break;
23890       }
23891
23892       // optional float moving_average_fraction = 2 [default = 0.999];
23893       case 2: {
23894         if (tag == 21) {
23895          parse_moving_average_fraction:
23896           set_has_moving_average_fraction();
23897           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
23898                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
23899                  input, &moving_average_fraction_)));
23900         } else {
23901           goto handle_unusual;
23902         }
23903         if (input->ExpectTag(29)) goto parse_eps;
23904         break;
23905       }
23906
23907       // optional float eps = 3 [default = 1e-05];
23908       case 3: {
23909         if (tag == 29) {
23910          parse_eps:
23911           set_has_eps();
23912           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
23913                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
23914                  input, &eps_)));
23915         } else {
23916           goto handle_unusual;
23917         }
23918         if (input->ExpectAtEnd()) goto success;
23919         break;
23920       }
23921
23922       default: {
23923       handle_unusual:
23924         if (tag == 0 ||
23925             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
23926             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
23927           goto success;
23928         }
23929         DO_(::google::protobuf::internal::WireFormat::SkipField(
23930               input, tag, mutable_unknown_fields()));
23931         break;
23932       }
23933     }
23934   }
23935 success:
23936   // @@protoc_insertion_point(parse_success:opencv_caffe.BatchNormParameter)
23937   return true;
23938 failure:
23939   // @@protoc_insertion_point(parse_failure:opencv_caffe.BatchNormParameter)
23940   return false;
23941 #undef DO_
23942 }
23943
23944 void BatchNormParameter::SerializeWithCachedSizes(
23945     ::google::protobuf::io::CodedOutputStream* output) const {
23946   // @@protoc_insertion_point(serialize_start:opencv_caffe.BatchNormParameter)
23947   // optional bool use_global_stats = 1;
23948   if (has_use_global_stats()) {
23949     ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->use_global_stats(), output);
23950   }
23951
23952   // optional float moving_average_fraction = 2 [default = 0.999];
23953   if (has_moving_average_fraction()) {
23954     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->moving_average_fraction(), output);
23955   }
23956
23957   // optional float eps = 3 [default = 1e-05];
23958   if (has_eps()) {
23959     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->eps(), output);
23960   }
23961
23962   if (_internal_metadata_.have_unknown_fields()) {
23963     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
23964         unknown_fields(), output);
23965   }
23966   // @@protoc_insertion_point(serialize_end:opencv_caffe.BatchNormParameter)
23967 }
23968
23969 ::google::protobuf::uint8* BatchNormParameter::InternalSerializeWithCachedSizesToArray(
23970     bool deterministic, ::google::protobuf::uint8* target) const {
23971   (void)deterministic; // Unused
23972   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.BatchNormParameter)
23973   // optional bool use_global_stats = 1;
23974   if (has_use_global_stats()) {
23975     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->use_global_stats(), target);
23976   }
23977
23978   // optional float moving_average_fraction = 2 [default = 0.999];
23979   if (has_moving_average_fraction()) {
23980     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->moving_average_fraction(), target);
23981   }
23982
23983   // optional float eps = 3 [default = 1e-05];
23984   if (has_eps()) {
23985     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->eps(), target);
23986   }
23987
23988   if (_internal_metadata_.have_unknown_fields()) {
23989     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
23990         unknown_fields(), target);
23991   }
23992   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.BatchNormParameter)
23993   return target;
23994 }
23995
23996 size_t BatchNormParameter::ByteSizeLong() const {
23997 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.BatchNormParameter)
23998   size_t total_size = 0;
23999
24000   if (_has_bits_[0 / 32] & 7u) {
24001     // optional bool use_global_stats = 1;
24002     if (has_use_global_stats()) {
24003       total_size += 1 + 1;
24004     }
24005
24006     // optional float moving_average_fraction = 2 [default = 0.999];
24007     if (has_moving_average_fraction()) {
24008       total_size += 1 + 4;
24009     }
24010
24011     // optional float eps = 3 [default = 1e-05];
24012     if (has_eps()) {
24013       total_size += 1 + 4;
24014     }
24015
24016   }
24017   if (_internal_metadata_.have_unknown_fields()) {
24018     total_size +=
24019       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
24020         unknown_fields());
24021   }
24022   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
24023   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
24024   _cached_size_ = cached_size;
24025   GOOGLE_SAFE_CONCURRENT_WRITES_END();
24026   return total_size;
24027 }
24028
24029 void BatchNormParameter::MergeFrom(const ::google::protobuf::Message& from) {
24030 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.BatchNormParameter)
24031   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
24032   const BatchNormParameter* source =
24033       ::google::protobuf::internal::DynamicCastToGenerated<const BatchNormParameter>(
24034           &from);
24035   if (source == NULL) {
24036   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.BatchNormParameter)
24037     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
24038   } else {
24039   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.BatchNormParameter)
24040     UnsafeMergeFrom(*source);
24041   }
24042 }
24043
24044 void BatchNormParameter::MergeFrom(const BatchNormParameter& from) {
24045 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.BatchNormParameter)
24046   if (GOOGLE_PREDICT_TRUE(&from != this)) {
24047     UnsafeMergeFrom(from);
24048   } else {
24049     MergeFromFail(__LINE__);
24050   }
24051 }
24052
24053 void BatchNormParameter::UnsafeMergeFrom(const BatchNormParameter& from) {
24054   GOOGLE_DCHECK(&from != this);
24055   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
24056     if (from.has_use_global_stats()) {
24057       set_use_global_stats(from.use_global_stats());
24058     }
24059     if (from.has_moving_average_fraction()) {
24060       set_moving_average_fraction(from.moving_average_fraction());
24061     }
24062     if (from.has_eps()) {
24063       set_eps(from.eps());
24064     }
24065   }
24066   if (from._internal_metadata_.have_unknown_fields()) {
24067     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
24068       from.unknown_fields(), &_internal_metadata_);
24069   }
24070 }
24071
24072 void BatchNormParameter::CopyFrom(const ::google::protobuf::Message& from) {
24073 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.BatchNormParameter)
24074   if (&from == this) return;
24075   Clear();
24076   MergeFrom(from);
24077 }
24078
24079 void BatchNormParameter::CopyFrom(const BatchNormParameter& from) {
24080 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.BatchNormParameter)
24081   if (&from == this) return;
24082   Clear();
24083   UnsafeMergeFrom(from);
24084 }
24085
24086 bool BatchNormParameter::IsInitialized() const {
24087
24088   return true;
24089 }
24090
24091 void BatchNormParameter::Swap(BatchNormParameter* other) {
24092   if (other == this) return;
24093   InternalSwap(other);
24094 }
24095 void BatchNormParameter::InternalSwap(BatchNormParameter* other) {
24096   std::swap(use_global_stats_, other->use_global_stats_);
24097   std::swap(moving_average_fraction_, other->moving_average_fraction_);
24098   std::swap(eps_, other->eps_);
24099   std::swap(_has_bits_[0], other->_has_bits_[0]);
24100   _internal_metadata_.Swap(&other->_internal_metadata_);
24101   std::swap(_cached_size_, other->_cached_size_);
24102 }
24103
24104 ::google::protobuf::Metadata BatchNormParameter::GetMetadata() const {
24105   protobuf_AssignDescriptorsOnce();
24106   ::google::protobuf::Metadata metadata;
24107   metadata.descriptor = BatchNormParameter_descriptor_;
24108   metadata.reflection = BatchNormParameter_reflection_;
24109   return metadata;
24110 }
24111
24112 #if PROTOBUF_INLINE_NOT_IN_HEADERS
24113 // BatchNormParameter
24114
24115 // optional bool use_global_stats = 1;
24116 bool BatchNormParameter::has_use_global_stats() const {
24117   return (_has_bits_[0] & 0x00000001u) != 0;
24118 }
24119 void BatchNormParameter::set_has_use_global_stats() {
24120   _has_bits_[0] |= 0x00000001u;
24121 }
24122 void BatchNormParameter::clear_has_use_global_stats() {
24123   _has_bits_[0] &= ~0x00000001u;
24124 }
24125 void BatchNormParameter::clear_use_global_stats() {
24126   use_global_stats_ = false;
24127   clear_has_use_global_stats();
24128 }
24129 bool BatchNormParameter::use_global_stats() const {
24130   // @@protoc_insertion_point(field_get:opencv_caffe.BatchNormParameter.use_global_stats)
24131   return use_global_stats_;
24132 }
24133 void BatchNormParameter::set_use_global_stats(bool value) {
24134   set_has_use_global_stats();
24135   use_global_stats_ = value;
24136   // @@protoc_insertion_point(field_set:opencv_caffe.BatchNormParameter.use_global_stats)
24137 }
24138
24139 // optional float moving_average_fraction = 2 [default = 0.999];
24140 bool BatchNormParameter::has_moving_average_fraction() const {
24141   return (_has_bits_[0] & 0x00000002u) != 0;
24142 }
24143 void BatchNormParameter::set_has_moving_average_fraction() {
24144   _has_bits_[0] |= 0x00000002u;
24145 }
24146 void BatchNormParameter::clear_has_moving_average_fraction() {
24147   _has_bits_[0] &= ~0x00000002u;
24148 }
24149 void BatchNormParameter::clear_moving_average_fraction() {
24150   moving_average_fraction_ = 0.999f;
24151   clear_has_moving_average_fraction();
24152 }
24153 float BatchNormParameter::moving_average_fraction() const {
24154   // @@protoc_insertion_point(field_get:opencv_caffe.BatchNormParameter.moving_average_fraction)
24155   return moving_average_fraction_;
24156 }
24157 void BatchNormParameter::set_moving_average_fraction(float value) {
24158   set_has_moving_average_fraction();
24159   moving_average_fraction_ = value;
24160   // @@protoc_insertion_point(field_set:opencv_caffe.BatchNormParameter.moving_average_fraction)
24161 }
24162
24163 // optional float eps = 3 [default = 1e-05];
24164 bool BatchNormParameter::has_eps() const {
24165   return (_has_bits_[0] & 0x00000004u) != 0;
24166 }
24167 void BatchNormParameter::set_has_eps() {
24168   _has_bits_[0] |= 0x00000004u;
24169 }
24170 void BatchNormParameter::clear_has_eps() {
24171   _has_bits_[0] &= ~0x00000004u;
24172 }
24173 void BatchNormParameter::clear_eps() {
24174   eps_ = 1e-05f;
24175   clear_has_eps();
24176 }
24177 float BatchNormParameter::eps() const {
24178   // @@protoc_insertion_point(field_get:opencv_caffe.BatchNormParameter.eps)
24179   return eps_;
24180 }
24181 void BatchNormParameter::set_eps(float value) {
24182   set_has_eps();
24183   eps_ = value;
24184   // @@protoc_insertion_point(field_set:opencv_caffe.BatchNormParameter.eps)
24185 }
24186
24187 inline const BatchNormParameter* BatchNormParameter::internal_default_instance() {
24188   return &BatchNormParameter_default_instance_.get();
24189 }
24190 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
24191
24192 // ===================================================================
24193
24194 #if !defined(_MSC_VER) || _MSC_VER >= 1900
24195 const int BiasParameter::kAxisFieldNumber;
24196 const int BiasParameter::kNumAxesFieldNumber;
24197 const int BiasParameter::kFillerFieldNumber;
24198 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
24199
24200 BiasParameter::BiasParameter()
24201   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
24202   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
24203   SharedCtor();
24204   // @@protoc_insertion_point(constructor:opencv_caffe.BiasParameter)
24205 }
24206
24207 void BiasParameter::InitAsDefaultInstance() {
24208   filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
24209       ::opencv_caffe::FillerParameter::internal_default_instance());
24210 }
24211
24212 BiasParameter::BiasParameter(const BiasParameter& from)
24213   : ::google::protobuf::Message(),
24214     _internal_metadata_(NULL) {
24215   SharedCtor();
24216   UnsafeMergeFrom(from);
24217   // @@protoc_insertion_point(copy_constructor:opencv_caffe.BiasParameter)
24218 }
24219
24220 void BiasParameter::SharedCtor() {
24221   _cached_size_ = 0;
24222   filler_ = NULL;
24223   axis_ = 1;
24224   num_axes_ = 1;
24225 }
24226
24227 BiasParameter::~BiasParameter() {
24228   // @@protoc_insertion_point(destructor:opencv_caffe.BiasParameter)
24229   SharedDtor();
24230 }
24231
24232 void BiasParameter::SharedDtor() {
24233   if (this != &BiasParameter_default_instance_.get()) {
24234     delete filler_;
24235   }
24236 }
24237
24238 void BiasParameter::SetCachedSize(int size) const {
24239   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
24240   _cached_size_ = size;
24241   GOOGLE_SAFE_CONCURRENT_WRITES_END();
24242 }
24243 const ::google::protobuf::Descriptor* BiasParameter::descriptor() {
24244   protobuf_AssignDescriptorsOnce();
24245   return BiasParameter_descriptor_;
24246 }
24247
24248 const BiasParameter& BiasParameter::default_instance() {
24249   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
24250   return *internal_default_instance();
24251 }
24252
24253 ::google::protobuf::internal::ExplicitlyConstructed<BiasParameter> BiasParameter_default_instance_;
24254
24255 BiasParameter* BiasParameter::New(::google::protobuf::Arena* arena) const {
24256   BiasParameter* n = new BiasParameter;
24257   if (arena != NULL) {
24258     arena->Own(n);
24259   }
24260   return n;
24261 }
24262
24263 void BiasParameter::Clear() {
24264 // @@protoc_insertion_point(message_clear_start:opencv_caffe.BiasParameter)
24265   if (_has_bits_[0 / 32] & 7u) {
24266     axis_ = 1;
24267     num_axes_ = 1;
24268     if (has_filler()) {
24269       if (filler_ != NULL) filler_->::opencv_caffe::FillerParameter::Clear();
24270     }
24271   }
24272   _has_bits_.Clear();
24273   if (_internal_metadata_.have_unknown_fields()) {
24274     mutable_unknown_fields()->Clear();
24275   }
24276 }
24277
24278 bool BiasParameter::MergePartialFromCodedStream(
24279     ::google::protobuf::io::CodedInputStream* input) {
24280 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
24281   ::google::protobuf::uint32 tag;
24282   // @@protoc_insertion_point(parse_start:opencv_caffe.BiasParameter)
24283   for (;;) {
24284     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
24285     tag = p.first;
24286     if (!p.second) goto handle_unusual;
24287     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
24288       // optional int32 axis = 1 [default = 1];
24289       case 1: {
24290         if (tag == 8) {
24291           set_has_axis();
24292           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
24293                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
24294                  input, &axis_)));
24295         } else {
24296           goto handle_unusual;
24297         }
24298         if (input->ExpectTag(16)) goto parse_num_axes;
24299         break;
24300       }
24301
24302       // optional int32 num_axes = 2 [default = 1];
24303       case 2: {
24304         if (tag == 16) {
24305          parse_num_axes:
24306           set_has_num_axes();
24307           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
24308                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
24309                  input, &num_axes_)));
24310         } else {
24311           goto handle_unusual;
24312         }
24313         if (input->ExpectTag(26)) goto parse_filler;
24314         break;
24315       }
24316
24317       // optional .opencv_caffe.FillerParameter filler = 3;
24318       case 3: {
24319         if (tag == 26) {
24320          parse_filler:
24321           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
24322                input, mutable_filler()));
24323         } else {
24324           goto handle_unusual;
24325         }
24326         if (input->ExpectAtEnd()) goto success;
24327         break;
24328       }
24329
24330       default: {
24331       handle_unusual:
24332         if (tag == 0 ||
24333             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
24334             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
24335           goto success;
24336         }
24337         DO_(::google::protobuf::internal::WireFormat::SkipField(
24338               input, tag, mutable_unknown_fields()));
24339         break;
24340       }
24341     }
24342   }
24343 success:
24344   // @@protoc_insertion_point(parse_success:opencv_caffe.BiasParameter)
24345   return true;
24346 failure:
24347   // @@protoc_insertion_point(parse_failure:opencv_caffe.BiasParameter)
24348   return false;
24349 #undef DO_
24350 }
24351
24352 void BiasParameter::SerializeWithCachedSizes(
24353     ::google::protobuf::io::CodedOutputStream* output) const {
24354   // @@protoc_insertion_point(serialize_start:opencv_caffe.BiasParameter)
24355   // optional int32 axis = 1 [default = 1];
24356   if (has_axis()) {
24357     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->axis(), output);
24358   }
24359
24360   // optional int32 num_axes = 2 [default = 1];
24361   if (has_num_axes()) {
24362     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->num_axes(), output);
24363   }
24364
24365   // optional .opencv_caffe.FillerParameter filler = 3;
24366   if (has_filler()) {
24367     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
24368       3, *this->filler_, output);
24369   }
24370
24371   if (_internal_metadata_.have_unknown_fields()) {
24372     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
24373         unknown_fields(), output);
24374   }
24375   // @@protoc_insertion_point(serialize_end:opencv_caffe.BiasParameter)
24376 }
24377
24378 ::google::protobuf::uint8* BiasParameter::InternalSerializeWithCachedSizesToArray(
24379     bool deterministic, ::google::protobuf::uint8* target) const {
24380   (void)deterministic; // Unused
24381   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.BiasParameter)
24382   // optional int32 axis = 1 [default = 1];
24383   if (has_axis()) {
24384     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->axis(), target);
24385   }
24386
24387   // optional int32 num_axes = 2 [default = 1];
24388   if (has_num_axes()) {
24389     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->num_axes(), target);
24390   }
24391
24392   // optional .opencv_caffe.FillerParameter filler = 3;
24393   if (has_filler()) {
24394     target = ::google::protobuf::internal::WireFormatLite::
24395       InternalWriteMessageNoVirtualToArray(
24396         3, *this->filler_, false, target);
24397   }
24398
24399   if (_internal_metadata_.have_unknown_fields()) {
24400     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
24401         unknown_fields(), target);
24402   }
24403   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.BiasParameter)
24404   return target;
24405 }
24406
24407 size_t BiasParameter::ByteSizeLong() const {
24408 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.BiasParameter)
24409   size_t total_size = 0;
24410
24411   if (_has_bits_[0 / 32] & 7u) {
24412     // optional int32 axis = 1 [default = 1];
24413     if (has_axis()) {
24414       total_size += 1 +
24415         ::google::protobuf::internal::WireFormatLite::Int32Size(
24416           this->axis());
24417     }
24418
24419     // optional int32 num_axes = 2 [default = 1];
24420     if (has_num_axes()) {
24421       total_size += 1 +
24422         ::google::protobuf::internal::WireFormatLite::Int32Size(
24423           this->num_axes());
24424     }
24425
24426     // optional .opencv_caffe.FillerParameter filler = 3;
24427     if (has_filler()) {
24428       total_size += 1 +
24429         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
24430           *this->filler_);
24431     }
24432
24433   }
24434   if (_internal_metadata_.have_unknown_fields()) {
24435     total_size +=
24436       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
24437         unknown_fields());
24438   }
24439   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
24440   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
24441   _cached_size_ = cached_size;
24442   GOOGLE_SAFE_CONCURRENT_WRITES_END();
24443   return total_size;
24444 }
24445
24446 void BiasParameter::MergeFrom(const ::google::protobuf::Message& from) {
24447 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.BiasParameter)
24448   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
24449   const BiasParameter* source =
24450       ::google::protobuf::internal::DynamicCastToGenerated<const BiasParameter>(
24451           &from);
24452   if (source == NULL) {
24453   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.BiasParameter)
24454     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
24455   } else {
24456   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.BiasParameter)
24457     UnsafeMergeFrom(*source);
24458   }
24459 }
24460
24461 void BiasParameter::MergeFrom(const BiasParameter& from) {
24462 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.BiasParameter)
24463   if (GOOGLE_PREDICT_TRUE(&from != this)) {
24464     UnsafeMergeFrom(from);
24465   } else {
24466     MergeFromFail(__LINE__);
24467   }
24468 }
24469
24470 void BiasParameter::UnsafeMergeFrom(const BiasParameter& from) {
24471   GOOGLE_DCHECK(&from != this);
24472   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
24473     if (from.has_axis()) {
24474       set_axis(from.axis());
24475     }
24476     if (from.has_num_axes()) {
24477       set_num_axes(from.num_axes());
24478     }
24479     if (from.has_filler()) {
24480       mutable_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.filler());
24481     }
24482   }
24483   if (from._internal_metadata_.have_unknown_fields()) {
24484     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
24485       from.unknown_fields(), &_internal_metadata_);
24486   }
24487 }
24488
24489 void BiasParameter::CopyFrom(const ::google::protobuf::Message& from) {
24490 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.BiasParameter)
24491   if (&from == this) return;
24492   Clear();
24493   MergeFrom(from);
24494 }
24495
24496 void BiasParameter::CopyFrom(const BiasParameter& from) {
24497 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.BiasParameter)
24498   if (&from == this) return;
24499   Clear();
24500   UnsafeMergeFrom(from);
24501 }
24502
24503 bool BiasParameter::IsInitialized() const {
24504
24505   return true;
24506 }
24507
24508 void BiasParameter::Swap(BiasParameter* other) {
24509   if (other == this) return;
24510   InternalSwap(other);
24511 }
24512 void BiasParameter::InternalSwap(BiasParameter* other) {
24513   std::swap(axis_, other->axis_);
24514   std::swap(num_axes_, other->num_axes_);
24515   std::swap(filler_, other->filler_);
24516   std::swap(_has_bits_[0], other->_has_bits_[0]);
24517   _internal_metadata_.Swap(&other->_internal_metadata_);
24518   std::swap(_cached_size_, other->_cached_size_);
24519 }
24520
24521 ::google::protobuf::Metadata BiasParameter::GetMetadata() const {
24522   protobuf_AssignDescriptorsOnce();
24523   ::google::protobuf::Metadata metadata;
24524   metadata.descriptor = BiasParameter_descriptor_;
24525   metadata.reflection = BiasParameter_reflection_;
24526   return metadata;
24527 }
24528
24529 #if PROTOBUF_INLINE_NOT_IN_HEADERS
24530 // BiasParameter
24531
24532 // optional int32 axis = 1 [default = 1];
24533 bool BiasParameter::has_axis() const {
24534   return (_has_bits_[0] & 0x00000001u) != 0;
24535 }
24536 void BiasParameter::set_has_axis() {
24537   _has_bits_[0] |= 0x00000001u;
24538 }
24539 void BiasParameter::clear_has_axis() {
24540   _has_bits_[0] &= ~0x00000001u;
24541 }
24542 void BiasParameter::clear_axis() {
24543   axis_ = 1;
24544   clear_has_axis();
24545 }
24546 ::google::protobuf::int32 BiasParameter::axis() const {
24547   // @@protoc_insertion_point(field_get:opencv_caffe.BiasParameter.axis)
24548   return axis_;
24549 }
24550 void BiasParameter::set_axis(::google::protobuf::int32 value) {
24551   set_has_axis();
24552   axis_ = value;
24553   // @@protoc_insertion_point(field_set:opencv_caffe.BiasParameter.axis)
24554 }
24555
24556 // optional int32 num_axes = 2 [default = 1];
24557 bool BiasParameter::has_num_axes() const {
24558   return (_has_bits_[0] & 0x00000002u) != 0;
24559 }
24560 void BiasParameter::set_has_num_axes() {
24561   _has_bits_[0] |= 0x00000002u;
24562 }
24563 void BiasParameter::clear_has_num_axes() {
24564   _has_bits_[0] &= ~0x00000002u;
24565 }
24566 void BiasParameter::clear_num_axes() {
24567   num_axes_ = 1;
24568   clear_has_num_axes();
24569 }
24570 ::google::protobuf::int32 BiasParameter::num_axes() const {
24571   // @@protoc_insertion_point(field_get:opencv_caffe.BiasParameter.num_axes)
24572   return num_axes_;
24573 }
24574 void BiasParameter::set_num_axes(::google::protobuf::int32 value) {
24575   set_has_num_axes();
24576   num_axes_ = value;
24577   // @@protoc_insertion_point(field_set:opencv_caffe.BiasParameter.num_axes)
24578 }
24579
24580 // optional .opencv_caffe.FillerParameter filler = 3;
24581 bool BiasParameter::has_filler() const {
24582   return (_has_bits_[0] & 0x00000004u) != 0;
24583 }
24584 void BiasParameter::set_has_filler() {
24585   _has_bits_[0] |= 0x00000004u;
24586 }
24587 void BiasParameter::clear_has_filler() {
24588   _has_bits_[0] &= ~0x00000004u;
24589 }
24590 void BiasParameter::clear_filler() {
24591   if (filler_ != NULL) filler_->::opencv_caffe::FillerParameter::Clear();
24592   clear_has_filler();
24593 }
24594 const ::opencv_caffe::FillerParameter& BiasParameter::filler() const {
24595   // @@protoc_insertion_point(field_get:opencv_caffe.BiasParameter.filler)
24596   return filler_ != NULL ? *filler_
24597                          : *::opencv_caffe::FillerParameter::internal_default_instance();
24598 }
24599 ::opencv_caffe::FillerParameter* BiasParameter::mutable_filler() {
24600   set_has_filler();
24601   if (filler_ == NULL) {
24602     filler_ = new ::opencv_caffe::FillerParameter;
24603   }
24604   // @@protoc_insertion_point(field_mutable:opencv_caffe.BiasParameter.filler)
24605   return filler_;
24606 }
24607 ::opencv_caffe::FillerParameter* BiasParameter::release_filler() {
24608   // @@protoc_insertion_point(field_release:opencv_caffe.BiasParameter.filler)
24609   clear_has_filler();
24610   ::opencv_caffe::FillerParameter* temp = filler_;
24611   filler_ = NULL;
24612   return temp;
24613 }
24614 void BiasParameter::set_allocated_filler(::opencv_caffe::FillerParameter* filler) {
24615   delete filler_;
24616   filler_ = filler;
24617   if (filler) {
24618     set_has_filler();
24619   } else {
24620     clear_has_filler();
24621   }
24622   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.BiasParameter.filler)
24623 }
24624
24625 inline const BiasParameter* BiasParameter::internal_default_instance() {
24626   return &BiasParameter_default_instance_.get();
24627 }
24628 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
24629
24630 // ===================================================================
24631
24632 #if !defined(_MSC_VER) || _MSC_VER >= 1900
24633 const int ContrastiveLossParameter::kMarginFieldNumber;
24634 const int ContrastiveLossParameter::kLegacyVersionFieldNumber;
24635 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
24636
24637 ContrastiveLossParameter::ContrastiveLossParameter()
24638   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
24639   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
24640   SharedCtor();
24641   // @@protoc_insertion_point(constructor:opencv_caffe.ContrastiveLossParameter)
24642 }
24643
24644 void ContrastiveLossParameter::InitAsDefaultInstance() {
24645 }
24646
24647 ContrastiveLossParameter::ContrastiveLossParameter(const ContrastiveLossParameter& from)
24648   : ::google::protobuf::Message(),
24649     _internal_metadata_(NULL) {
24650   SharedCtor();
24651   UnsafeMergeFrom(from);
24652   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ContrastiveLossParameter)
24653 }
24654
24655 void ContrastiveLossParameter::SharedCtor() {
24656   _cached_size_ = 0;
24657   legacy_version_ = false;
24658   margin_ = 1;
24659 }
24660
24661 ContrastiveLossParameter::~ContrastiveLossParameter() {
24662   // @@protoc_insertion_point(destructor:opencv_caffe.ContrastiveLossParameter)
24663   SharedDtor();
24664 }
24665
24666 void ContrastiveLossParameter::SharedDtor() {
24667 }
24668
24669 void ContrastiveLossParameter::SetCachedSize(int size) const {
24670   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
24671   _cached_size_ = size;
24672   GOOGLE_SAFE_CONCURRENT_WRITES_END();
24673 }
24674 const ::google::protobuf::Descriptor* ContrastiveLossParameter::descriptor() {
24675   protobuf_AssignDescriptorsOnce();
24676   return ContrastiveLossParameter_descriptor_;
24677 }
24678
24679 const ContrastiveLossParameter& ContrastiveLossParameter::default_instance() {
24680   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
24681   return *internal_default_instance();
24682 }
24683
24684 ::google::protobuf::internal::ExplicitlyConstructed<ContrastiveLossParameter> ContrastiveLossParameter_default_instance_;
24685
24686 ContrastiveLossParameter* ContrastiveLossParameter::New(::google::protobuf::Arena* arena) const {
24687   ContrastiveLossParameter* n = new ContrastiveLossParameter;
24688   if (arena != NULL) {
24689     arena->Own(n);
24690   }
24691   return n;
24692 }
24693
24694 void ContrastiveLossParameter::Clear() {
24695 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ContrastiveLossParameter)
24696   if (_has_bits_[0 / 32] & 3u) {
24697     margin_ = 1;
24698     legacy_version_ = false;
24699   }
24700   _has_bits_.Clear();
24701   if (_internal_metadata_.have_unknown_fields()) {
24702     mutable_unknown_fields()->Clear();
24703   }
24704 }
24705
24706 bool ContrastiveLossParameter::MergePartialFromCodedStream(
24707     ::google::protobuf::io::CodedInputStream* input) {
24708 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
24709   ::google::protobuf::uint32 tag;
24710   // @@protoc_insertion_point(parse_start:opencv_caffe.ContrastiveLossParameter)
24711   for (;;) {
24712     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
24713     tag = p.first;
24714     if (!p.second) goto handle_unusual;
24715     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
24716       // optional float margin = 1 [default = 1];
24717       case 1: {
24718         if (tag == 13) {
24719           set_has_margin();
24720           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
24721                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
24722                  input, &margin_)));
24723         } else {
24724           goto handle_unusual;
24725         }
24726         if (input->ExpectTag(16)) goto parse_legacy_version;
24727         break;
24728       }
24729
24730       // optional bool legacy_version = 2 [default = false];
24731       case 2: {
24732         if (tag == 16) {
24733          parse_legacy_version:
24734           set_has_legacy_version();
24735           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
24736                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
24737                  input, &legacy_version_)));
24738         } else {
24739           goto handle_unusual;
24740         }
24741         if (input->ExpectAtEnd()) goto success;
24742         break;
24743       }
24744
24745       default: {
24746       handle_unusual:
24747         if (tag == 0 ||
24748             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
24749             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
24750           goto success;
24751         }
24752         DO_(::google::protobuf::internal::WireFormat::SkipField(
24753               input, tag, mutable_unknown_fields()));
24754         break;
24755       }
24756     }
24757   }
24758 success:
24759   // @@protoc_insertion_point(parse_success:opencv_caffe.ContrastiveLossParameter)
24760   return true;
24761 failure:
24762   // @@protoc_insertion_point(parse_failure:opencv_caffe.ContrastiveLossParameter)
24763   return false;
24764 #undef DO_
24765 }
24766
24767 void ContrastiveLossParameter::SerializeWithCachedSizes(
24768     ::google::protobuf::io::CodedOutputStream* output) const {
24769   // @@protoc_insertion_point(serialize_start:opencv_caffe.ContrastiveLossParameter)
24770   // optional float margin = 1 [default = 1];
24771   if (has_margin()) {
24772     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->margin(), output);
24773   }
24774
24775   // optional bool legacy_version = 2 [default = false];
24776   if (has_legacy_version()) {
24777     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->legacy_version(), output);
24778   }
24779
24780   if (_internal_metadata_.have_unknown_fields()) {
24781     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
24782         unknown_fields(), output);
24783   }
24784   // @@protoc_insertion_point(serialize_end:opencv_caffe.ContrastiveLossParameter)
24785 }
24786
24787 ::google::protobuf::uint8* ContrastiveLossParameter::InternalSerializeWithCachedSizesToArray(
24788     bool deterministic, ::google::protobuf::uint8* target) const {
24789   (void)deterministic; // Unused
24790   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ContrastiveLossParameter)
24791   // optional float margin = 1 [default = 1];
24792   if (has_margin()) {
24793     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->margin(), target);
24794   }
24795
24796   // optional bool legacy_version = 2 [default = false];
24797   if (has_legacy_version()) {
24798     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->legacy_version(), target);
24799   }
24800
24801   if (_internal_metadata_.have_unknown_fields()) {
24802     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
24803         unknown_fields(), target);
24804   }
24805   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ContrastiveLossParameter)
24806   return target;
24807 }
24808
24809 size_t ContrastiveLossParameter::ByteSizeLong() const {
24810 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ContrastiveLossParameter)
24811   size_t total_size = 0;
24812
24813   if (_has_bits_[0 / 32] & 3u) {
24814     // optional float margin = 1 [default = 1];
24815     if (has_margin()) {
24816       total_size += 1 + 4;
24817     }
24818
24819     // optional bool legacy_version = 2 [default = false];
24820     if (has_legacy_version()) {
24821       total_size += 1 + 1;
24822     }
24823
24824   }
24825   if (_internal_metadata_.have_unknown_fields()) {
24826     total_size +=
24827       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
24828         unknown_fields());
24829   }
24830   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
24831   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
24832   _cached_size_ = cached_size;
24833   GOOGLE_SAFE_CONCURRENT_WRITES_END();
24834   return total_size;
24835 }
24836
24837 void ContrastiveLossParameter::MergeFrom(const ::google::protobuf::Message& from) {
24838 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ContrastiveLossParameter)
24839   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
24840   const ContrastiveLossParameter* source =
24841       ::google::protobuf::internal::DynamicCastToGenerated<const ContrastiveLossParameter>(
24842           &from);
24843   if (source == NULL) {
24844   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ContrastiveLossParameter)
24845     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
24846   } else {
24847   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ContrastiveLossParameter)
24848     UnsafeMergeFrom(*source);
24849   }
24850 }
24851
24852 void ContrastiveLossParameter::MergeFrom(const ContrastiveLossParameter& from) {
24853 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ContrastiveLossParameter)
24854   if (GOOGLE_PREDICT_TRUE(&from != this)) {
24855     UnsafeMergeFrom(from);
24856   } else {
24857     MergeFromFail(__LINE__);
24858   }
24859 }
24860
24861 void ContrastiveLossParameter::UnsafeMergeFrom(const ContrastiveLossParameter& from) {
24862   GOOGLE_DCHECK(&from != this);
24863   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
24864     if (from.has_margin()) {
24865       set_margin(from.margin());
24866     }
24867     if (from.has_legacy_version()) {
24868       set_legacy_version(from.legacy_version());
24869     }
24870   }
24871   if (from._internal_metadata_.have_unknown_fields()) {
24872     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
24873       from.unknown_fields(), &_internal_metadata_);
24874   }
24875 }
24876
24877 void ContrastiveLossParameter::CopyFrom(const ::google::protobuf::Message& from) {
24878 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ContrastiveLossParameter)
24879   if (&from == this) return;
24880   Clear();
24881   MergeFrom(from);
24882 }
24883
24884 void ContrastiveLossParameter::CopyFrom(const ContrastiveLossParameter& from) {
24885 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ContrastiveLossParameter)
24886   if (&from == this) return;
24887   Clear();
24888   UnsafeMergeFrom(from);
24889 }
24890
24891 bool ContrastiveLossParameter::IsInitialized() const {
24892
24893   return true;
24894 }
24895
24896 void ContrastiveLossParameter::Swap(ContrastiveLossParameter* other) {
24897   if (other == this) return;
24898   InternalSwap(other);
24899 }
24900 void ContrastiveLossParameter::InternalSwap(ContrastiveLossParameter* other) {
24901   std::swap(margin_, other->margin_);
24902   std::swap(legacy_version_, other->legacy_version_);
24903   std::swap(_has_bits_[0], other->_has_bits_[0]);
24904   _internal_metadata_.Swap(&other->_internal_metadata_);
24905   std::swap(_cached_size_, other->_cached_size_);
24906 }
24907
24908 ::google::protobuf::Metadata ContrastiveLossParameter::GetMetadata() const {
24909   protobuf_AssignDescriptorsOnce();
24910   ::google::protobuf::Metadata metadata;
24911   metadata.descriptor = ContrastiveLossParameter_descriptor_;
24912   metadata.reflection = ContrastiveLossParameter_reflection_;
24913   return metadata;
24914 }
24915
24916 #if PROTOBUF_INLINE_NOT_IN_HEADERS
24917 // ContrastiveLossParameter
24918
24919 // optional float margin = 1 [default = 1];
24920 bool ContrastiveLossParameter::has_margin() const {
24921   return (_has_bits_[0] & 0x00000001u) != 0;
24922 }
24923 void ContrastiveLossParameter::set_has_margin() {
24924   _has_bits_[0] |= 0x00000001u;
24925 }
24926 void ContrastiveLossParameter::clear_has_margin() {
24927   _has_bits_[0] &= ~0x00000001u;
24928 }
24929 void ContrastiveLossParameter::clear_margin() {
24930   margin_ = 1;
24931   clear_has_margin();
24932 }
24933 float ContrastiveLossParameter::margin() const {
24934   // @@protoc_insertion_point(field_get:opencv_caffe.ContrastiveLossParameter.margin)
24935   return margin_;
24936 }
24937 void ContrastiveLossParameter::set_margin(float value) {
24938   set_has_margin();
24939   margin_ = value;
24940   // @@protoc_insertion_point(field_set:opencv_caffe.ContrastiveLossParameter.margin)
24941 }
24942
24943 // optional bool legacy_version = 2 [default = false];
24944 bool ContrastiveLossParameter::has_legacy_version() const {
24945   return (_has_bits_[0] & 0x00000002u) != 0;
24946 }
24947 void ContrastiveLossParameter::set_has_legacy_version() {
24948   _has_bits_[0] |= 0x00000002u;
24949 }
24950 void ContrastiveLossParameter::clear_has_legacy_version() {
24951   _has_bits_[0] &= ~0x00000002u;
24952 }
24953 void ContrastiveLossParameter::clear_legacy_version() {
24954   legacy_version_ = false;
24955   clear_has_legacy_version();
24956 }
24957 bool ContrastiveLossParameter::legacy_version() const {
24958   // @@protoc_insertion_point(field_get:opencv_caffe.ContrastiveLossParameter.legacy_version)
24959   return legacy_version_;
24960 }
24961 void ContrastiveLossParameter::set_legacy_version(bool value) {
24962   set_has_legacy_version();
24963   legacy_version_ = value;
24964   // @@protoc_insertion_point(field_set:opencv_caffe.ContrastiveLossParameter.legacy_version)
24965 }
24966
24967 inline const ContrastiveLossParameter* ContrastiveLossParameter::internal_default_instance() {
24968   return &ContrastiveLossParameter_default_instance_.get();
24969 }
24970 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
24971
24972 // ===================================================================
24973
24974 const ::google::protobuf::EnumDescriptor* ConvolutionParameter_Engine_descriptor() {
24975   protobuf_AssignDescriptorsOnce();
24976   return ConvolutionParameter_Engine_descriptor_;
24977 }
24978 bool ConvolutionParameter_Engine_IsValid(int value) {
24979   switch (value) {
24980     case 0:
24981     case 1:
24982     case 2:
24983       return true;
24984     default:
24985       return false;
24986   }
24987 }
24988
24989 #if !defined(_MSC_VER) || _MSC_VER >= 1900
24990 const ConvolutionParameter_Engine ConvolutionParameter::DEFAULT;
24991 const ConvolutionParameter_Engine ConvolutionParameter::CAFFE;
24992 const ConvolutionParameter_Engine ConvolutionParameter::CUDNN;
24993 const ConvolutionParameter_Engine ConvolutionParameter::Engine_MIN;
24994 const ConvolutionParameter_Engine ConvolutionParameter::Engine_MAX;
24995 const int ConvolutionParameter::Engine_ARRAYSIZE;
24996 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
24997 #if !defined(_MSC_VER) || _MSC_VER >= 1900
24998 const int ConvolutionParameter::kNumOutputFieldNumber;
24999 const int ConvolutionParameter::kBiasTermFieldNumber;
25000 const int ConvolutionParameter::kPadFieldNumber;
25001 const int ConvolutionParameter::kKernelSizeFieldNumber;
25002 const int ConvolutionParameter::kStrideFieldNumber;
25003 const int ConvolutionParameter::kDilationFieldNumber;
25004 const int ConvolutionParameter::kPadHFieldNumber;
25005 const int ConvolutionParameter::kPadWFieldNumber;
25006 const int ConvolutionParameter::kKernelHFieldNumber;
25007 const int ConvolutionParameter::kKernelWFieldNumber;
25008 const int ConvolutionParameter::kStrideHFieldNumber;
25009 const int ConvolutionParameter::kStrideWFieldNumber;
25010 const int ConvolutionParameter::kGroupFieldNumber;
25011 const int ConvolutionParameter::kWeightFillerFieldNumber;
25012 const int ConvolutionParameter::kBiasFillerFieldNumber;
25013 const int ConvolutionParameter::kEngineFieldNumber;
25014 const int ConvolutionParameter::kAxisFieldNumber;
25015 const int ConvolutionParameter::kForceNdIm2ColFieldNumber;
25016 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
25017
25018 ConvolutionParameter::ConvolutionParameter()
25019   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
25020   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
25021   SharedCtor();
25022   // @@protoc_insertion_point(constructor:opencv_caffe.ConvolutionParameter)
25023 }
25024
25025 void ConvolutionParameter::InitAsDefaultInstance() {
25026   weight_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
25027       ::opencv_caffe::FillerParameter::internal_default_instance());
25028   bias_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
25029       ::opencv_caffe::FillerParameter::internal_default_instance());
25030 }
25031
25032 ConvolutionParameter::ConvolutionParameter(const ConvolutionParameter& from)
25033   : ::google::protobuf::Message(),
25034     _internal_metadata_(NULL) {
25035   SharedCtor();
25036   UnsafeMergeFrom(from);
25037   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ConvolutionParameter)
25038 }
25039
25040 void ConvolutionParameter::SharedCtor() {
25041   _cached_size_ = 0;
25042   weight_filler_ = NULL;
25043   bias_filler_ = NULL;
25044   ::memset(&num_output_, 0, reinterpret_cast<char*>(&force_nd_im2col_) -
25045     reinterpret_cast<char*>(&num_output_) + sizeof(force_nd_im2col_));
25046   axis_ = 1;
25047   bias_term_ = true;
25048   group_ = 1u;
25049 }
25050
25051 ConvolutionParameter::~ConvolutionParameter() {
25052   // @@protoc_insertion_point(destructor:opencv_caffe.ConvolutionParameter)
25053   SharedDtor();
25054 }
25055
25056 void ConvolutionParameter::SharedDtor() {
25057   if (this != &ConvolutionParameter_default_instance_.get()) {
25058     delete weight_filler_;
25059     delete bias_filler_;
25060   }
25061 }
25062
25063 void ConvolutionParameter::SetCachedSize(int size) const {
25064   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
25065   _cached_size_ = size;
25066   GOOGLE_SAFE_CONCURRENT_WRITES_END();
25067 }
25068 const ::google::protobuf::Descriptor* ConvolutionParameter::descriptor() {
25069   protobuf_AssignDescriptorsOnce();
25070   return ConvolutionParameter_descriptor_;
25071 }
25072
25073 const ConvolutionParameter& ConvolutionParameter::default_instance() {
25074   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
25075   return *internal_default_instance();
25076 }
25077
25078 ::google::protobuf::internal::ExplicitlyConstructed<ConvolutionParameter> ConvolutionParameter_default_instance_;
25079
25080 ConvolutionParameter* ConvolutionParameter::New(::google::protobuf::Arena* arena) const {
25081   ConvolutionParameter* n = new ConvolutionParameter;
25082   if (arena != NULL) {
25083     arena->Own(n);
25084   }
25085   return n;
25086 }
25087
25088 void ConvolutionParameter::Clear() {
25089 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ConvolutionParameter)
25090 #if defined(__clang__)
25091 #define ZR_HELPER_(f) \
25092   _Pragma("clang diagnostic push") \
25093   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
25094   __builtin_offsetof(ConvolutionParameter, f) \
25095   _Pragma("clang diagnostic pop")
25096 #else
25097 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
25098   &reinterpret_cast<ConvolutionParameter*>(16)->f)
25099 #endif
25100
25101 #define ZR_(first, last) do {\
25102   ::memset(&(first), 0,\
25103            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
25104 } while (0)
25105
25106   if (_has_bits_[0 / 32] & 195u) {
25107     ZR_(num_output_, pad_w_);
25108     bias_term_ = true;
25109   }
25110   if (_has_bits_[8 / 32] & 65280u) {
25111     ZR_(kernel_h_, engine_);
25112     group_ = 1u;
25113     if (has_weight_filler()) {
25114       if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
25115     }
25116     if (has_bias_filler()) {
25117       if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
25118     }
25119   }
25120   if (_has_bits_[16 / 32] & 196608u) {
25121     axis_ = 1;
25122     force_nd_im2col_ = false;
25123   }
25124
25125 #undef ZR_HELPER_
25126 #undef ZR_
25127
25128   pad_.Clear();
25129   kernel_size_.Clear();
25130   stride_.Clear();
25131   dilation_.Clear();
25132   _has_bits_.Clear();
25133   if (_internal_metadata_.have_unknown_fields()) {
25134     mutable_unknown_fields()->Clear();
25135   }
25136 }
25137
25138 bool ConvolutionParameter::MergePartialFromCodedStream(
25139     ::google::protobuf::io::CodedInputStream* input) {
25140 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
25141   ::google::protobuf::uint32 tag;
25142   // @@protoc_insertion_point(parse_start:opencv_caffe.ConvolutionParameter)
25143   for (;;) {
25144     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
25145     tag = p.first;
25146     if (!p.second) goto handle_unusual;
25147     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
25148       // optional uint32 num_output = 1;
25149       case 1: {
25150         if (tag == 8) {
25151           set_has_num_output();
25152           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25153                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25154                  input, &num_output_)));
25155         } else {
25156           goto handle_unusual;
25157         }
25158         if (input->ExpectTag(16)) goto parse_bias_term;
25159         break;
25160       }
25161
25162       // optional bool bias_term = 2 [default = true];
25163       case 2: {
25164         if (tag == 16) {
25165          parse_bias_term:
25166           set_has_bias_term();
25167           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25168                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
25169                  input, &bias_term_)));
25170         } else {
25171           goto handle_unusual;
25172         }
25173         if (input->ExpectTag(24)) goto parse_pad;
25174         break;
25175       }
25176
25177       // repeated uint32 pad = 3;
25178       case 3: {
25179         if (tag == 24) {
25180          parse_pad:
25181           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
25182                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25183                  1, 24, input, this->mutable_pad())));
25184         } else if (tag == 26) {
25185           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
25186                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25187                  input, this->mutable_pad())));
25188         } else {
25189           goto handle_unusual;
25190         }
25191         if (input->ExpectTag(24)) goto parse_pad;
25192         if (input->ExpectTag(32)) goto parse_kernel_size;
25193         break;
25194       }
25195
25196       // repeated uint32 kernel_size = 4;
25197       case 4: {
25198         if (tag == 32) {
25199          parse_kernel_size:
25200           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
25201                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25202                  1, 32, input, this->mutable_kernel_size())));
25203         } else if (tag == 34) {
25204           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
25205                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25206                  input, this->mutable_kernel_size())));
25207         } else {
25208           goto handle_unusual;
25209         }
25210         if (input->ExpectTag(32)) goto parse_kernel_size;
25211         if (input->ExpectTag(40)) goto parse_group;
25212         break;
25213       }
25214
25215       // optional uint32 group = 5 [default = 1];
25216       case 5: {
25217         if (tag == 40) {
25218          parse_group:
25219           set_has_group();
25220           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25221                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25222                  input, &group_)));
25223         } else {
25224           goto handle_unusual;
25225         }
25226         if (input->ExpectTag(48)) goto parse_stride;
25227         break;
25228       }
25229
25230       // repeated uint32 stride = 6;
25231       case 6: {
25232         if (tag == 48) {
25233          parse_stride:
25234           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
25235                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25236                  1, 48, input, this->mutable_stride())));
25237         } else if (tag == 50) {
25238           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
25239                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25240                  input, this->mutable_stride())));
25241         } else {
25242           goto handle_unusual;
25243         }
25244         if (input->ExpectTag(48)) goto parse_stride;
25245         if (input->ExpectTag(58)) goto parse_weight_filler;
25246         break;
25247       }
25248
25249       // optional .opencv_caffe.FillerParameter weight_filler = 7;
25250       case 7: {
25251         if (tag == 58) {
25252          parse_weight_filler:
25253           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
25254                input, mutable_weight_filler()));
25255         } else {
25256           goto handle_unusual;
25257         }
25258         if (input->ExpectTag(66)) goto parse_bias_filler;
25259         break;
25260       }
25261
25262       // optional .opencv_caffe.FillerParameter bias_filler = 8;
25263       case 8: {
25264         if (tag == 66) {
25265          parse_bias_filler:
25266           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
25267                input, mutable_bias_filler()));
25268         } else {
25269           goto handle_unusual;
25270         }
25271         if (input->ExpectTag(72)) goto parse_pad_h;
25272         break;
25273       }
25274
25275       // optional uint32 pad_h = 9 [default = 0];
25276       case 9: {
25277         if (tag == 72) {
25278          parse_pad_h:
25279           set_has_pad_h();
25280           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25281                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25282                  input, &pad_h_)));
25283         } else {
25284           goto handle_unusual;
25285         }
25286         if (input->ExpectTag(80)) goto parse_pad_w;
25287         break;
25288       }
25289
25290       // optional uint32 pad_w = 10 [default = 0];
25291       case 10: {
25292         if (tag == 80) {
25293          parse_pad_w:
25294           set_has_pad_w();
25295           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25296                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25297                  input, &pad_w_)));
25298         } else {
25299           goto handle_unusual;
25300         }
25301         if (input->ExpectTag(88)) goto parse_kernel_h;
25302         break;
25303       }
25304
25305       // optional uint32 kernel_h = 11;
25306       case 11: {
25307         if (tag == 88) {
25308          parse_kernel_h:
25309           set_has_kernel_h();
25310           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25311                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25312                  input, &kernel_h_)));
25313         } else {
25314           goto handle_unusual;
25315         }
25316         if (input->ExpectTag(96)) goto parse_kernel_w;
25317         break;
25318       }
25319
25320       // optional uint32 kernel_w = 12;
25321       case 12: {
25322         if (tag == 96) {
25323          parse_kernel_w:
25324           set_has_kernel_w();
25325           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25326                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25327                  input, &kernel_w_)));
25328         } else {
25329           goto handle_unusual;
25330         }
25331         if (input->ExpectTag(104)) goto parse_stride_h;
25332         break;
25333       }
25334
25335       // optional uint32 stride_h = 13;
25336       case 13: {
25337         if (tag == 104) {
25338          parse_stride_h:
25339           set_has_stride_h();
25340           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25341                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25342                  input, &stride_h_)));
25343         } else {
25344           goto handle_unusual;
25345         }
25346         if (input->ExpectTag(112)) goto parse_stride_w;
25347         break;
25348       }
25349
25350       // optional uint32 stride_w = 14;
25351       case 14: {
25352         if (tag == 112) {
25353          parse_stride_w:
25354           set_has_stride_w();
25355           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25356                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25357                  input, &stride_w_)));
25358         } else {
25359           goto handle_unusual;
25360         }
25361         if (input->ExpectTag(120)) goto parse_engine;
25362         break;
25363       }
25364
25365       // optional .opencv_caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT];
25366       case 15: {
25367         if (tag == 120) {
25368          parse_engine:
25369           int value;
25370           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25371                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
25372                  input, &value)));
25373           if (::opencv_caffe::ConvolutionParameter_Engine_IsValid(value)) {
25374             set_engine(static_cast< ::opencv_caffe::ConvolutionParameter_Engine >(value));
25375           } else {
25376             mutable_unknown_fields()->AddVarint(15, value);
25377           }
25378         } else {
25379           goto handle_unusual;
25380         }
25381         if (input->ExpectTag(128)) goto parse_axis;
25382         break;
25383       }
25384
25385       // optional int32 axis = 16 [default = 1];
25386       case 16: {
25387         if (tag == 128) {
25388          parse_axis:
25389           set_has_axis();
25390           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25391                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
25392                  input, &axis_)));
25393         } else {
25394           goto handle_unusual;
25395         }
25396         if (input->ExpectTag(136)) goto parse_force_nd_im2col;
25397         break;
25398       }
25399
25400       // optional bool force_nd_im2col = 17 [default = false];
25401       case 17: {
25402         if (tag == 136) {
25403          parse_force_nd_im2col:
25404           set_has_force_nd_im2col();
25405           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25406                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
25407                  input, &force_nd_im2col_)));
25408         } else {
25409           goto handle_unusual;
25410         }
25411         if (input->ExpectTag(144)) goto parse_dilation;
25412         break;
25413       }
25414
25415       // repeated uint32 dilation = 18;
25416       case 18: {
25417         if (tag == 144) {
25418          parse_dilation:
25419           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
25420                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25421                  2, 144, input, this->mutable_dilation())));
25422         } else if (tag == 146) {
25423           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
25424                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25425                  input, this->mutable_dilation())));
25426         } else {
25427           goto handle_unusual;
25428         }
25429         if (input->ExpectTag(144)) goto parse_dilation;
25430         if (input->ExpectAtEnd()) goto success;
25431         break;
25432       }
25433
25434       default: {
25435       handle_unusual:
25436         if (tag == 0 ||
25437             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
25438             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
25439           goto success;
25440         }
25441         DO_(::google::protobuf::internal::WireFormat::SkipField(
25442               input, tag, mutable_unknown_fields()));
25443         break;
25444       }
25445     }
25446   }
25447 success:
25448   // @@protoc_insertion_point(parse_success:opencv_caffe.ConvolutionParameter)
25449   return true;
25450 failure:
25451   // @@protoc_insertion_point(parse_failure:opencv_caffe.ConvolutionParameter)
25452   return false;
25453 #undef DO_
25454 }
25455
25456 void ConvolutionParameter::SerializeWithCachedSizes(
25457     ::google::protobuf::io::CodedOutputStream* output) const {
25458   // @@protoc_insertion_point(serialize_start:opencv_caffe.ConvolutionParameter)
25459   // optional uint32 num_output = 1;
25460   if (has_num_output()) {
25461     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->num_output(), output);
25462   }
25463
25464   // optional bool bias_term = 2 [default = true];
25465   if (has_bias_term()) {
25466     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->bias_term(), output);
25467   }
25468
25469   // repeated uint32 pad = 3;
25470   for (int i = 0; i < this->pad_size(); i++) {
25471     ::google::protobuf::internal::WireFormatLite::WriteUInt32(
25472       3, this->pad(i), output);
25473   }
25474
25475   // repeated uint32 kernel_size = 4;
25476   for (int i = 0; i < this->kernel_size_size(); i++) {
25477     ::google::protobuf::internal::WireFormatLite::WriteUInt32(
25478       4, this->kernel_size(i), output);
25479   }
25480
25481   // optional uint32 group = 5 [default = 1];
25482   if (has_group()) {
25483     ::google::protobuf::internal::WireFormatLite::WriteUInt32(5, this->group(), output);
25484   }
25485
25486   // repeated uint32 stride = 6;
25487   for (int i = 0; i < this->stride_size(); i++) {
25488     ::google::protobuf::internal::WireFormatLite::WriteUInt32(
25489       6, this->stride(i), output);
25490   }
25491
25492   // optional .opencv_caffe.FillerParameter weight_filler = 7;
25493   if (has_weight_filler()) {
25494     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
25495       7, *this->weight_filler_, output);
25496   }
25497
25498   // optional .opencv_caffe.FillerParameter bias_filler = 8;
25499   if (has_bias_filler()) {
25500     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
25501       8, *this->bias_filler_, output);
25502   }
25503
25504   // optional uint32 pad_h = 9 [default = 0];
25505   if (has_pad_h()) {
25506     ::google::protobuf::internal::WireFormatLite::WriteUInt32(9, this->pad_h(), output);
25507   }
25508
25509   // optional uint32 pad_w = 10 [default = 0];
25510   if (has_pad_w()) {
25511     ::google::protobuf::internal::WireFormatLite::WriteUInt32(10, this->pad_w(), output);
25512   }
25513
25514   // optional uint32 kernel_h = 11;
25515   if (has_kernel_h()) {
25516     ::google::protobuf::internal::WireFormatLite::WriteUInt32(11, this->kernel_h(), output);
25517   }
25518
25519   // optional uint32 kernel_w = 12;
25520   if (has_kernel_w()) {
25521     ::google::protobuf::internal::WireFormatLite::WriteUInt32(12, this->kernel_w(), output);
25522   }
25523
25524   // optional uint32 stride_h = 13;
25525   if (has_stride_h()) {
25526     ::google::protobuf::internal::WireFormatLite::WriteUInt32(13, this->stride_h(), output);
25527   }
25528
25529   // optional uint32 stride_w = 14;
25530   if (has_stride_w()) {
25531     ::google::protobuf::internal::WireFormatLite::WriteUInt32(14, this->stride_w(), output);
25532   }
25533
25534   // optional .opencv_caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT];
25535   if (has_engine()) {
25536     ::google::protobuf::internal::WireFormatLite::WriteEnum(
25537       15, this->engine(), output);
25538   }
25539
25540   // optional int32 axis = 16 [default = 1];
25541   if (has_axis()) {
25542     ::google::protobuf::internal::WireFormatLite::WriteInt32(16, this->axis(), output);
25543   }
25544
25545   // optional bool force_nd_im2col = 17 [default = false];
25546   if (has_force_nd_im2col()) {
25547     ::google::protobuf::internal::WireFormatLite::WriteBool(17, this->force_nd_im2col(), output);
25548   }
25549
25550   // repeated uint32 dilation = 18;
25551   for (int i = 0; i < this->dilation_size(); i++) {
25552     ::google::protobuf::internal::WireFormatLite::WriteUInt32(
25553       18, this->dilation(i), output);
25554   }
25555
25556   if (_internal_metadata_.have_unknown_fields()) {
25557     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
25558         unknown_fields(), output);
25559   }
25560   // @@protoc_insertion_point(serialize_end:opencv_caffe.ConvolutionParameter)
25561 }
25562
25563 ::google::protobuf::uint8* ConvolutionParameter::InternalSerializeWithCachedSizesToArray(
25564     bool deterministic, ::google::protobuf::uint8* target) const {
25565   (void)deterministic; // Unused
25566   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ConvolutionParameter)
25567   // optional uint32 num_output = 1;
25568   if (has_num_output()) {
25569     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->num_output(), target);
25570   }
25571
25572   // optional bool bias_term = 2 [default = true];
25573   if (has_bias_term()) {
25574     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->bias_term(), target);
25575   }
25576
25577   // repeated uint32 pad = 3;
25578   for (int i = 0; i < this->pad_size(); i++) {
25579     target = ::google::protobuf::internal::WireFormatLite::
25580       WriteUInt32ToArray(3, this->pad(i), target);
25581   }
25582
25583   // repeated uint32 kernel_size = 4;
25584   for (int i = 0; i < this->kernel_size_size(); i++) {
25585     target = ::google::protobuf::internal::WireFormatLite::
25586       WriteUInt32ToArray(4, this->kernel_size(i), target);
25587   }
25588
25589   // optional uint32 group = 5 [default = 1];
25590   if (has_group()) {
25591     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(5, this->group(), target);
25592   }
25593
25594   // repeated uint32 stride = 6;
25595   for (int i = 0; i < this->stride_size(); i++) {
25596     target = ::google::protobuf::internal::WireFormatLite::
25597       WriteUInt32ToArray(6, this->stride(i), target);
25598   }
25599
25600   // optional .opencv_caffe.FillerParameter weight_filler = 7;
25601   if (has_weight_filler()) {
25602     target = ::google::protobuf::internal::WireFormatLite::
25603       InternalWriteMessageNoVirtualToArray(
25604         7, *this->weight_filler_, false, target);
25605   }
25606
25607   // optional .opencv_caffe.FillerParameter bias_filler = 8;
25608   if (has_bias_filler()) {
25609     target = ::google::protobuf::internal::WireFormatLite::
25610       InternalWriteMessageNoVirtualToArray(
25611         8, *this->bias_filler_, false, target);
25612   }
25613
25614   // optional uint32 pad_h = 9 [default = 0];
25615   if (has_pad_h()) {
25616     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(9, this->pad_h(), target);
25617   }
25618
25619   // optional uint32 pad_w = 10 [default = 0];
25620   if (has_pad_w()) {
25621     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(10, this->pad_w(), target);
25622   }
25623
25624   // optional uint32 kernel_h = 11;
25625   if (has_kernel_h()) {
25626     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(11, this->kernel_h(), target);
25627   }
25628
25629   // optional uint32 kernel_w = 12;
25630   if (has_kernel_w()) {
25631     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(12, this->kernel_w(), target);
25632   }
25633
25634   // optional uint32 stride_h = 13;
25635   if (has_stride_h()) {
25636     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(13, this->stride_h(), target);
25637   }
25638
25639   // optional uint32 stride_w = 14;
25640   if (has_stride_w()) {
25641     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(14, this->stride_w(), target);
25642   }
25643
25644   // optional .opencv_caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT];
25645   if (has_engine()) {
25646     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
25647       15, this->engine(), target);
25648   }
25649
25650   // optional int32 axis = 16 [default = 1];
25651   if (has_axis()) {
25652     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(16, this->axis(), target);
25653   }
25654
25655   // optional bool force_nd_im2col = 17 [default = false];
25656   if (has_force_nd_im2col()) {
25657     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(17, this->force_nd_im2col(), target);
25658   }
25659
25660   // repeated uint32 dilation = 18;
25661   for (int i = 0; i < this->dilation_size(); i++) {
25662     target = ::google::protobuf::internal::WireFormatLite::
25663       WriteUInt32ToArray(18, this->dilation(i), target);
25664   }
25665
25666   if (_internal_metadata_.have_unknown_fields()) {
25667     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
25668         unknown_fields(), target);
25669   }
25670   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ConvolutionParameter)
25671   return target;
25672 }
25673
25674 size_t ConvolutionParameter::ByteSizeLong() const {
25675 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ConvolutionParameter)
25676   size_t total_size = 0;
25677
25678   if (_has_bits_[0 / 32] & 195u) {
25679     // optional uint32 num_output = 1;
25680     if (has_num_output()) {
25681       total_size += 1 +
25682         ::google::protobuf::internal::WireFormatLite::UInt32Size(
25683           this->num_output());
25684     }
25685
25686     // optional bool bias_term = 2 [default = true];
25687     if (has_bias_term()) {
25688       total_size += 1 + 1;
25689     }
25690
25691     // optional uint32 pad_h = 9 [default = 0];
25692     if (has_pad_h()) {
25693       total_size += 1 +
25694         ::google::protobuf::internal::WireFormatLite::UInt32Size(
25695           this->pad_h());
25696     }
25697
25698     // optional uint32 pad_w = 10 [default = 0];
25699     if (has_pad_w()) {
25700       total_size += 1 +
25701         ::google::protobuf::internal::WireFormatLite::UInt32Size(
25702           this->pad_w());
25703     }
25704
25705   }
25706   if (_has_bits_[8 / 32] & 65280u) {
25707     // optional uint32 kernel_h = 11;
25708     if (has_kernel_h()) {
25709       total_size += 1 +
25710         ::google::protobuf::internal::WireFormatLite::UInt32Size(
25711           this->kernel_h());
25712     }
25713
25714     // optional uint32 kernel_w = 12;
25715     if (has_kernel_w()) {
25716       total_size += 1 +
25717         ::google::protobuf::internal::WireFormatLite::UInt32Size(
25718           this->kernel_w());
25719     }
25720
25721     // optional uint32 stride_h = 13;
25722     if (has_stride_h()) {
25723       total_size += 1 +
25724         ::google::protobuf::internal::WireFormatLite::UInt32Size(
25725           this->stride_h());
25726     }
25727
25728     // optional uint32 stride_w = 14;
25729     if (has_stride_w()) {
25730       total_size += 1 +
25731         ::google::protobuf::internal::WireFormatLite::UInt32Size(
25732           this->stride_w());
25733     }
25734
25735     // optional uint32 group = 5 [default = 1];
25736     if (has_group()) {
25737       total_size += 1 +
25738         ::google::protobuf::internal::WireFormatLite::UInt32Size(
25739           this->group());
25740     }
25741
25742     // optional .opencv_caffe.FillerParameter weight_filler = 7;
25743     if (has_weight_filler()) {
25744       total_size += 1 +
25745         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
25746           *this->weight_filler_);
25747     }
25748
25749     // optional .opencv_caffe.FillerParameter bias_filler = 8;
25750     if (has_bias_filler()) {
25751       total_size += 1 +
25752         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
25753           *this->bias_filler_);
25754     }
25755
25756     // optional .opencv_caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT];
25757     if (has_engine()) {
25758       total_size += 1 +
25759         ::google::protobuf::internal::WireFormatLite::EnumSize(this->engine());
25760     }
25761
25762   }
25763   if (_has_bits_[16 / 32] & 196608u) {
25764     // optional int32 axis = 16 [default = 1];
25765     if (has_axis()) {
25766       total_size += 2 +
25767         ::google::protobuf::internal::WireFormatLite::Int32Size(
25768           this->axis());
25769     }
25770
25771     // optional bool force_nd_im2col = 17 [default = false];
25772     if (has_force_nd_im2col()) {
25773       total_size += 2 + 1;
25774     }
25775
25776   }
25777   // repeated uint32 pad = 3;
25778   {
25779     size_t data_size = 0;
25780     unsigned int count = this->pad_size();
25781     for (unsigned int i = 0; i < count; i++) {
25782       data_size += ::google::protobuf::internal::WireFormatLite::
25783         UInt32Size(this->pad(i));
25784     }
25785     total_size += 1 *
25786                   ::google::protobuf::internal::FromIntSize(this->pad_size());
25787     total_size += data_size;
25788   }
25789
25790   // repeated uint32 kernel_size = 4;
25791   {
25792     size_t data_size = 0;
25793     unsigned int count = this->kernel_size_size();
25794     for (unsigned int i = 0; i < count; i++) {
25795       data_size += ::google::protobuf::internal::WireFormatLite::
25796         UInt32Size(this->kernel_size(i));
25797     }
25798     total_size += 1 *
25799                   ::google::protobuf::internal::FromIntSize(this->kernel_size_size());
25800     total_size += data_size;
25801   }
25802
25803   // repeated uint32 stride = 6;
25804   {
25805     size_t data_size = 0;
25806     unsigned int count = this->stride_size();
25807     for (unsigned int i = 0; i < count; i++) {
25808       data_size += ::google::protobuf::internal::WireFormatLite::
25809         UInt32Size(this->stride(i));
25810     }
25811     total_size += 1 *
25812                   ::google::protobuf::internal::FromIntSize(this->stride_size());
25813     total_size += data_size;
25814   }
25815
25816   // repeated uint32 dilation = 18;
25817   {
25818     size_t data_size = 0;
25819     unsigned int count = this->dilation_size();
25820     for (unsigned int i = 0; i < count; i++) {
25821       data_size += ::google::protobuf::internal::WireFormatLite::
25822         UInt32Size(this->dilation(i));
25823     }
25824     total_size += 2 *
25825                   ::google::protobuf::internal::FromIntSize(this->dilation_size());
25826     total_size += data_size;
25827   }
25828
25829   if (_internal_metadata_.have_unknown_fields()) {
25830     total_size +=
25831       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
25832         unknown_fields());
25833   }
25834   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
25835   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
25836   _cached_size_ = cached_size;
25837   GOOGLE_SAFE_CONCURRENT_WRITES_END();
25838   return total_size;
25839 }
25840
25841 void ConvolutionParameter::MergeFrom(const ::google::protobuf::Message& from) {
25842 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ConvolutionParameter)
25843   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
25844   const ConvolutionParameter* source =
25845       ::google::protobuf::internal::DynamicCastToGenerated<const ConvolutionParameter>(
25846           &from);
25847   if (source == NULL) {
25848   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ConvolutionParameter)
25849     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
25850   } else {
25851   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ConvolutionParameter)
25852     UnsafeMergeFrom(*source);
25853   }
25854 }
25855
25856 void ConvolutionParameter::MergeFrom(const ConvolutionParameter& from) {
25857 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ConvolutionParameter)
25858   if (GOOGLE_PREDICT_TRUE(&from != this)) {
25859     UnsafeMergeFrom(from);
25860   } else {
25861     MergeFromFail(__LINE__);
25862   }
25863 }
25864
25865 void ConvolutionParameter::UnsafeMergeFrom(const ConvolutionParameter& from) {
25866   GOOGLE_DCHECK(&from != this);
25867   pad_.UnsafeMergeFrom(from.pad_);
25868   kernel_size_.UnsafeMergeFrom(from.kernel_size_);
25869   stride_.UnsafeMergeFrom(from.stride_);
25870   dilation_.UnsafeMergeFrom(from.dilation_);
25871   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
25872     if (from.has_num_output()) {
25873       set_num_output(from.num_output());
25874     }
25875     if (from.has_bias_term()) {
25876       set_bias_term(from.bias_term());
25877     }
25878     if (from.has_pad_h()) {
25879       set_pad_h(from.pad_h());
25880     }
25881     if (from.has_pad_w()) {
25882       set_pad_w(from.pad_w());
25883     }
25884   }
25885   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
25886     if (from.has_kernel_h()) {
25887       set_kernel_h(from.kernel_h());
25888     }
25889     if (from.has_kernel_w()) {
25890       set_kernel_w(from.kernel_w());
25891     }
25892     if (from.has_stride_h()) {
25893       set_stride_h(from.stride_h());
25894     }
25895     if (from.has_stride_w()) {
25896       set_stride_w(from.stride_w());
25897     }
25898     if (from.has_group()) {
25899       set_group(from.group());
25900     }
25901     if (from.has_weight_filler()) {
25902       mutable_weight_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.weight_filler());
25903     }
25904     if (from.has_bias_filler()) {
25905       mutable_bias_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.bias_filler());
25906     }
25907     if (from.has_engine()) {
25908       set_engine(from.engine());
25909     }
25910   }
25911   if (from._has_bits_[16 / 32] & (0xffu << (16 % 32))) {
25912     if (from.has_axis()) {
25913       set_axis(from.axis());
25914     }
25915     if (from.has_force_nd_im2col()) {
25916       set_force_nd_im2col(from.force_nd_im2col());
25917     }
25918   }
25919   if (from._internal_metadata_.have_unknown_fields()) {
25920     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
25921       from.unknown_fields(), &_internal_metadata_);
25922   }
25923 }
25924
25925 void ConvolutionParameter::CopyFrom(const ::google::protobuf::Message& from) {
25926 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ConvolutionParameter)
25927   if (&from == this) return;
25928   Clear();
25929   MergeFrom(from);
25930 }
25931
25932 void ConvolutionParameter::CopyFrom(const ConvolutionParameter& from) {
25933 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ConvolutionParameter)
25934   if (&from == this) return;
25935   Clear();
25936   UnsafeMergeFrom(from);
25937 }
25938
25939 bool ConvolutionParameter::IsInitialized() const {
25940
25941   return true;
25942 }
25943
25944 void ConvolutionParameter::Swap(ConvolutionParameter* other) {
25945   if (other == this) return;
25946   InternalSwap(other);
25947 }
25948 void ConvolutionParameter::InternalSwap(ConvolutionParameter* other) {
25949   std::swap(num_output_, other->num_output_);
25950   std::swap(bias_term_, other->bias_term_);
25951   pad_.UnsafeArenaSwap(&other->pad_);
25952   kernel_size_.UnsafeArenaSwap(&other->kernel_size_);
25953   stride_.UnsafeArenaSwap(&other->stride_);
25954   dilation_.UnsafeArenaSwap(&other->dilation_);
25955   std::swap(pad_h_, other->pad_h_);
25956   std::swap(pad_w_, other->pad_w_);
25957   std::swap(kernel_h_, other->kernel_h_);
25958   std::swap(kernel_w_, other->kernel_w_);
25959   std::swap(stride_h_, other->stride_h_);
25960   std::swap(stride_w_, other->stride_w_);
25961   std::swap(group_, other->group_);
25962   std::swap(weight_filler_, other->weight_filler_);
25963   std::swap(bias_filler_, other->bias_filler_);
25964   std::swap(engine_, other->engine_);
25965   std::swap(axis_, other->axis_);
25966   std::swap(force_nd_im2col_, other->force_nd_im2col_);
25967   std::swap(_has_bits_[0], other->_has_bits_[0]);
25968   _internal_metadata_.Swap(&other->_internal_metadata_);
25969   std::swap(_cached_size_, other->_cached_size_);
25970 }
25971
25972 ::google::protobuf::Metadata ConvolutionParameter::GetMetadata() const {
25973   protobuf_AssignDescriptorsOnce();
25974   ::google::protobuf::Metadata metadata;
25975   metadata.descriptor = ConvolutionParameter_descriptor_;
25976   metadata.reflection = ConvolutionParameter_reflection_;
25977   return metadata;
25978 }
25979
25980 #if PROTOBUF_INLINE_NOT_IN_HEADERS
25981 // ConvolutionParameter
25982
25983 // optional uint32 num_output = 1;
25984 bool ConvolutionParameter::has_num_output() const {
25985   return (_has_bits_[0] & 0x00000001u) != 0;
25986 }
25987 void ConvolutionParameter::set_has_num_output() {
25988   _has_bits_[0] |= 0x00000001u;
25989 }
25990 void ConvolutionParameter::clear_has_num_output() {
25991   _has_bits_[0] &= ~0x00000001u;
25992 }
25993 void ConvolutionParameter::clear_num_output() {
25994   num_output_ = 0u;
25995   clear_has_num_output();
25996 }
25997 ::google::protobuf::uint32 ConvolutionParameter::num_output() const {
25998   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.num_output)
25999   return num_output_;
26000 }
26001 void ConvolutionParameter::set_num_output(::google::protobuf::uint32 value) {
26002   set_has_num_output();
26003   num_output_ = value;
26004   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.num_output)
26005 }
26006
26007 // optional bool bias_term = 2 [default = true];
26008 bool ConvolutionParameter::has_bias_term() const {
26009   return (_has_bits_[0] & 0x00000002u) != 0;
26010 }
26011 void ConvolutionParameter::set_has_bias_term() {
26012   _has_bits_[0] |= 0x00000002u;
26013 }
26014 void ConvolutionParameter::clear_has_bias_term() {
26015   _has_bits_[0] &= ~0x00000002u;
26016 }
26017 void ConvolutionParameter::clear_bias_term() {
26018   bias_term_ = true;
26019   clear_has_bias_term();
26020 }
26021 bool ConvolutionParameter::bias_term() const {
26022   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.bias_term)
26023   return bias_term_;
26024 }
26025 void ConvolutionParameter::set_bias_term(bool value) {
26026   set_has_bias_term();
26027   bias_term_ = value;
26028   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.bias_term)
26029 }
26030
26031 // repeated uint32 pad = 3;
26032 int ConvolutionParameter::pad_size() const {
26033   return pad_.size();
26034 }
26035 void ConvolutionParameter::clear_pad() {
26036   pad_.Clear();
26037 }
26038 ::google::protobuf::uint32 ConvolutionParameter::pad(int index) const {
26039   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.pad)
26040   return pad_.Get(index);
26041 }
26042 void ConvolutionParameter::set_pad(int index, ::google::protobuf::uint32 value) {
26043   pad_.Set(index, value);
26044   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.pad)
26045 }
26046 void ConvolutionParameter::add_pad(::google::protobuf::uint32 value) {
26047   pad_.Add(value);
26048   // @@protoc_insertion_point(field_add:opencv_caffe.ConvolutionParameter.pad)
26049 }
26050 const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
26051 ConvolutionParameter::pad() const {
26052   // @@protoc_insertion_point(field_list:opencv_caffe.ConvolutionParameter.pad)
26053   return pad_;
26054 }
26055 ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
26056 ConvolutionParameter::mutable_pad() {
26057   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.ConvolutionParameter.pad)
26058   return &pad_;
26059 }
26060
26061 // repeated uint32 kernel_size = 4;
26062 int ConvolutionParameter::kernel_size_size() const {
26063   return kernel_size_.size();
26064 }
26065 void ConvolutionParameter::clear_kernel_size() {
26066   kernel_size_.Clear();
26067 }
26068 ::google::protobuf::uint32 ConvolutionParameter::kernel_size(int index) const {
26069   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.kernel_size)
26070   return kernel_size_.Get(index);
26071 }
26072 void ConvolutionParameter::set_kernel_size(int index, ::google::protobuf::uint32 value) {
26073   kernel_size_.Set(index, value);
26074   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.kernel_size)
26075 }
26076 void ConvolutionParameter::add_kernel_size(::google::protobuf::uint32 value) {
26077   kernel_size_.Add(value);
26078   // @@protoc_insertion_point(field_add:opencv_caffe.ConvolutionParameter.kernel_size)
26079 }
26080 const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
26081 ConvolutionParameter::kernel_size() const {
26082   // @@protoc_insertion_point(field_list:opencv_caffe.ConvolutionParameter.kernel_size)
26083   return kernel_size_;
26084 }
26085 ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
26086 ConvolutionParameter::mutable_kernel_size() {
26087   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.ConvolutionParameter.kernel_size)
26088   return &kernel_size_;
26089 }
26090
26091 // repeated uint32 stride = 6;
26092 int ConvolutionParameter::stride_size() const {
26093   return stride_.size();
26094 }
26095 void ConvolutionParameter::clear_stride() {
26096   stride_.Clear();
26097 }
26098 ::google::protobuf::uint32 ConvolutionParameter::stride(int index) const {
26099   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.stride)
26100   return stride_.Get(index);
26101 }
26102 void ConvolutionParameter::set_stride(int index, ::google::protobuf::uint32 value) {
26103   stride_.Set(index, value);
26104   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.stride)
26105 }
26106 void ConvolutionParameter::add_stride(::google::protobuf::uint32 value) {
26107   stride_.Add(value);
26108   // @@protoc_insertion_point(field_add:opencv_caffe.ConvolutionParameter.stride)
26109 }
26110 const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
26111 ConvolutionParameter::stride() const {
26112   // @@protoc_insertion_point(field_list:opencv_caffe.ConvolutionParameter.stride)
26113   return stride_;
26114 }
26115 ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
26116 ConvolutionParameter::mutable_stride() {
26117   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.ConvolutionParameter.stride)
26118   return &stride_;
26119 }
26120
26121 // repeated uint32 dilation = 18;
26122 int ConvolutionParameter::dilation_size() const {
26123   return dilation_.size();
26124 }
26125 void ConvolutionParameter::clear_dilation() {
26126   dilation_.Clear();
26127 }
26128 ::google::protobuf::uint32 ConvolutionParameter::dilation(int index) const {
26129   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.dilation)
26130   return dilation_.Get(index);
26131 }
26132 void ConvolutionParameter::set_dilation(int index, ::google::protobuf::uint32 value) {
26133   dilation_.Set(index, value);
26134   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.dilation)
26135 }
26136 void ConvolutionParameter::add_dilation(::google::protobuf::uint32 value) {
26137   dilation_.Add(value);
26138   // @@protoc_insertion_point(field_add:opencv_caffe.ConvolutionParameter.dilation)
26139 }
26140 const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
26141 ConvolutionParameter::dilation() const {
26142   // @@protoc_insertion_point(field_list:opencv_caffe.ConvolutionParameter.dilation)
26143   return dilation_;
26144 }
26145 ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
26146 ConvolutionParameter::mutable_dilation() {
26147   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.ConvolutionParameter.dilation)
26148   return &dilation_;
26149 }
26150
26151 // optional uint32 pad_h = 9 [default = 0];
26152 bool ConvolutionParameter::has_pad_h() const {
26153   return (_has_bits_[0] & 0x00000040u) != 0;
26154 }
26155 void ConvolutionParameter::set_has_pad_h() {
26156   _has_bits_[0] |= 0x00000040u;
26157 }
26158 void ConvolutionParameter::clear_has_pad_h() {
26159   _has_bits_[0] &= ~0x00000040u;
26160 }
26161 void ConvolutionParameter::clear_pad_h() {
26162   pad_h_ = 0u;
26163   clear_has_pad_h();
26164 }
26165 ::google::protobuf::uint32 ConvolutionParameter::pad_h() const {
26166   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.pad_h)
26167   return pad_h_;
26168 }
26169 void ConvolutionParameter::set_pad_h(::google::protobuf::uint32 value) {
26170   set_has_pad_h();
26171   pad_h_ = value;
26172   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.pad_h)
26173 }
26174
26175 // optional uint32 pad_w = 10 [default = 0];
26176 bool ConvolutionParameter::has_pad_w() const {
26177   return (_has_bits_[0] & 0x00000080u) != 0;
26178 }
26179 void ConvolutionParameter::set_has_pad_w() {
26180   _has_bits_[0] |= 0x00000080u;
26181 }
26182 void ConvolutionParameter::clear_has_pad_w() {
26183   _has_bits_[0] &= ~0x00000080u;
26184 }
26185 void ConvolutionParameter::clear_pad_w() {
26186   pad_w_ = 0u;
26187   clear_has_pad_w();
26188 }
26189 ::google::protobuf::uint32 ConvolutionParameter::pad_w() const {
26190   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.pad_w)
26191   return pad_w_;
26192 }
26193 void ConvolutionParameter::set_pad_w(::google::protobuf::uint32 value) {
26194   set_has_pad_w();
26195   pad_w_ = value;
26196   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.pad_w)
26197 }
26198
26199 // optional uint32 kernel_h = 11;
26200 bool ConvolutionParameter::has_kernel_h() const {
26201   return (_has_bits_[0] & 0x00000100u) != 0;
26202 }
26203 void ConvolutionParameter::set_has_kernel_h() {
26204   _has_bits_[0] |= 0x00000100u;
26205 }
26206 void ConvolutionParameter::clear_has_kernel_h() {
26207   _has_bits_[0] &= ~0x00000100u;
26208 }
26209 void ConvolutionParameter::clear_kernel_h() {
26210   kernel_h_ = 0u;
26211   clear_has_kernel_h();
26212 }
26213 ::google::protobuf::uint32 ConvolutionParameter::kernel_h() const {
26214   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.kernel_h)
26215   return kernel_h_;
26216 }
26217 void ConvolutionParameter::set_kernel_h(::google::protobuf::uint32 value) {
26218   set_has_kernel_h();
26219   kernel_h_ = value;
26220   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.kernel_h)
26221 }
26222
26223 // optional uint32 kernel_w = 12;
26224 bool ConvolutionParameter::has_kernel_w() const {
26225   return (_has_bits_[0] & 0x00000200u) != 0;
26226 }
26227 void ConvolutionParameter::set_has_kernel_w() {
26228   _has_bits_[0] |= 0x00000200u;
26229 }
26230 void ConvolutionParameter::clear_has_kernel_w() {
26231   _has_bits_[0] &= ~0x00000200u;
26232 }
26233 void ConvolutionParameter::clear_kernel_w() {
26234   kernel_w_ = 0u;
26235   clear_has_kernel_w();
26236 }
26237 ::google::protobuf::uint32 ConvolutionParameter::kernel_w() const {
26238   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.kernel_w)
26239   return kernel_w_;
26240 }
26241 void ConvolutionParameter::set_kernel_w(::google::protobuf::uint32 value) {
26242   set_has_kernel_w();
26243   kernel_w_ = value;
26244   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.kernel_w)
26245 }
26246
26247 // optional uint32 stride_h = 13;
26248 bool ConvolutionParameter::has_stride_h() const {
26249   return (_has_bits_[0] & 0x00000400u) != 0;
26250 }
26251 void ConvolutionParameter::set_has_stride_h() {
26252   _has_bits_[0] |= 0x00000400u;
26253 }
26254 void ConvolutionParameter::clear_has_stride_h() {
26255   _has_bits_[0] &= ~0x00000400u;
26256 }
26257 void ConvolutionParameter::clear_stride_h() {
26258   stride_h_ = 0u;
26259   clear_has_stride_h();
26260 }
26261 ::google::protobuf::uint32 ConvolutionParameter::stride_h() const {
26262   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.stride_h)
26263   return stride_h_;
26264 }
26265 void ConvolutionParameter::set_stride_h(::google::protobuf::uint32 value) {
26266   set_has_stride_h();
26267   stride_h_ = value;
26268   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.stride_h)
26269 }
26270
26271 // optional uint32 stride_w = 14;
26272 bool ConvolutionParameter::has_stride_w() const {
26273   return (_has_bits_[0] & 0x00000800u) != 0;
26274 }
26275 void ConvolutionParameter::set_has_stride_w() {
26276   _has_bits_[0] |= 0x00000800u;
26277 }
26278 void ConvolutionParameter::clear_has_stride_w() {
26279   _has_bits_[0] &= ~0x00000800u;
26280 }
26281 void ConvolutionParameter::clear_stride_w() {
26282   stride_w_ = 0u;
26283   clear_has_stride_w();
26284 }
26285 ::google::protobuf::uint32 ConvolutionParameter::stride_w() const {
26286   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.stride_w)
26287   return stride_w_;
26288 }
26289 void ConvolutionParameter::set_stride_w(::google::protobuf::uint32 value) {
26290   set_has_stride_w();
26291   stride_w_ = value;
26292   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.stride_w)
26293 }
26294
26295 // optional uint32 group = 5 [default = 1];
26296 bool ConvolutionParameter::has_group() const {
26297   return (_has_bits_[0] & 0x00001000u) != 0;
26298 }
26299 void ConvolutionParameter::set_has_group() {
26300   _has_bits_[0] |= 0x00001000u;
26301 }
26302 void ConvolutionParameter::clear_has_group() {
26303   _has_bits_[0] &= ~0x00001000u;
26304 }
26305 void ConvolutionParameter::clear_group() {
26306   group_ = 1u;
26307   clear_has_group();
26308 }
26309 ::google::protobuf::uint32 ConvolutionParameter::group() const {
26310   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.group)
26311   return group_;
26312 }
26313 void ConvolutionParameter::set_group(::google::protobuf::uint32 value) {
26314   set_has_group();
26315   group_ = value;
26316   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.group)
26317 }
26318
26319 // optional .opencv_caffe.FillerParameter weight_filler = 7;
26320 bool ConvolutionParameter::has_weight_filler() const {
26321   return (_has_bits_[0] & 0x00002000u) != 0;
26322 }
26323 void ConvolutionParameter::set_has_weight_filler() {
26324   _has_bits_[0] |= 0x00002000u;
26325 }
26326 void ConvolutionParameter::clear_has_weight_filler() {
26327   _has_bits_[0] &= ~0x00002000u;
26328 }
26329 void ConvolutionParameter::clear_weight_filler() {
26330   if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
26331   clear_has_weight_filler();
26332 }
26333 const ::opencv_caffe::FillerParameter& ConvolutionParameter::weight_filler() const {
26334   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.weight_filler)
26335   return weight_filler_ != NULL ? *weight_filler_
26336                          : *::opencv_caffe::FillerParameter::internal_default_instance();
26337 }
26338 ::opencv_caffe::FillerParameter* ConvolutionParameter::mutable_weight_filler() {
26339   set_has_weight_filler();
26340   if (weight_filler_ == NULL) {
26341     weight_filler_ = new ::opencv_caffe::FillerParameter;
26342   }
26343   // @@protoc_insertion_point(field_mutable:opencv_caffe.ConvolutionParameter.weight_filler)
26344   return weight_filler_;
26345 }
26346 ::opencv_caffe::FillerParameter* ConvolutionParameter::release_weight_filler() {
26347   // @@protoc_insertion_point(field_release:opencv_caffe.ConvolutionParameter.weight_filler)
26348   clear_has_weight_filler();
26349   ::opencv_caffe::FillerParameter* temp = weight_filler_;
26350   weight_filler_ = NULL;
26351   return temp;
26352 }
26353 void ConvolutionParameter::set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler) {
26354   delete weight_filler_;
26355   weight_filler_ = weight_filler;
26356   if (weight_filler) {
26357     set_has_weight_filler();
26358   } else {
26359     clear_has_weight_filler();
26360   }
26361   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ConvolutionParameter.weight_filler)
26362 }
26363
26364 // optional .opencv_caffe.FillerParameter bias_filler = 8;
26365 bool ConvolutionParameter::has_bias_filler() const {
26366   return (_has_bits_[0] & 0x00004000u) != 0;
26367 }
26368 void ConvolutionParameter::set_has_bias_filler() {
26369   _has_bits_[0] |= 0x00004000u;
26370 }
26371 void ConvolutionParameter::clear_has_bias_filler() {
26372   _has_bits_[0] &= ~0x00004000u;
26373 }
26374 void ConvolutionParameter::clear_bias_filler() {
26375   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
26376   clear_has_bias_filler();
26377 }
26378 const ::opencv_caffe::FillerParameter& ConvolutionParameter::bias_filler() const {
26379   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.bias_filler)
26380   return bias_filler_ != NULL ? *bias_filler_
26381                          : *::opencv_caffe::FillerParameter::internal_default_instance();
26382 }
26383 ::opencv_caffe::FillerParameter* ConvolutionParameter::mutable_bias_filler() {
26384   set_has_bias_filler();
26385   if (bias_filler_ == NULL) {
26386     bias_filler_ = new ::opencv_caffe::FillerParameter;
26387   }
26388   // @@protoc_insertion_point(field_mutable:opencv_caffe.ConvolutionParameter.bias_filler)
26389   return bias_filler_;
26390 }
26391 ::opencv_caffe::FillerParameter* ConvolutionParameter::release_bias_filler() {
26392   // @@protoc_insertion_point(field_release:opencv_caffe.ConvolutionParameter.bias_filler)
26393   clear_has_bias_filler();
26394   ::opencv_caffe::FillerParameter* temp = bias_filler_;
26395   bias_filler_ = NULL;
26396   return temp;
26397 }
26398 void ConvolutionParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
26399   delete bias_filler_;
26400   bias_filler_ = bias_filler;
26401   if (bias_filler) {
26402     set_has_bias_filler();
26403   } else {
26404     clear_has_bias_filler();
26405   }
26406   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ConvolutionParameter.bias_filler)
26407 }
26408
26409 // optional .opencv_caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT];
26410 bool ConvolutionParameter::has_engine() const {
26411   return (_has_bits_[0] & 0x00008000u) != 0;
26412 }
26413 void ConvolutionParameter::set_has_engine() {
26414   _has_bits_[0] |= 0x00008000u;
26415 }
26416 void ConvolutionParameter::clear_has_engine() {
26417   _has_bits_[0] &= ~0x00008000u;
26418 }
26419 void ConvolutionParameter::clear_engine() {
26420   engine_ = 0;
26421   clear_has_engine();
26422 }
26423 ::opencv_caffe::ConvolutionParameter_Engine ConvolutionParameter::engine() const {
26424   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.engine)
26425   return static_cast< ::opencv_caffe::ConvolutionParameter_Engine >(engine_);
26426 }
26427 void ConvolutionParameter::set_engine(::opencv_caffe::ConvolutionParameter_Engine value) {
26428   assert(::opencv_caffe::ConvolutionParameter_Engine_IsValid(value));
26429   set_has_engine();
26430   engine_ = value;
26431   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.engine)
26432 }
26433
26434 // optional int32 axis = 16 [default = 1];
26435 bool ConvolutionParameter::has_axis() const {
26436   return (_has_bits_[0] & 0x00010000u) != 0;
26437 }
26438 void ConvolutionParameter::set_has_axis() {
26439   _has_bits_[0] |= 0x00010000u;
26440 }
26441 void ConvolutionParameter::clear_has_axis() {
26442   _has_bits_[0] &= ~0x00010000u;
26443 }
26444 void ConvolutionParameter::clear_axis() {
26445   axis_ = 1;
26446   clear_has_axis();
26447 }
26448 ::google::protobuf::int32 ConvolutionParameter::axis() const {
26449   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.axis)
26450   return axis_;
26451 }
26452 void ConvolutionParameter::set_axis(::google::protobuf::int32 value) {
26453   set_has_axis();
26454   axis_ = value;
26455   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.axis)
26456 }
26457
26458 // optional bool force_nd_im2col = 17 [default = false];
26459 bool ConvolutionParameter::has_force_nd_im2col() const {
26460   return (_has_bits_[0] & 0x00020000u) != 0;
26461 }
26462 void ConvolutionParameter::set_has_force_nd_im2col() {
26463   _has_bits_[0] |= 0x00020000u;
26464 }
26465 void ConvolutionParameter::clear_has_force_nd_im2col() {
26466   _has_bits_[0] &= ~0x00020000u;
26467 }
26468 void ConvolutionParameter::clear_force_nd_im2col() {
26469   force_nd_im2col_ = false;
26470   clear_has_force_nd_im2col();
26471 }
26472 bool ConvolutionParameter::force_nd_im2col() const {
26473   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.force_nd_im2col)
26474   return force_nd_im2col_;
26475 }
26476 void ConvolutionParameter::set_force_nd_im2col(bool value) {
26477   set_has_force_nd_im2col();
26478   force_nd_im2col_ = value;
26479   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.force_nd_im2col)
26480 }
26481
26482 inline const ConvolutionParameter* ConvolutionParameter::internal_default_instance() {
26483   return &ConvolutionParameter_default_instance_.get();
26484 }
26485 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
26486
26487 // ===================================================================
26488
26489 #if !defined(_MSC_VER) || _MSC_VER >= 1900
26490 const int CropParameter::kAxisFieldNumber;
26491 const int CropParameter::kOffsetFieldNumber;
26492 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
26493
26494 CropParameter::CropParameter()
26495   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
26496   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
26497   SharedCtor();
26498   // @@protoc_insertion_point(constructor:opencv_caffe.CropParameter)
26499 }
26500
26501 void CropParameter::InitAsDefaultInstance() {
26502 }
26503
26504 CropParameter::CropParameter(const CropParameter& from)
26505   : ::google::protobuf::Message(),
26506     _internal_metadata_(NULL) {
26507   SharedCtor();
26508   UnsafeMergeFrom(from);
26509   // @@protoc_insertion_point(copy_constructor:opencv_caffe.CropParameter)
26510 }
26511
26512 void CropParameter::SharedCtor() {
26513   _cached_size_ = 0;
26514   axis_ = 2;
26515 }
26516
26517 CropParameter::~CropParameter() {
26518   // @@protoc_insertion_point(destructor:opencv_caffe.CropParameter)
26519   SharedDtor();
26520 }
26521
26522 void CropParameter::SharedDtor() {
26523 }
26524
26525 void CropParameter::SetCachedSize(int size) const {
26526   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
26527   _cached_size_ = size;
26528   GOOGLE_SAFE_CONCURRENT_WRITES_END();
26529 }
26530 const ::google::protobuf::Descriptor* CropParameter::descriptor() {
26531   protobuf_AssignDescriptorsOnce();
26532   return CropParameter_descriptor_;
26533 }
26534
26535 const CropParameter& CropParameter::default_instance() {
26536   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
26537   return *internal_default_instance();
26538 }
26539
26540 ::google::protobuf::internal::ExplicitlyConstructed<CropParameter> CropParameter_default_instance_;
26541
26542 CropParameter* CropParameter::New(::google::protobuf::Arena* arena) const {
26543   CropParameter* n = new CropParameter;
26544   if (arena != NULL) {
26545     arena->Own(n);
26546   }
26547   return n;
26548 }
26549
26550 void CropParameter::Clear() {
26551 // @@protoc_insertion_point(message_clear_start:opencv_caffe.CropParameter)
26552   axis_ = 2;
26553   offset_.Clear();
26554   _has_bits_.Clear();
26555   if (_internal_metadata_.have_unknown_fields()) {
26556     mutable_unknown_fields()->Clear();
26557   }
26558 }
26559
26560 bool CropParameter::MergePartialFromCodedStream(
26561     ::google::protobuf::io::CodedInputStream* input) {
26562 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
26563   ::google::protobuf::uint32 tag;
26564   // @@protoc_insertion_point(parse_start:opencv_caffe.CropParameter)
26565   for (;;) {
26566     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
26567     tag = p.first;
26568     if (!p.second) goto handle_unusual;
26569     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
26570       // optional int32 axis = 1 [default = 2];
26571       case 1: {
26572         if (tag == 8) {
26573           set_has_axis();
26574           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
26575                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
26576                  input, &axis_)));
26577         } else {
26578           goto handle_unusual;
26579         }
26580         if (input->ExpectTag(16)) goto parse_offset;
26581         break;
26582       }
26583
26584       // repeated uint32 offset = 2;
26585       case 2: {
26586         if (tag == 16) {
26587          parse_offset:
26588           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
26589                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
26590                  1, 16, input, this->mutable_offset())));
26591         } else if (tag == 18) {
26592           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
26593                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
26594                  input, this->mutable_offset())));
26595         } else {
26596           goto handle_unusual;
26597         }
26598         if (input->ExpectTag(16)) goto parse_offset;
26599         if (input->ExpectAtEnd()) goto success;
26600         break;
26601       }
26602
26603       default: {
26604       handle_unusual:
26605         if (tag == 0 ||
26606             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
26607             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
26608           goto success;
26609         }
26610         DO_(::google::protobuf::internal::WireFormat::SkipField(
26611               input, tag, mutable_unknown_fields()));
26612         break;
26613       }
26614     }
26615   }
26616 success:
26617   // @@protoc_insertion_point(parse_success:opencv_caffe.CropParameter)
26618   return true;
26619 failure:
26620   // @@protoc_insertion_point(parse_failure:opencv_caffe.CropParameter)
26621   return false;
26622 #undef DO_
26623 }
26624
26625 void CropParameter::SerializeWithCachedSizes(
26626     ::google::protobuf::io::CodedOutputStream* output) const {
26627   // @@protoc_insertion_point(serialize_start:opencv_caffe.CropParameter)
26628   // optional int32 axis = 1 [default = 2];
26629   if (has_axis()) {
26630     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->axis(), output);
26631   }
26632
26633   // repeated uint32 offset = 2;
26634   for (int i = 0; i < this->offset_size(); i++) {
26635     ::google::protobuf::internal::WireFormatLite::WriteUInt32(
26636       2, this->offset(i), output);
26637   }
26638
26639   if (_internal_metadata_.have_unknown_fields()) {
26640     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
26641         unknown_fields(), output);
26642   }
26643   // @@protoc_insertion_point(serialize_end:opencv_caffe.CropParameter)
26644 }
26645
26646 ::google::protobuf::uint8* CropParameter::InternalSerializeWithCachedSizesToArray(
26647     bool deterministic, ::google::protobuf::uint8* target) const {
26648   (void)deterministic; // Unused
26649   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.CropParameter)
26650   // optional int32 axis = 1 [default = 2];
26651   if (has_axis()) {
26652     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->axis(), target);
26653   }
26654
26655   // repeated uint32 offset = 2;
26656   for (int i = 0; i < this->offset_size(); i++) {
26657     target = ::google::protobuf::internal::WireFormatLite::
26658       WriteUInt32ToArray(2, this->offset(i), target);
26659   }
26660
26661   if (_internal_metadata_.have_unknown_fields()) {
26662     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
26663         unknown_fields(), target);
26664   }
26665   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.CropParameter)
26666   return target;
26667 }
26668
26669 size_t CropParameter::ByteSizeLong() const {
26670 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.CropParameter)
26671   size_t total_size = 0;
26672
26673   // optional int32 axis = 1 [default = 2];
26674   if (has_axis()) {
26675     total_size += 1 +
26676       ::google::protobuf::internal::WireFormatLite::Int32Size(
26677         this->axis());
26678   }
26679
26680   // repeated uint32 offset = 2;
26681   {
26682     size_t data_size = 0;
26683     unsigned int count = this->offset_size();
26684     for (unsigned int i = 0; i < count; i++) {
26685       data_size += ::google::protobuf::internal::WireFormatLite::
26686         UInt32Size(this->offset(i));
26687     }
26688     total_size += 1 *
26689                   ::google::protobuf::internal::FromIntSize(this->offset_size());
26690     total_size += data_size;
26691   }
26692
26693   if (_internal_metadata_.have_unknown_fields()) {
26694     total_size +=
26695       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
26696         unknown_fields());
26697   }
26698   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
26699   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
26700   _cached_size_ = cached_size;
26701   GOOGLE_SAFE_CONCURRENT_WRITES_END();
26702   return total_size;
26703 }
26704
26705 void CropParameter::MergeFrom(const ::google::protobuf::Message& from) {
26706 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.CropParameter)
26707   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
26708   const CropParameter* source =
26709       ::google::protobuf::internal::DynamicCastToGenerated<const CropParameter>(
26710           &from);
26711   if (source == NULL) {
26712   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.CropParameter)
26713     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
26714   } else {
26715   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.CropParameter)
26716     UnsafeMergeFrom(*source);
26717   }
26718 }
26719
26720 void CropParameter::MergeFrom(const CropParameter& from) {
26721 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.CropParameter)
26722   if (GOOGLE_PREDICT_TRUE(&from != this)) {
26723     UnsafeMergeFrom(from);
26724   } else {
26725     MergeFromFail(__LINE__);
26726   }
26727 }
26728
26729 void CropParameter::UnsafeMergeFrom(const CropParameter& from) {
26730   GOOGLE_DCHECK(&from != this);
26731   offset_.UnsafeMergeFrom(from.offset_);
26732   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
26733     if (from.has_axis()) {
26734       set_axis(from.axis());
26735     }
26736   }
26737   if (from._internal_metadata_.have_unknown_fields()) {
26738     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
26739       from.unknown_fields(), &_internal_metadata_);
26740   }
26741 }
26742
26743 void CropParameter::CopyFrom(const ::google::protobuf::Message& from) {
26744 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.CropParameter)
26745   if (&from == this) return;
26746   Clear();
26747   MergeFrom(from);
26748 }
26749
26750 void CropParameter::CopyFrom(const CropParameter& from) {
26751 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.CropParameter)
26752   if (&from == this) return;
26753   Clear();
26754   UnsafeMergeFrom(from);
26755 }
26756
26757 bool CropParameter::IsInitialized() const {
26758
26759   return true;
26760 }
26761
26762 void CropParameter::Swap(CropParameter* other) {
26763   if (other == this) return;
26764   InternalSwap(other);
26765 }
26766 void CropParameter::InternalSwap(CropParameter* other) {
26767   std::swap(axis_, other->axis_);
26768   offset_.UnsafeArenaSwap(&other->offset_);
26769   std::swap(_has_bits_[0], other->_has_bits_[0]);
26770   _internal_metadata_.Swap(&other->_internal_metadata_);
26771   std::swap(_cached_size_, other->_cached_size_);
26772 }
26773
26774 ::google::protobuf::Metadata CropParameter::GetMetadata() const {
26775   protobuf_AssignDescriptorsOnce();
26776   ::google::protobuf::Metadata metadata;
26777   metadata.descriptor = CropParameter_descriptor_;
26778   metadata.reflection = CropParameter_reflection_;
26779   return metadata;
26780 }
26781
26782 #if PROTOBUF_INLINE_NOT_IN_HEADERS
26783 // CropParameter
26784
26785 // optional int32 axis = 1 [default = 2];
26786 bool CropParameter::has_axis() const {
26787   return (_has_bits_[0] & 0x00000001u) != 0;
26788 }
26789 void CropParameter::set_has_axis() {
26790   _has_bits_[0] |= 0x00000001u;
26791 }
26792 void CropParameter::clear_has_axis() {
26793   _has_bits_[0] &= ~0x00000001u;
26794 }
26795 void CropParameter::clear_axis() {
26796   axis_ = 2;
26797   clear_has_axis();
26798 }
26799 ::google::protobuf::int32 CropParameter::axis() const {
26800   // @@protoc_insertion_point(field_get:opencv_caffe.CropParameter.axis)
26801   return axis_;
26802 }
26803 void CropParameter::set_axis(::google::protobuf::int32 value) {
26804   set_has_axis();
26805   axis_ = value;
26806   // @@protoc_insertion_point(field_set:opencv_caffe.CropParameter.axis)
26807 }
26808
26809 // repeated uint32 offset = 2;
26810 int CropParameter::offset_size() const {
26811   return offset_.size();
26812 }
26813 void CropParameter::clear_offset() {
26814   offset_.Clear();
26815 }
26816 ::google::protobuf::uint32 CropParameter::offset(int index) const {
26817   // @@protoc_insertion_point(field_get:opencv_caffe.CropParameter.offset)
26818   return offset_.Get(index);
26819 }
26820 void CropParameter::set_offset(int index, ::google::protobuf::uint32 value) {
26821   offset_.Set(index, value);
26822   // @@protoc_insertion_point(field_set:opencv_caffe.CropParameter.offset)
26823 }
26824 void CropParameter::add_offset(::google::protobuf::uint32 value) {
26825   offset_.Add(value);
26826   // @@protoc_insertion_point(field_add:opencv_caffe.CropParameter.offset)
26827 }
26828 const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
26829 CropParameter::offset() const {
26830   // @@protoc_insertion_point(field_list:opencv_caffe.CropParameter.offset)
26831   return offset_;
26832 }
26833 ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
26834 CropParameter::mutable_offset() {
26835   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.CropParameter.offset)
26836   return &offset_;
26837 }
26838
26839 inline const CropParameter* CropParameter::internal_default_instance() {
26840   return &CropParameter_default_instance_.get();
26841 }
26842 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
26843
26844 // ===================================================================
26845
26846 const ::google::protobuf::EnumDescriptor* DataParameter_DB_descriptor() {
26847   protobuf_AssignDescriptorsOnce();
26848   return DataParameter_DB_descriptor_;
26849 }
26850 bool DataParameter_DB_IsValid(int value) {
26851   switch (value) {
26852     case 0:
26853     case 1:
26854       return true;
26855     default:
26856       return false;
26857   }
26858 }
26859
26860 #if !defined(_MSC_VER) || _MSC_VER >= 1900
26861 const DataParameter_DB DataParameter::LEVELDB;
26862 const DataParameter_DB DataParameter::LMDB;
26863 const DataParameter_DB DataParameter::DB_MIN;
26864 const DataParameter_DB DataParameter::DB_MAX;
26865 const int DataParameter::DB_ARRAYSIZE;
26866 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
26867 #if !defined(_MSC_VER) || _MSC_VER >= 1900
26868 const int DataParameter::kSourceFieldNumber;
26869 const int DataParameter::kBatchSizeFieldNumber;
26870 const int DataParameter::kRandSkipFieldNumber;
26871 const int DataParameter::kBackendFieldNumber;
26872 const int DataParameter::kScaleFieldNumber;
26873 const int DataParameter::kMeanFileFieldNumber;
26874 const int DataParameter::kCropSizeFieldNumber;
26875 const int DataParameter::kMirrorFieldNumber;
26876 const int DataParameter::kForceEncodedColorFieldNumber;
26877 const int DataParameter::kPrefetchFieldNumber;
26878 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
26879
26880 DataParameter::DataParameter()
26881   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
26882   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
26883   SharedCtor();
26884   // @@protoc_insertion_point(constructor:opencv_caffe.DataParameter)
26885 }
26886
26887 void DataParameter::InitAsDefaultInstance() {
26888 }
26889
26890 DataParameter::DataParameter(const DataParameter& from)
26891   : ::google::protobuf::Message(),
26892     _internal_metadata_(NULL) {
26893   SharedCtor();
26894   UnsafeMergeFrom(from);
26895   // @@protoc_insertion_point(copy_constructor:opencv_caffe.DataParameter)
26896 }
26897
26898 void DataParameter::SharedCtor() {
26899   _cached_size_ = 0;
26900   source_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
26901   mean_file_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
26902   ::memset(&batch_size_, 0, reinterpret_cast<char*>(&force_encoded_color_) -
26903     reinterpret_cast<char*>(&batch_size_) + sizeof(force_encoded_color_));
26904   scale_ = 1;
26905   prefetch_ = 4u;
26906 }
26907
26908 DataParameter::~DataParameter() {
26909   // @@protoc_insertion_point(destructor:opencv_caffe.DataParameter)
26910   SharedDtor();
26911 }
26912
26913 void DataParameter::SharedDtor() {
26914   source_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
26915   mean_file_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
26916 }
26917
26918 void DataParameter::SetCachedSize(int size) const {
26919   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
26920   _cached_size_ = size;
26921   GOOGLE_SAFE_CONCURRENT_WRITES_END();
26922 }
26923 const ::google::protobuf::Descriptor* DataParameter::descriptor() {
26924   protobuf_AssignDescriptorsOnce();
26925   return DataParameter_descriptor_;
26926 }
26927
26928 const DataParameter& DataParameter::default_instance() {
26929   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
26930   return *internal_default_instance();
26931 }
26932
26933 ::google::protobuf::internal::ExplicitlyConstructed<DataParameter> DataParameter_default_instance_;
26934
26935 DataParameter* DataParameter::New(::google::protobuf::Arena* arena) const {
26936   DataParameter* n = new DataParameter;
26937   if (arena != NULL) {
26938     arena->Own(n);
26939   }
26940   return n;
26941 }
26942
26943 void DataParameter::Clear() {
26944 // @@protoc_insertion_point(message_clear_start:opencv_caffe.DataParameter)
26945 #if defined(__clang__)
26946 #define ZR_HELPER_(f) \
26947   _Pragma("clang diagnostic push") \
26948   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
26949   __builtin_offsetof(DataParameter, f) \
26950   _Pragma("clang diagnostic pop")
26951 #else
26952 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
26953   &reinterpret_cast<DataParameter*>(16)->f)
26954 #endif
26955
26956 #define ZR_(first, last) do {\
26957   ::memset(&(first), 0,\
26958            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
26959 } while (0)
26960
26961   if (_has_bits_[0 / 32] & 255u) {
26962     ZR_(batch_size_, mirror_);
26963     if (has_source()) {
26964       source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
26965     }
26966     scale_ = 1;
26967     if (has_mean_file()) {
26968       mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
26969     }
26970   }
26971   if (_has_bits_[8 / 32] & 768u) {
26972     force_encoded_color_ = false;
26973     prefetch_ = 4u;
26974   }
26975
26976 #undef ZR_HELPER_
26977 #undef ZR_
26978
26979   _has_bits_.Clear();
26980   if (_internal_metadata_.have_unknown_fields()) {
26981     mutable_unknown_fields()->Clear();
26982   }
26983 }
26984
26985 bool DataParameter::MergePartialFromCodedStream(
26986     ::google::protobuf::io::CodedInputStream* input) {
26987 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
26988   ::google::protobuf::uint32 tag;
26989   // @@protoc_insertion_point(parse_start:opencv_caffe.DataParameter)
26990   for (;;) {
26991     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
26992     tag = p.first;
26993     if (!p.second) goto handle_unusual;
26994     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
26995       // optional string source = 1;
26996       case 1: {
26997         if (tag == 10) {
26998           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
26999                 input, this->mutable_source()));
27000           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
27001             this->source().data(), this->source().length(),
27002             ::google::protobuf::internal::WireFormat::PARSE,
27003             "opencv_caffe.DataParameter.source");
27004         } else {
27005           goto handle_unusual;
27006         }
27007         if (input->ExpectTag(21)) goto parse_scale;
27008         break;
27009       }
27010
27011       // optional float scale = 2 [default = 1];
27012       case 2: {
27013         if (tag == 21) {
27014          parse_scale:
27015           set_has_scale();
27016           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
27017                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
27018                  input, &scale_)));
27019         } else {
27020           goto handle_unusual;
27021         }
27022         if (input->ExpectTag(26)) goto parse_mean_file;
27023         break;
27024       }
27025
27026       // optional string mean_file = 3;
27027       case 3: {
27028         if (tag == 26) {
27029          parse_mean_file:
27030           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
27031                 input, this->mutable_mean_file()));
27032           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
27033             this->mean_file().data(), this->mean_file().length(),
27034             ::google::protobuf::internal::WireFormat::PARSE,
27035             "opencv_caffe.DataParameter.mean_file");
27036         } else {
27037           goto handle_unusual;
27038         }
27039         if (input->ExpectTag(32)) goto parse_batch_size;
27040         break;
27041       }
27042
27043       // optional uint32 batch_size = 4;
27044       case 4: {
27045         if (tag == 32) {
27046          parse_batch_size:
27047           set_has_batch_size();
27048           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
27049                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
27050                  input, &batch_size_)));
27051         } else {
27052           goto handle_unusual;
27053         }
27054         if (input->ExpectTag(40)) goto parse_crop_size;
27055         break;
27056       }
27057
27058       // optional uint32 crop_size = 5 [default = 0];
27059       case 5: {
27060         if (tag == 40) {
27061          parse_crop_size:
27062           set_has_crop_size();
27063           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
27064                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
27065                  input, &crop_size_)));
27066         } else {
27067           goto handle_unusual;
27068         }
27069         if (input->ExpectTag(48)) goto parse_mirror;
27070         break;
27071       }
27072
27073       // optional bool mirror = 6 [default = false];
27074       case 6: {
27075         if (tag == 48) {
27076          parse_mirror:
27077           set_has_mirror();
27078           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
27079                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
27080                  input, &mirror_)));
27081         } else {
27082           goto handle_unusual;
27083         }
27084         if (input->ExpectTag(56)) goto parse_rand_skip;
27085         break;
27086       }
27087
27088       // optional uint32 rand_skip = 7 [default = 0];
27089       case 7: {
27090         if (tag == 56) {
27091          parse_rand_skip:
27092           set_has_rand_skip();
27093           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
27094                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
27095                  input, &rand_skip_)));
27096         } else {
27097           goto handle_unusual;
27098         }
27099         if (input->ExpectTag(64)) goto parse_backend;
27100         break;
27101       }
27102
27103       // optional .opencv_caffe.DataParameter.DB backend = 8 [default = LEVELDB];
27104       case 8: {
27105         if (tag == 64) {
27106          parse_backend:
27107           int value;
27108           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
27109                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
27110                  input, &value)));
27111           if (::opencv_caffe::DataParameter_DB_IsValid(value)) {
27112             set_backend(static_cast< ::opencv_caffe::DataParameter_DB >(value));
27113           } else {
27114             mutable_unknown_fields()->AddVarint(8, value);
27115           }
27116         } else {
27117           goto handle_unusual;
27118         }
27119         if (input->ExpectTag(72)) goto parse_force_encoded_color;
27120         break;
27121       }
27122
27123       // optional bool force_encoded_color = 9 [default = false];
27124       case 9: {
27125         if (tag == 72) {
27126          parse_force_encoded_color:
27127           set_has_force_encoded_color();
27128           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
27129                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
27130                  input, &force_encoded_color_)));
27131         } else {
27132           goto handle_unusual;
27133         }
27134         if (input->ExpectTag(80)) goto parse_prefetch;
27135         break;
27136       }
27137
27138       // optional uint32 prefetch = 10 [default = 4];
27139       case 10: {
27140         if (tag == 80) {
27141          parse_prefetch:
27142           set_has_prefetch();
27143           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
27144                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
27145                  input, &prefetch_)));
27146         } else {
27147           goto handle_unusual;
27148         }
27149         if (input->ExpectAtEnd()) goto success;
27150         break;
27151       }
27152
27153       default: {
27154       handle_unusual:
27155         if (tag == 0 ||
27156             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
27157             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
27158           goto success;
27159         }
27160         DO_(::google::protobuf::internal::WireFormat::SkipField(
27161               input, tag, mutable_unknown_fields()));
27162         break;
27163       }
27164     }
27165   }
27166 success:
27167   // @@protoc_insertion_point(parse_success:opencv_caffe.DataParameter)
27168   return true;
27169 failure:
27170   // @@protoc_insertion_point(parse_failure:opencv_caffe.DataParameter)
27171   return false;
27172 #undef DO_
27173 }
27174
27175 void DataParameter::SerializeWithCachedSizes(
27176     ::google::protobuf::io::CodedOutputStream* output) const {
27177   // @@protoc_insertion_point(serialize_start:opencv_caffe.DataParameter)
27178   // optional string source = 1;
27179   if (has_source()) {
27180     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
27181       this->source().data(), this->source().length(),
27182       ::google::protobuf::internal::WireFormat::SERIALIZE,
27183       "opencv_caffe.DataParameter.source");
27184     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
27185       1, this->source(), output);
27186   }
27187
27188   // optional float scale = 2 [default = 1];
27189   if (has_scale()) {
27190     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->scale(), output);
27191   }
27192
27193   // optional string mean_file = 3;
27194   if (has_mean_file()) {
27195     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
27196       this->mean_file().data(), this->mean_file().length(),
27197       ::google::protobuf::internal::WireFormat::SERIALIZE,
27198       "opencv_caffe.DataParameter.mean_file");
27199     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
27200       3, this->mean_file(), output);
27201   }
27202
27203   // optional uint32 batch_size = 4;
27204   if (has_batch_size()) {
27205     ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->batch_size(), output);
27206   }
27207
27208   // optional uint32 crop_size = 5 [default = 0];
27209   if (has_crop_size()) {
27210     ::google::protobuf::internal::WireFormatLite::WriteUInt32(5, this->crop_size(), output);
27211   }
27212
27213   // optional bool mirror = 6 [default = false];
27214   if (has_mirror()) {
27215     ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->mirror(), output);
27216   }
27217
27218   // optional uint32 rand_skip = 7 [default = 0];
27219   if (has_rand_skip()) {
27220     ::google::protobuf::internal::WireFormatLite::WriteUInt32(7, this->rand_skip(), output);
27221   }
27222
27223   // optional .opencv_caffe.DataParameter.DB backend = 8 [default = LEVELDB];
27224   if (has_backend()) {
27225     ::google::protobuf::internal::WireFormatLite::WriteEnum(
27226       8, this->backend(), output);
27227   }
27228
27229   // optional bool force_encoded_color = 9 [default = false];
27230   if (has_force_encoded_color()) {
27231     ::google::protobuf::internal::WireFormatLite::WriteBool(9, this->force_encoded_color(), output);
27232   }
27233
27234   // optional uint32 prefetch = 10 [default = 4];
27235   if (has_prefetch()) {
27236     ::google::protobuf::internal::WireFormatLite::WriteUInt32(10, this->prefetch(), output);
27237   }
27238
27239   if (_internal_metadata_.have_unknown_fields()) {
27240     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
27241         unknown_fields(), output);
27242   }
27243   // @@protoc_insertion_point(serialize_end:opencv_caffe.DataParameter)
27244 }
27245
27246 ::google::protobuf::uint8* DataParameter::InternalSerializeWithCachedSizesToArray(
27247     bool deterministic, ::google::protobuf::uint8* target) const {
27248   (void)deterministic; // Unused
27249   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.DataParameter)
27250   // optional string source = 1;
27251   if (has_source()) {
27252     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
27253       this->source().data(), this->source().length(),
27254       ::google::protobuf::internal::WireFormat::SERIALIZE,
27255       "opencv_caffe.DataParameter.source");
27256     target =
27257       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
27258         1, this->source(), target);
27259   }
27260
27261   // optional float scale = 2 [default = 1];
27262   if (has_scale()) {
27263     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->scale(), target);
27264   }
27265
27266   // optional string mean_file = 3;
27267   if (has_mean_file()) {
27268     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
27269       this->mean_file().data(), this->mean_file().length(),
27270       ::google::protobuf::internal::WireFormat::SERIALIZE,
27271       "opencv_caffe.DataParameter.mean_file");
27272     target =
27273       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
27274         3, this->mean_file(), target);
27275   }
27276
27277   // optional uint32 batch_size = 4;
27278   if (has_batch_size()) {
27279     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(4, this->batch_size(), target);
27280   }
27281
27282   // optional uint32 crop_size = 5 [default = 0];
27283   if (has_crop_size()) {
27284     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(5, this->crop_size(), target);
27285   }
27286
27287   // optional bool mirror = 6 [default = false];
27288   if (has_mirror()) {
27289     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(6, this->mirror(), target);
27290   }
27291
27292   // optional uint32 rand_skip = 7 [default = 0];
27293   if (has_rand_skip()) {
27294     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(7, this->rand_skip(), target);
27295   }
27296
27297   // optional .opencv_caffe.DataParameter.DB backend = 8 [default = LEVELDB];
27298   if (has_backend()) {
27299     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
27300       8, this->backend(), target);
27301   }
27302
27303   // optional bool force_encoded_color = 9 [default = false];
27304   if (has_force_encoded_color()) {
27305     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(9, this->force_encoded_color(), target);
27306   }
27307
27308   // optional uint32 prefetch = 10 [default = 4];
27309   if (has_prefetch()) {
27310     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(10, this->prefetch(), target);
27311   }
27312
27313   if (_internal_metadata_.have_unknown_fields()) {
27314     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
27315         unknown_fields(), target);
27316   }
27317   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.DataParameter)
27318   return target;
27319 }
27320
27321 size_t DataParameter::ByteSizeLong() const {
27322 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.DataParameter)
27323   size_t total_size = 0;
27324
27325   if (_has_bits_[0 / 32] & 255u) {
27326     // optional string source = 1;
27327     if (has_source()) {
27328       total_size += 1 +
27329         ::google::protobuf::internal::WireFormatLite::StringSize(
27330           this->source());
27331     }
27332
27333     // optional uint32 batch_size = 4;
27334     if (has_batch_size()) {
27335       total_size += 1 +
27336         ::google::protobuf::internal::WireFormatLite::UInt32Size(
27337           this->batch_size());
27338     }
27339
27340     // optional uint32 rand_skip = 7 [default = 0];
27341     if (has_rand_skip()) {
27342       total_size += 1 +
27343         ::google::protobuf::internal::WireFormatLite::UInt32Size(
27344           this->rand_skip());
27345     }
27346
27347     // optional .opencv_caffe.DataParameter.DB backend = 8 [default = LEVELDB];
27348     if (has_backend()) {
27349       total_size += 1 +
27350         ::google::protobuf::internal::WireFormatLite::EnumSize(this->backend());
27351     }
27352
27353     // optional float scale = 2 [default = 1];
27354     if (has_scale()) {
27355       total_size += 1 + 4;
27356     }
27357
27358     // optional string mean_file = 3;
27359     if (has_mean_file()) {
27360       total_size += 1 +
27361         ::google::protobuf::internal::WireFormatLite::StringSize(
27362           this->mean_file());
27363     }
27364
27365     // optional uint32 crop_size = 5 [default = 0];
27366     if (has_crop_size()) {
27367       total_size += 1 +
27368         ::google::protobuf::internal::WireFormatLite::UInt32Size(
27369           this->crop_size());
27370     }
27371
27372     // optional bool mirror = 6 [default = false];
27373     if (has_mirror()) {
27374       total_size += 1 + 1;
27375     }
27376
27377   }
27378   if (_has_bits_[8 / 32] & 768u) {
27379     // optional bool force_encoded_color = 9 [default = false];
27380     if (has_force_encoded_color()) {
27381       total_size += 1 + 1;
27382     }
27383
27384     // optional uint32 prefetch = 10 [default = 4];
27385     if (has_prefetch()) {
27386       total_size += 1 +
27387         ::google::protobuf::internal::WireFormatLite::UInt32Size(
27388           this->prefetch());
27389     }
27390
27391   }
27392   if (_internal_metadata_.have_unknown_fields()) {
27393     total_size +=
27394       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
27395         unknown_fields());
27396   }
27397   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
27398   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
27399   _cached_size_ = cached_size;
27400   GOOGLE_SAFE_CONCURRENT_WRITES_END();
27401   return total_size;
27402 }
27403
27404 void DataParameter::MergeFrom(const ::google::protobuf::Message& from) {
27405 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.DataParameter)
27406   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
27407   const DataParameter* source =
27408       ::google::protobuf::internal::DynamicCastToGenerated<const DataParameter>(
27409           &from);
27410   if (source == NULL) {
27411   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.DataParameter)
27412     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
27413   } else {
27414   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.DataParameter)
27415     UnsafeMergeFrom(*source);
27416   }
27417 }
27418
27419 void DataParameter::MergeFrom(const DataParameter& from) {
27420 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.DataParameter)
27421   if (GOOGLE_PREDICT_TRUE(&from != this)) {
27422     UnsafeMergeFrom(from);
27423   } else {
27424     MergeFromFail(__LINE__);
27425   }
27426 }
27427
27428 void DataParameter::UnsafeMergeFrom(const DataParameter& from) {
27429   GOOGLE_DCHECK(&from != this);
27430   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
27431     if (from.has_source()) {
27432       set_has_source();
27433       source_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.source_);
27434     }
27435     if (from.has_batch_size()) {
27436       set_batch_size(from.batch_size());
27437     }
27438     if (from.has_rand_skip()) {
27439       set_rand_skip(from.rand_skip());
27440     }
27441     if (from.has_backend()) {
27442       set_backend(from.backend());
27443     }
27444     if (from.has_scale()) {
27445       set_scale(from.scale());
27446     }
27447     if (from.has_mean_file()) {
27448       set_has_mean_file();
27449       mean_file_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.mean_file_);
27450     }
27451     if (from.has_crop_size()) {
27452       set_crop_size(from.crop_size());
27453     }
27454     if (from.has_mirror()) {
27455       set_mirror(from.mirror());
27456     }
27457   }
27458   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
27459     if (from.has_force_encoded_color()) {
27460       set_force_encoded_color(from.force_encoded_color());
27461     }
27462     if (from.has_prefetch()) {
27463       set_prefetch(from.prefetch());
27464     }
27465   }
27466   if (from._internal_metadata_.have_unknown_fields()) {
27467     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
27468       from.unknown_fields(), &_internal_metadata_);
27469   }
27470 }
27471
27472 void DataParameter::CopyFrom(const ::google::protobuf::Message& from) {
27473 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.DataParameter)
27474   if (&from == this) return;
27475   Clear();
27476   MergeFrom(from);
27477 }
27478
27479 void DataParameter::CopyFrom(const DataParameter& from) {
27480 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.DataParameter)
27481   if (&from == this) return;
27482   Clear();
27483   UnsafeMergeFrom(from);
27484 }
27485
27486 bool DataParameter::IsInitialized() const {
27487
27488   return true;
27489 }
27490
27491 void DataParameter::Swap(DataParameter* other) {
27492   if (other == this) return;
27493   InternalSwap(other);
27494 }
27495 void DataParameter::InternalSwap(DataParameter* other) {
27496   source_.Swap(&other->source_);
27497   std::swap(batch_size_, other->batch_size_);
27498   std::swap(rand_skip_, other->rand_skip_);
27499   std::swap(backend_, other->backend_);
27500   std::swap(scale_, other->scale_);
27501   mean_file_.Swap(&other->mean_file_);
27502   std::swap(crop_size_, other->crop_size_);
27503   std::swap(mirror_, other->mirror_);
27504   std::swap(force_encoded_color_, other->force_encoded_color_);
27505   std::swap(prefetch_, other->prefetch_);
27506   std::swap(_has_bits_[0], other->_has_bits_[0]);
27507   _internal_metadata_.Swap(&other->_internal_metadata_);
27508   std::swap(_cached_size_, other->_cached_size_);
27509 }
27510
27511 ::google::protobuf::Metadata DataParameter::GetMetadata() const {
27512   protobuf_AssignDescriptorsOnce();
27513   ::google::protobuf::Metadata metadata;
27514   metadata.descriptor = DataParameter_descriptor_;
27515   metadata.reflection = DataParameter_reflection_;
27516   return metadata;
27517 }
27518
27519 #if PROTOBUF_INLINE_NOT_IN_HEADERS
27520 // DataParameter
27521
27522 // optional string source = 1;
27523 bool DataParameter::has_source() const {
27524   return (_has_bits_[0] & 0x00000001u) != 0;
27525 }
27526 void DataParameter::set_has_source() {
27527   _has_bits_[0] |= 0x00000001u;
27528 }
27529 void DataParameter::clear_has_source() {
27530   _has_bits_[0] &= ~0x00000001u;
27531 }
27532 void DataParameter::clear_source() {
27533   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27534   clear_has_source();
27535 }
27536 const ::std::string& DataParameter::source() const {
27537   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.source)
27538   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27539 }
27540 void DataParameter::set_source(const ::std::string& value) {
27541   set_has_source();
27542   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
27543   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.source)
27544 }
27545 void DataParameter::set_source(const char* value) {
27546   set_has_source();
27547   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
27548   // @@protoc_insertion_point(field_set_char:opencv_caffe.DataParameter.source)
27549 }
27550 void DataParameter::set_source(const char* value, size_t size) {
27551   set_has_source();
27552   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
27553       ::std::string(reinterpret_cast<const char*>(value), size));
27554   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.DataParameter.source)
27555 }
27556 ::std::string* DataParameter::mutable_source() {
27557   set_has_source();
27558   // @@protoc_insertion_point(field_mutable:opencv_caffe.DataParameter.source)
27559   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27560 }
27561 ::std::string* DataParameter::release_source() {
27562   // @@protoc_insertion_point(field_release:opencv_caffe.DataParameter.source)
27563   clear_has_source();
27564   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27565 }
27566 void DataParameter::set_allocated_source(::std::string* source) {
27567   if (source != NULL) {
27568     set_has_source();
27569   } else {
27570     clear_has_source();
27571   }
27572   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
27573   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.DataParameter.source)
27574 }
27575
27576 // optional uint32 batch_size = 4;
27577 bool DataParameter::has_batch_size() const {
27578   return (_has_bits_[0] & 0x00000002u) != 0;
27579 }
27580 void DataParameter::set_has_batch_size() {
27581   _has_bits_[0] |= 0x00000002u;
27582 }
27583 void DataParameter::clear_has_batch_size() {
27584   _has_bits_[0] &= ~0x00000002u;
27585 }
27586 void DataParameter::clear_batch_size() {
27587   batch_size_ = 0u;
27588   clear_has_batch_size();
27589 }
27590 ::google::protobuf::uint32 DataParameter::batch_size() const {
27591   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.batch_size)
27592   return batch_size_;
27593 }
27594 void DataParameter::set_batch_size(::google::protobuf::uint32 value) {
27595   set_has_batch_size();
27596   batch_size_ = value;
27597   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.batch_size)
27598 }
27599
27600 // optional uint32 rand_skip = 7 [default = 0];
27601 bool DataParameter::has_rand_skip() const {
27602   return (_has_bits_[0] & 0x00000004u) != 0;
27603 }
27604 void DataParameter::set_has_rand_skip() {
27605   _has_bits_[0] |= 0x00000004u;
27606 }
27607 void DataParameter::clear_has_rand_skip() {
27608   _has_bits_[0] &= ~0x00000004u;
27609 }
27610 void DataParameter::clear_rand_skip() {
27611   rand_skip_ = 0u;
27612   clear_has_rand_skip();
27613 }
27614 ::google::protobuf::uint32 DataParameter::rand_skip() const {
27615   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.rand_skip)
27616   return rand_skip_;
27617 }
27618 void DataParameter::set_rand_skip(::google::protobuf::uint32 value) {
27619   set_has_rand_skip();
27620   rand_skip_ = value;
27621   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.rand_skip)
27622 }
27623
27624 // optional .opencv_caffe.DataParameter.DB backend = 8 [default = LEVELDB];
27625 bool DataParameter::has_backend() const {
27626   return (_has_bits_[0] & 0x00000008u) != 0;
27627 }
27628 void DataParameter::set_has_backend() {
27629   _has_bits_[0] |= 0x00000008u;
27630 }
27631 void DataParameter::clear_has_backend() {
27632   _has_bits_[0] &= ~0x00000008u;
27633 }
27634 void DataParameter::clear_backend() {
27635   backend_ = 0;
27636   clear_has_backend();
27637 }
27638 ::opencv_caffe::DataParameter_DB DataParameter::backend() const {
27639   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.backend)
27640   return static_cast< ::opencv_caffe::DataParameter_DB >(backend_);
27641 }
27642 void DataParameter::set_backend(::opencv_caffe::DataParameter_DB value) {
27643   assert(::opencv_caffe::DataParameter_DB_IsValid(value));
27644   set_has_backend();
27645   backend_ = value;
27646   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.backend)
27647 }
27648
27649 // optional float scale = 2 [default = 1];
27650 bool DataParameter::has_scale() const {
27651   return (_has_bits_[0] & 0x00000010u) != 0;
27652 }
27653 void DataParameter::set_has_scale() {
27654   _has_bits_[0] |= 0x00000010u;
27655 }
27656 void DataParameter::clear_has_scale() {
27657   _has_bits_[0] &= ~0x00000010u;
27658 }
27659 void DataParameter::clear_scale() {
27660   scale_ = 1;
27661   clear_has_scale();
27662 }
27663 float DataParameter::scale() const {
27664   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.scale)
27665   return scale_;
27666 }
27667 void DataParameter::set_scale(float value) {
27668   set_has_scale();
27669   scale_ = value;
27670   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.scale)
27671 }
27672
27673 // optional string mean_file = 3;
27674 bool DataParameter::has_mean_file() const {
27675   return (_has_bits_[0] & 0x00000020u) != 0;
27676 }
27677 void DataParameter::set_has_mean_file() {
27678   _has_bits_[0] |= 0x00000020u;
27679 }
27680 void DataParameter::clear_has_mean_file() {
27681   _has_bits_[0] &= ~0x00000020u;
27682 }
27683 void DataParameter::clear_mean_file() {
27684   mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27685   clear_has_mean_file();
27686 }
27687 const ::std::string& DataParameter::mean_file() const {
27688   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.mean_file)
27689   return mean_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27690 }
27691 void DataParameter::set_mean_file(const ::std::string& value) {
27692   set_has_mean_file();
27693   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
27694   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.mean_file)
27695 }
27696 void DataParameter::set_mean_file(const char* value) {
27697   set_has_mean_file();
27698   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
27699   // @@protoc_insertion_point(field_set_char:opencv_caffe.DataParameter.mean_file)
27700 }
27701 void DataParameter::set_mean_file(const char* value, size_t size) {
27702   set_has_mean_file();
27703   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
27704       ::std::string(reinterpret_cast<const char*>(value), size));
27705   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.DataParameter.mean_file)
27706 }
27707 ::std::string* DataParameter::mutable_mean_file() {
27708   set_has_mean_file();
27709   // @@protoc_insertion_point(field_mutable:opencv_caffe.DataParameter.mean_file)
27710   return mean_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27711 }
27712 ::std::string* DataParameter::release_mean_file() {
27713   // @@protoc_insertion_point(field_release:opencv_caffe.DataParameter.mean_file)
27714   clear_has_mean_file();
27715   return mean_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27716 }
27717 void DataParameter::set_allocated_mean_file(::std::string* mean_file) {
27718   if (mean_file != NULL) {
27719     set_has_mean_file();
27720   } else {
27721     clear_has_mean_file();
27722   }
27723   mean_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mean_file);
27724   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.DataParameter.mean_file)
27725 }
27726
27727 // optional uint32 crop_size = 5 [default = 0];
27728 bool DataParameter::has_crop_size() const {
27729   return (_has_bits_[0] & 0x00000040u) != 0;
27730 }
27731 void DataParameter::set_has_crop_size() {
27732   _has_bits_[0] |= 0x00000040u;
27733 }
27734 void DataParameter::clear_has_crop_size() {
27735   _has_bits_[0] &= ~0x00000040u;
27736 }
27737 void DataParameter::clear_crop_size() {
27738   crop_size_ = 0u;
27739   clear_has_crop_size();
27740 }
27741 ::google::protobuf::uint32 DataParameter::crop_size() const {
27742   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.crop_size)
27743   return crop_size_;
27744 }
27745 void DataParameter::set_crop_size(::google::protobuf::uint32 value) {
27746   set_has_crop_size();
27747   crop_size_ = value;
27748   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.crop_size)
27749 }
27750
27751 // optional bool mirror = 6 [default = false];
27752 bool DataParameter::has_mirror() const {
27753   return (_has_bits_[0] & 0x00000080u) != 0;
27754 }
27755 void DataParameter::set_has_mirror() {
27756   _has_bits_[0] |= 0x00000080u;
27757 }
27758 void DataParameter::clear_has_mirror() {
27759   _has_bits_[0] &= ~0x00000080u;
27760 }
27761 void DataParameter::clear_mirror() {
27762   mirror_ = false;
27763   clear_has_mirror();
27764 }
27765 bool DataParameter::mirror() const {
27766   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.mirror)
27767   return mirror_;
27768 }
27769 void DataParameter::set_mirror(bool value) {
27770   set_has_mirror();
27771   mirror_ = value;
27772   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.mirror)
27773 }
27774
27775 // optional bool force_encoded_color = 9 [default = false];
27776 bool DataParameter::has_force_encoded_color() const {
27777   return (_has_bits_[0] & 0x00000100u) != 0;
27778 }
27779 void DataParameter::set_has_force_encoded_color() {
27780   _has_bits_[0] |= 0x00000100u;
27781 }
27782 void DataParameter::clear_has_force_encoded_color() {
27783   _has_bits_[0] &= ~0x00000100u;
27784 }
27785 void DataParameter::clear_force_encoded_color() {
27786   force_encoded_color_ = false;
27787   clear_has_force_encoded_color();
27788 }
27789 bool DataParameter::force_encoded_color() const {
27790   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.force_encoded_color)
27791   return force_encoded_color_;
27792 }
27793 void DataParameter::set_force_encoded_color(bool value) {
27794   set_has_force_encoded_color();
27795   force_encoded_color_ = value;
27796   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.force_encoded_color)
27797 }
27798
27799 // optional uint32 prefetch = 10 [default = 4];
27800 bool DataParameter::has_prefetch() const {
27801   return (_has_bits_[0] & 0x00000200u) != 0;
27802 }
27803 void DataParameter::set_has_prefetch() {
27804   _has_bits_[0] |= 0x00000200u;
27805 }
27806 void DataParameter::clear_has_prefetch() {
27807   _has_bits_[0] &= ~0x00000200u;
27808 }
27809 void DataParameter::clear_prefetch() {
27810   prefetch_ = 4u;
27811   clear_has_prefetch();
27812 }
27813 ::google::protobuf::uint32 DataParameter::prefetch() const {
27814   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.prefetch)
27815   return prefetch_;
27816 }
27817 void DataParameter::set_prefetch(::google::protobuf::uint32 value) {
27818   set_has_prefetch();
27819   prefetch_ = value;
27820   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.prefetch)
27821 }
27822
27823 inline const DataParameter* DataParameter::internal_default_instance() {
27824   return &DataParameter_default_instance_.get();
27825 }
27826 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
27827
27828 // ===================================================================
27829
27830 #if !defined(_MSC_VER) || _MSC_VER >= 1900
27831 const int NonMaximumSuppressionParameter::kNmsThresholdFieldNumber;
27832 const int NonMaximumSuppressionParameter::kTopKFieldNumber;
27833 const int NonMaximumSuppressionParameter::kEtaFieldNumber;
27834 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
27835
27836 NonMaximumSuppressionParameter::NonMaximumSuppressionParameter()
27837   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
27838   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
27839   SharedCtor();
27840   // @@protoc_insertion_point(constructor:opencv_caffe.NonMaximumSuppressionParameter)
27841 }
27842
27843 void NonMaximumSuppressionParameter::InitAsDefaultInstance() {
27844 }
27845
27846 NonMaximumSuppressionParameter::NonMaximumSuppressionParameter(const NonMaximumSuppressionParameter& from)
27847   : ::google::protobuf::Message(),
27848     _internal_metadata_(NULL) {
27849   SharedCtor();
27850   UnsafeMergeFrom(from);
27851   // @@protoc_insertion_point(copy_constructor:opencv_caffe.NonMaximumSuppressionParameter)
27852 }
27853
27854 void NonMaximumSuppressionParameter::SharedCtor() {
27855   _cached_size_ = 0;
27856   top_k_ = 0;
27857   nms_threshold_ = 0.3f;
27858   eta_ = 1;
27859 }
27860
27861 NonMaximumSuppressionParameter::~NonMaximumSuppressionParameter() {
27862   // @@protoc_insertion_point(destructor:opencv_caffe.NonMaximumSuppressionParameter)
27863   SharedDtor();
27864 }
27865
27866 void NonMaximumSuppressionParameter::SharedDtor() {
27867 }
27868
27869 void NonMaximumSuppressionParameter::SetCachedSize(int size) const {
27870   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
27871   _cached_size_ = size;
27872   GOOGLE_SAFE_CONCURRENT_WRITES_END();
27873 }
27874 const ::google::protobuf::Descriptor* NonMaximumSuppressionParameter::descriptor() {
27875   protobuf_AssignDescriptorsOnce();
27876   return NonMaximumSuppressionParameter_descriptor_;
27877 }
27878
27879 const NonMaximumSuppressionParameter& NonMaximumSuppressionParameter::default_instance() {
27880   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
27881   return *internal_default_instance();
27882 }
27883
27884 ::google::protobuf::internal::ExplicitlyConstructed<NonMaximumSuppressionParameter> NonMaximumSuppressionParameter_default_instance_;
27885
27886 NonMaximumSuppressionParameter* NonMaximumSuppressionParameter::New(::google::protobuf::Arena* arena) const {
27887   NonMaximumSuppressionParameter* n = new NonMaximumSuppressionParameter;
27888   if (arena != NULL) {
27889     arena->Own(n);
27890   }
27891   return n;
27892 }
27893
27894 void NonMaximumSuppressionParameter::Clear() {
27895 // @@protoc_insertion_point(message_clear_start:opencv_caffe.NonMaximumSuppressionParameter)
27896   if (_has_bits_[0 / 32] & 7u) {
27897     nms_threshold_ = 0.3f;
27898     top_k_ = 0;
27899     eta_ = 1;
27900   }
27901   _has_bits_.Clear();
27902   if (_internal_metadata_.have_unknown_fields()) {
27903     mutable_unknown_fields()->Clear();
27904   }
27905 }
27906
27907 bool NonMaximumSuppressionParameter::MergePartialFromCodedStream(
27908     ::google::protobuf::io::CodedInputStream* input) {
27909 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
27910   ::google::protobuf::uint32 tag;
27911   // @@protoc_insertion_point(parse_start:opencv_caffe.NonMaximumSuppressionParameter)
27912   for (;;) {
27913     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
27914     tag = p.first;
27915     if (!p.second) goto handle_unusual;
27916     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
27917       // optional float nms_threshold = 1 [default = 0.3];
27918       case 1: {
27919         if (tag == 13) {
27920           set_has_nms_threshold();
27921           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
27922                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
27923                  input, &nms_threshold_)));
27924         } else {
27925           goto handle_unusual;
27926         }
27927         if (input->ExpectTag(16)) goto parse_top_k;
27928         break;
27929       }
27930
27931       // optional int32 top_k = 2;
27932       case 2: {
27933         if (tag == 16) {
27934          parse_top_k:
27935           set_has_top_k();
27936           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
27937                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
27938                  input, &top_k_)));
27939         } else {
27940           goto handle_unusual;
27941         }
27942         if (input->ExpectTag(29)) goto parse_eta;
27943         break;
27944       }
27945
27946       // optional float eta = 3 [default = 1];
27947       case 3: {
27948         if (tag == 29) {
27949          parse_eta:
27950           set_has_eta();
27951           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
27952                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
27953                  input, &eta_)));
27954         } else {
27955           goto handle_unusual;
27956         }
27957         if (input->ExpectAtEnd()) goto success;
27958         break;
27959       }
27960
27961       default: {
27962       handle_unusual:
27963         if (tag == 0 ||
27964             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
27965             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
27966           goto success;
27967         }
27968         DO_(::google::protobuf::internal::WireFormat::SkipField(
27969               input, tag, mutable_unknown_fields()));
27970         break;
27971       }
27972     }
27973   }
27974 success:
27975   // @@protoc_insertion_point(parse_success:opencv_caffe.NonMaximumSuppressionParameter)
27976   return true;
27977 failure:
27978   // @@protoc_insertion_point(parse_failure:opencv_caffe.NonMaximumSuppressionParameter)
27979   return false;
27980 #undef DO_
27981 }
27982
27983 void NonMaximumSuppressionParameter::SerializeWithCachedSizes(
27984     ::google::protobuf::io::CodedOutputStream* output) const {
27985   // @@protoc_insertion_point(serialize_start:opencv_caffe.NonMaximumSuppressionParameter)
27986   // optional float nms_threshold = 1 [default = 0.3];
27987   if (has_nms_threshold()) {
27988     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->nms_threshold(), output);
27989   }
27990
27991   // optional int32 top_k = 2;
27992   if (has_top_k()) {
27993     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->top_k(), output);
27994   }
27995
27996   // optional float eta = 3 [default = 1];
27997   if (has_eta()) {
27998     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->eta(), output);
27999   }
28000
28001   if (_internal_metadata_.have_unknown_fields()) {
28002     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
28003         unknown_fields(), output);
28004   }
28005   // @@protoc_insertion_point(serialize_end:opencv_caffe.NonMaximumSuppressionParameter)
28006 }
28007
28008 ::google::protobuf::uint8* NonMaximumSuppressionParameter::InternalSerializeWithCachedSizesToArray(
28009     bool deterministic, ::google::protobuf::uint8* target) const {
28010   (void)deterministic; // Unused
28011   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.NonMaximumSuppressionParameter)
28012   // optional float nms_threshold = 1 [default = 0.3];
28013   if (has_nms_threshold()) {
28014     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->nms_threshold(), target);
28015   }
28016
28017   // optional int32 top_k = 2;
28018   if (has_top_k()) {
28019     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->top_k(), target);
28020   }
28021
28022   // optional float eta = 3 [default = 1];
28023   if (has_eta()) {
28024     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->eta(), target);
28025   }
28026
28027   if (_internal_metadata_.have_unknown_fields()) {
28028     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
28029         unknown_fields(), target);
28030   }
28031   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.NonMaximumSuppressionParameter)
28032   return target;
28033 }
28034
28035 size_t NonMaximumSuppressionParameter::ByteSizeLong() const {
28036 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.NonMaximumSuppressionParameter)
28037   size_t total_size = 0;
28038
28039   if (_has_bits_[0 / 32] & 7u) {
28040     // optional float nms_threshold = 1 [default = 0.3];
28041     if (has_nms_threshold()) {
28042       total_size += 1 + 4;
28043     }
28044
28045     // optional int32 top_k = 2;
28046     if (has_top_k()) {
28047       total_size += 1 +
28048         ::google::protobuf::internal::WireFormatLite::Int32Size(
28049           this->top_k());
28050     }
28051
28052     // optional float eta = 3 [default = 1];
28053     if (has_eta()) {
28054       total_size += 1 + 4;
28055     }
28056
28057   }
28058   if (_internal_metadata_.have_unknown_fields()) {
28059     total_size +=
28060       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
28061         unknown_fields());
28062   }
28063   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
28064   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
28065   _cached_size_ = cached_size;
28066   GOOGLE_SAFE_CONCURRENT_WRITES_END();
28067   return total_size;
28068 }
28069
28070 void NonMaximumSuppressionParameter::MergeFrom(const ::google::protobuf::Message& from) {
28071 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.NonMaximumSuppressionParameter)
28072   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
28073   const NonMaximumSuppressionParameter* source =
28074       ::google::protobuf::internal::DynamicCastToGenerated<const NonMaximumSuppressionParameter>(
28075           &from);
28076   if (source == NULL) {
28077   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.NonMaximumSuppressionParameter)
28078     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
28079   } else {
28080   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.NonMaximumSuppressionParameter)
28081     UnsafeMergeFrom(*source);
28082   }
28083 }
28084
28085 void NonMaximumSuppressionParameter::MergeFrom(const NonMaximumSuppressionParameter& from) {
28086 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.NonMaximumSuppressionParameter)
28087   if (GOOGLE_PREDICT_TRUE(&from != this)) {
28088     UnsafeMergeFrom(from);
28089   } else {
28090     MergeFromFail(__LINE__);
28091   }
28092 }
28093
28094 void NonMaximumSuppressionParameter::UnsafeMergeFrom(const NonMaximumSuppressionParameter& from) {
28095   GOOGLE_DCHECK(&from != this);
28096   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
28097     if (from.has_nms_threshold()) {
28098       set_nms_threshold(from.nms_threshold());
28099     }
28100     if (from.has_top_k()) {
28101       set_top_k(from.top_k());
28102     }
28103     if (from.has_eta()) {
28104       set_eta(from.eta());
28105     }
28106   }
28107   if (from._internal_metadata_.have_unknown_fields()) {
28108     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
28109       from.unknown_fields(), &_internal_metadata_);
28110   }
28111 }
28112
28113 void NonMaximumSuppressionParameter::CopyFrom(const ::google::protobuf::Message& from) {
28114 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.NonMaximumSuppressionParameter)
28115   if (&from == this) return;
28116   Clear();
28117   MergeFrom(from);
28118 }
28119
28120 void NonMaximumSuppressionParameter::CopyFrom(const NonMaximumSuppressionParameter& from) {
28121 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.NonMaximumSuppressionParameter)
28122   if (&from == this) return;
28123   Clear();
28124   UnsafeMergeFrom(from);
28125 }
28126
28127 bool NonMaximumSuppressionParameter::IsInitialized() const {
28128
28129   return true;
28130 }
28131
28132 void NonMaximumSuppressionParameter::Swap(NonMaximumSuppressionParameter* other) {
28133   if (other == this) return;
28134   InternalSwap(other);
28135 }
28136 void NonMaximumSuppressionParameter::InternalSwap(NonMaximumSuppressionParameter* other) {
28137   std::swap(nms_threshold_, other->nms_threshold_);
28138   std::swap(top_k_, other->top_k_);
28139   std::swap(eta_, other->eta_);
28140   std::swap(_has_bits_[0], other->_has_bits_[0]);
28141   _internal_metadata_.Swap(&other->_internal_metadata_);
28142   std::swap(_cached_size_, other->_cached_size_);
28143 }
28144
28145 ::google::protobuf::Metadata NonMaximumSuppressionParameter::GetMetadata() const {
28146   protobuf_AssignDescriptorsOnce();
28147   ::google::protobuf::Metadata metadata;
28148   metadata.descriptor = NonMaximumSuppressionParameter_descriptor_;
28149   metadata.reflection = NonMaximumSuppressionParameter_reflection_;
28150   return metadata;
28151 }
28152
28153 #if PROTOBUF_INLINE_NOT_IN_HEADERS
28154 // NonMaximumSuppressionParameter
28155
28156 // optional float nms_threshold = 1 [default = 0.3];
28157 bool NonMaximumSuppressionParameter::has_nms_threshold() const {
28158   return (_has_bits_[0] & 0x00000001u) != 0;
28159 }
28160 void NonMaximumSuppressionParameter::set_has_nms_threshold() {
28161   _has_bits_[0] |= 0x00000001u;
28162 }
28163 void NonMaximumSuppressionParameter::clear_has_nms_threshold() {
28164   _has_bits_[0] &= ~0x00000001u;
28165 }
28166 void NonMaximumSuppressionParameter::clear_nms_threshold() {
28167   nms_threshold_ = 0.3f;
28168   clear_has_nms_threshold();
28169 }
28170 float NonMaximumSuppressionParameter::nms_threshold() const {
28171   // @@protoc_insertion_point(field_get:opencv_caffe.NonMaximumSuppressionParameter.nms_threshold)
28172   return nms_threshold_;
28173 }
28174 void NonMaximumSuppressionParameter::set_nms_threshold(float value) {
28175   set_has_nms_threshold();
28176   nms_threshold_ = value;
28177   // @@protoc_insertion_point(field_set:opencv_caffe.NonMaximumSuppressionParameter.nms_threshold)
28178 }
28179
28180 // optional int32 top_k = 2;
28181 bool NonMaximumSuppressionParameter::has_top_k() const {
28182   return (_has_bits_[0] & 0x00000002u) != 0;
28183 }
28184 void NonMaximumSuppressionParameter::set_has_top_k() {
28185   _has_bits_[0] |= 0x00000002u;
28186 }
28187 void NonMaximumSuppressionParameter::clear_has_top_k() {
28188   _has_bits_[0] &= ~0x00000002u;
28189 }
28190 void NonMaximumSuppressionParameter::clear_top_k() {
28191   top_k_ = 0;
28192   clear_has_top_k();
28193 }
28194 ::google::protobuf::int32 NonMaximumSuppressionParameter::top_k() const {
28195   // @@protoc_insertion_point(field_get:opencv_caffe.NonMaximumSuppressionParameter.top_k)
28196   return top_k_;
28197 }
28198 void NonMaximumSuppressionParameter::set_top_k(::google::protobuf::int32 value) {
28199   set_has_top_k();
28200   top_k_ = value;
28201   // @@protoc_insertion_point(field_set:opencv_caffe.NonMaximumSuppressionParameter.top_k)
28202 }
28203
28204 // optional float eta = 3 [default = 1];
28205 bool NonMaximumSuppressionParameter::has_eta() const {
28206   return (_has_bits_[0] & 0x00000004u) != 0;
28207 }
28208 void NonMaximumSuppressionParameter::set_has_eta() {
28209   _has_bits_[0] |= 0x00000004u;
28210 }
28211 void NonMaximumSuppressionParameter::clear_has_eta() {
28212   _has_bits_[0] &= ~0x00000004u;
28213 }
28214 void NonMaximumSuppressionParameter::clear_eta() {
28215   eta_ = 1;
28216   clear_has_eta();
28217 }
28218 float NonMaximumSuppressionParameter::eta() const {
28219   // @@protoc_insertion_point(field_get:opencv_caffe.NonMaximumSuppressionParameter.eta)
28220   return eta_;
28221 }
28222 void NonMaximumSuppressionParameter::set_eta(float value) {
28223   set_has_eta();
28224   eta_ = value;
28225   // @@protoc_insertion_point(field_set:opencv_caffe.NonMaximumSuppressionParameter.eta)
28226 }
28227
28228 inline const NonMaximumSuppressionParameter* NonMaximumSuppressionParameter::internal_default_instance() {
28229   return &NonMaximumSuppressionParameter_default_instance_.get();
28230 }
28231 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
28232
28233 // ===================================================================
28234
28235 #if !defined(_MSC_VER) || _MSC_VER >= 1900
28236 const int SaveOutputParameter::kOutputDirectoryFieldNumber;
28237 const int SaveOutputParameter::kOutputNamePrefixFieldNumber;
28238 const int SaveOutputParameter::kOutputFormatFieldNumber;
28239 const int SaveOutputParameter::kLabelMapFileFieldNumber;
28240 const int SaveOutputParameter::kNameSizeFileFieldNumber;
28241 const int SaveOutputParameter::kNumTestImageFieldNumber;
28242 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
28243
28244 SaveOutputParameter::SaveOutputParameter()
28245   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
28246   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
28247   SharedCtor();
28248   // @@protoc_insertion_point(constructor:opencv_caffe.SaveOutputParameter)
28249 }
28250
28251 void SaveOutputParameter::InitAsDefaultInstance() {
28252 }
28253
28254 SaveOutputParameter::SaveOutputParameter(const SaveOutputParameter& from)
28255   : ::google::protobuf::Message(),
28256     _internal_metadata_(NULL) {
28257   SharedCtor();
28258   UnsafeMergeFrom(from);
28259   // @@protoc_insertion_point(copy_constructor:opencv_caffe.SaveOutputParameter)
28260 }
28261
28262 void SaveOutputParameter::SharedCtor() {
28263   _cached_size_ = 0;
28264   output_directory_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28265   output_name_prefix_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28266   output_format_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28267   label_map_file_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28268   name_size_file_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28269   num_test_image_ = 0u;
28270 }
28271
28272 SaveOutputParameter::~SaveOutputParameter() {
28273   // @@protoc_insertion_point(destructor:opencv_caffe.SaveOutputParameter)
28274   SharedDtor();
28275 }
28276
28277 void SaveOutputParameter::SharedDtor() {
28278   output_directory_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28279   output_name_prefix_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28280   output_format_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28281   label_map_file_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28282   name_size_file_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28283 }
28284
28285 void SaveOutputParameter::SetCachedSize(int size) const {
28286   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
28287   _cached_size_ = size;
28288   GOOGLE_SAFE_CONCURRENT_WRITES_END();
28289 }
28290 const ::google::protobuf::Descriptor* SaveOutputParameter::descriptor() {
28291   protobuf_AssignDescriptorsOnce();
28292   return SaveOutputParameter_descriptor_;
28293 }
28294
28295 const SaveOutputParameter& SaveOutputParameter::default_instance() {
28296   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
28297   return *internal_default_instance();
28298 }
28299
28300 ::google::protobuf::internal::ExplicitlyConstructed<SaveOutputParameter> SaveOutputParameter_default_instance_;
28301
28302 SaveOutputParameter* SaveOutputParameter::New(::google::protobuf::Arena* arena) const {
28303   SaveOutputParameter* n = new SaveOutputParameter;
28304   if (arena != NULL) {
28305     arena->Own(n);
28306   }
28307   return n;
28308 }
28309
28310 void SaveOutputParameter::Clear() {
28311 // @@protoc_insertion_point(message_clear_start:opencv_caffe.SaveOutputParameter)
28312   if (_has_bits_[0 / 32] & 63u) {
28313     if (has_output_directory()) {
28314       output_directory_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28315     }
28316     if (has_output_name_prefix()) {
28317       output_name_prefix_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28318     }
28319     if (has_output_format()) {
28320       output_format_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28321     }
28322     if (has_label_map_file()) {
28323       label_map_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28324     }
28325     if (has_name_size_file()) {
28326       name_size_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28327     }
28328     num_test_image_ = 0u;
28329   }
28330   _has_bits_.Clear();
28331   if (_internal_metadata_.have_unknown_fields()) {
28332     mutable_unknown_fields()->Clear();
28333   }
28334 }
28335
28336 bool SaveOutputParameter::MergePartialFromCodedStream(
28337     ::google::protobuf::io::CodedInputStream* input) {
28338 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
28339   ::google::protobuf::uint32 tag;
28340   // @@protoc_insertion_point(parse_start:opencv_caffe.SaveOutputParameter)
28341   for (;;) {
28342     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
28343     tag = p.first;
28344     if (!p.second) goto handle_unusual;
28345     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
28346       // optional string output_directory = 1;
28347       case 1: {
28348         if (tag == 10) {
28349           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
28350                 input, this->mutable_output_directory()));
28351           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28352             this->output_directory().data(), this->output_directory().length(),
28353             ::google::protobuf::internal::WireFormat::PARSE,
28354             "opencv_caffe.SaveOutputParameter.output_directory");
28355         } else {
28356           goto handle_unusual;
28357         }
28358         if (input->ExpectTag(18)) goto parse_output_name_prefix;
28359         break;
28360       }
28361
28362       // optional string output_name_prefix = 2;
28363       case 2: {
28364         if (tag == 18) {
28365          parse_output_name_prefix:
28366           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
28367                 input, this->mutable_output_name_prefix()));
28368           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28369             this->output_name_prefix().data(), this->output_name_prefix().length(),
28370             ::google::protobuf::internal::WireFormat::PARSE,
28371             "opencv_caffe.SaveOutputParameter.output_name_prefix");
28372         } else {
28373           goto handle_unusual;
28374         }
28375         if (input->ExpectTag(26)) goto parse_output_format;
28376         break;
28377       }
28378
28379       // optional string output_format = 3;
28380       case 3: {
28381         if (tag == 26) {
28382          parse_output_format:
28383           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
28384                 input, this->mutable_output_format()));
28385           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28386             this->output_format().data(), this->output_format().length(),
28387             ::google::protobuf::internal::WireFormat::PARSE,
28388             "opencv_caffe.SaveOutputParameter.output_format");
28389         } else {
28390           goto handle_unusual;
28391         }
28392         if (input->ExpectTag(34)) goto parse_label_map_file;
28393         break;
28394       }
28395
28396       // optional string label_map_file = 4;
28397       case 4: {
28398         if (tag == 34) {
28399          parse_label_map_file:
28400           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
28401                 input, this->mutable_label_map_file()));
28402           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28403             this->label_map_file().data(), this->label_map_file().length(),
28404             ::google::protobuf::internal::WireFormat::PARSE,
28405             "opencv_caffe.SaveOutputParameter.label_map_file");
28406         } else {
28407           goto handle_unusual;
28408         }
28409         if (input->ExpectTag(42)) goto parse_name_size_file;
28410         break;
28411       }
28412
28413       // optional string name_size_file = 5;
28414       case 5: {
28415         if (tag == 42) {
28416          parse_name_size_file:
28417           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
28418                 input, this->mutable_name_size_file()));
28419           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28420             this->name_size_file().data(), this->name_size_file().length(),
28421             ::google::protobuf::internal::WireFormat::PARSE,
28422             "opencv_caffe.SaveOutputParameter.name_size_file");
28423         } else {
28424           goto handle_unusual;
28425         }
28426         if (input->ExpectTag(48)) goto parse_num_test_image;
28427         break;
28428       }
28429
28430       // optional uint32 num_test_image = 6;
28431       case 6: {
28432         if (tag == 48) {
28433          parse_num_test_image:
28434           set_has_num_test_image();
28435           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
28436                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
28437                  input, &num_test_image_)));
28438         } else {
28439           goto handle_unusual;
28440         }
28441         if (input->ExpectAtEnd()) goto success;
28442         break;
28443       }
28444
28445       default: {
28446       handle_unusual:
28447         if (tag == 0 ||
28448             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
28449             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
28450           goto success;
28451         }
28452         DO_(::google::protobuf::internal::WireFormat::SkipField(
28453               input, tag, mutable_unknown_fields()));
28454         break;
28455       }
28456     }
28457   }
28458 success:
28459   // @@protoc_insertion_point(parse_success:opencv_caffe.SaveOutputParameter)
28460   return true;
28461 failure:
28462   // @@protoc_insertion_point(parse_failure:opencv_caffe.SaveOutputParameter)
28463   return false;
28464 #undef DO_
28465 }
28466
28467 void SaveOutputParameter::SerializeWithCachedSizes(
28468     ::google::protobuf::io::CodedOutputStream* output) const {
28469   // @@protoc_insertion_point(serialize_start:opencv_caffe.SaveOutputParameter)
28470   // optional string output_directory = 1;
28471   if (has_output_directory()) {
28472     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28473       this->output_directory().data(), this->output_directory().length(),
28474       ::google::protobuf::internal::WireFormat::SERIALIZE,
28475       "opencv_caffe.SaveOutputParameter.output_directory");
28476     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
28477       1, this->output_directory(), output);
28478   }
28479
28480   // optional string output_name_prefix = 2;
28481   if (has_output_name_prefix()) {
28482     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28483       this->output_name_prefix().data(), this->output_name_prefix().length(),
28484       ::google::protobuf::internal::WireFormat::SERIALIZE,
28485       "opencv_caffe.SaveOutputParameter.output_name_prefix");
28486     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
28487       2, this->output_name_prefix(), output);
28488   }
28489
28490   // optional string output_format = 3;
28491   if (has_output_format()) {
28492     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28493       this->output_format().data(), this->output_format().length(),
28494       ::google::protobuf::internal::WireFormat::SERIALIZE,
28495       "opencv_caffe.SaveOutputParameter.output_format");
28496     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
28497       3, this->output_format(), output);
28498   }
28499
28500   // optional string label_map_file = 4;
28501   if (has_label_map_file()) {
28502     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28503       this->label_map_file().data(), this->label_map_file().length(),
28504       ::google::protobuf::internal::WireFormat::SERIALIZE,
28505       "opencv_caffe.SaveOutputParameter.label_map_file");
28506     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
28507       4, this->label_map_file(), output);
28508   }
28509
28510   // optional string name_size_file = 5;
28511   if (has_name_size_file()) {
28512     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28513       this->name_size_file().data(), this->name_size_file().length(),
28514       ::google::protobuf::internal::WireFormat::SERIALIZE,
28515       "opencv_caffe.SaveOutputParameter.name_size_file");
28516     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
28517       5, this->name_size_file(), output);
28518   }
28519
28520   // optional uint32 num_test_image = 6;
28521   if (has_num_test_image()) {
28522     ::google::protobuf::internal::WireFormatLite::WriteUInt32(6, this->num_test_image(), output);
28523   }
28524
28525   if (_internal_metadata_.have_unknown_fields()) {
28526     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
28527         unknown_fields(), output);
28528   }
28529   // @@protoc_insertion_point(serialize_end:opencv_caffe.SaveOutputParameter)
28530 }
28531
28532 ::google::protobuf::uint8* SaveOutputParameter::InternalSerializeWithCachedSizesToArray(
28533     bool deterministic, ::google::protobuf::uint8* target) const {
28534   (void)deterministic; // Unused
28535   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.SaveOutputParameter)
28536   // optional string output_directory = 1;
28537   if (has_output_directory()) {
28538     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28539       this->output_directory().data(), this->output_directory().length(),
28540       ::google::protobuf::internal::WireFormat::SERIALIZE,
28541       "opencv_caffe.SaveOutputParameter.output_directory");
28542     target =
28543       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
28544         1, this->output_directory(), target);
28545   }
28546
28547   // optional string output_name_prefix = 2;
28548   if (has_output_name_prefix()) {
28549     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28550       this->output_name_prefix().data(), this->output_name_prefix().length(),
28551       ::google::protobuf::internal::WireFormat::SERIALIZE,
28552       "opencv_caffe.SaveOutputParameter.output_name_prefix");
28553     target =
28554       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
28555         2, this->output_name_prefix(), target);
28556   }
28557
28558   // optional string output_format = 3;
28559   if (has_output_format()) {
28560     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28561       this->output_format().data(), this->output_format().length(),
28562       ::google::protobuf::internal::WireFormat::SERIALIZE,
28563       "opencv_caffe.SaveOutputParameter.output_format");
28564     target =
28565       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
28566         3, this->output_format(), target);
28567   }
28568
28569   // optional string label_map_file = 4;
28570   if (has_label_map_file()) {
28571     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28572       this->label_map_file().data(), this->label_map_file().length(),
28573       ::google::protobuf::internal::WireFormat::SERIALIZE,
28574       "opencv_caffe.SaveOutputParameter.label_map_file");
28575     target =
28576       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
28577         4, this->label_map_file(), target);
28578   }
28579
28580   // optional string name_size_file = 5;
28581   if (has_name_size_file()) {
28582     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28583       this->name_size_file().data(), this->name_size_file().length(),
28584       ::google::protobuf::internal::WireFormat::SERIALIZE,
28585       "opencv_caffe.SaveOutputParameter.name_size_file");
28586     target =
28587       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
28588         5, this->name_size_file(), target);
28589   }
28590
28591   // optional uint32 num_test_image = 6;
28592   if (has_num_test_image()) {
28593     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(6, this->num_test_image(), target);
28594   }
28595
28596   if (_internal_metadata_.have_unknown_fields()) {
28597     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
28598         unknown_fields(), target);
28599   }
28600   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.SaveOutputParameter)
28601   return target;
28602 }
28603
28604 size_t SaveOutputParameter::ByteSizeLong() const {
28605 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.SaveOutputParameter)
28606   size_t total_size = 0;
28607
28608   if (_has_bits_[0 / 32] & 63u) {
28609     // optional string output_directory = 1;
28610     if (has_output_directory()) {
28611       total_size += 1 +
28612         ::google::protobuf::internal::WireFormatLite::StringSize(
28613           this->output_directory());
28614     }
28615
28616     // optional string output_name_prefix = 2;
28617     if (has_output_name_prefix()) {
28618       total_size += 1 +
28619         ::google::protobuf::internal::WireFormatLite::StringSize(
28620           this->output_name_prefix());
28621     }
28622
28623     // optional string output_format = 3;
28624     if (has_output_format()) {
28625       total_size += 1 +
28626         ::google::protobuf::internal::WireFormatLite::StringSize(
28627           this->output_format());
28628     }
28629
28630     // optional string label_map_file = 4;
28631     if (has_label_map_file()) {
28632       total_size += 1 +
28633         ::google::protobuf::internal::WireFormatLite::StringSize(
28634           this->label_map_file());
28635     }
28636
28637     // optional string name_size_file = 5;
28638     if (has_name_size_file()) {
28639       total_size += 1 +
28640         ::google::protobuf::internal::WireFormatLite::StringSize(
28641           this->name_size_file());
28642     }
28643
28644     // optional uint32 num_test_image = 6;
28645     if (has_num_test_image()) {
28646       total_size += 1 +
28647         ::google::protobuf::internal::WireFormatLite::UInt32Size(
28648           this->num_test_image());
28649     }
28650
28651   }
28652   if (_internal_metadata_.have_unknown_fields()) {
28653     total_size +=
28654       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
28655         unknown_fields());
28656   }
28657   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
28658   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
28659   _cached_size_ = cached_size;
28660   GOOGLE_SAFE_CONCURRENT_WRITES_END();
28661   return total_size;
28662 }
28663
28664 void SaveOutputParameter::MergeFrom(const ::google::protobuf::Message& from) {
28665 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.SaveOutputParameter)
28666   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
28667   const SaveOutputParameter* source =
28668       ::google::protobuf::internal::DynamicCastToGenerated<const SaveOutputParameter>(
28669           &from);
28670   if (source == NULL) {
28671   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.SaveOutputParameter)
28672     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
28673   } else {
28674   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.SaveOutputParameter)
28675     UnsafeMergeFrom(*source);
28676   }
28677 }
28678
28679 void SaveOutputParameter::MergeFrom(const SaveOutputParameter& from) {
28680 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.SaveOutputParameter)
28681   if (GOOGLE_PREDICT_TRUE(&from != this)) {
28682     UnsafeMergeFrom(from);
28683   } else {
28684     MergeFromFail(__LINE__);
28685   }
28686 }
28687
28688 void SaveOutputParameter::UnsafeMergeFrom(const SaveOutputParameter& from) {
28689   GOOGLE_DCHECK(&from != this);
28690   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
28691     if (from.has_output_directory()) {
28692       set_has_output_directory();
28693       output_directory_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.output_directory_);
28694     }
28695     if (from.has_output_name_prefix()) {
28696       set_has_output_name_prefix();
28697       output_name_prefix_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.output_name_prefix_);
28698     }
28699     if (from.has_output_format()) {
28700       set_has_output_format();
28701       output_format_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.output_format_);
28702     }
28703     if (from.has_label_map_file()) {
28704       set_has_label_map_file();
28705       label_map_file_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.label_map_file_);
28706     }
28707     if (from.has_name_size_file()) {
28708       set_has_name_size_file();
28709       name_size_file_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_size_file_);
28710     }
28711     if (from.has_num_test_image()) {
28712       set_num_test_image(from.num_test_image());
28713     }
28714   }
28715   if (from._internal_metadata_.have_unknown_fields()) {
28716     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
28717       from.unknown_fields(), &_internal_metadata_);
28718   }
28719 }
28720
28721 void SaveOutputParameter::CopyFrom(const ::google::protobuf::Message& from) {
28722 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.SaveOutputParameter)
28723   if (&from == this) return;
28724   Clear();
28725   MergeFrom(from);
28726 }
28727
28728 void SaveOutputParameter::CopyFrom(const SaveOutputParameter& from) {
28729 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.SaveOutputParameter)
28730   if (&from == this) return;
28731   Clear();
28732   UnsafeMergeFrom(from);
28733 }
28734
28735 bool SaveOutputParameter::IsInitialized() const {
28736
28737   return true;
28738 }
28739
28740 void SaveOutputParameter::Swap(SaveOutputParameter* other) {
28741   if (other == this) return;
28742   InternalSwap(other);
28743 }
28744 void SaveOutputParameter::InternalSwap(SaveOutputParameter* other) {
28745   output_directory_.Swap(&other->output_directory_);
28746   output_name_prefix_.Swap(&other->output_name_prefix_);
28747   output_format_.Swap(&other->output_format_);
28748   label_map_file_.Swap(&other->label_map_file_);
28749   name_size_file_.Swap(&other->name_size_file_);
28750   std::swap(num_test_image_, other->num_test_image_);
28751   std::swap(_has_bits_[0], other->_has_bits_[0]);
28752   _internal_metadata_.Swap(&other->_internal_metadata_);
28753   std::swap(_cached_size_, other->_cached_size_);
28754 }
28755
28756 ::google::protobuf::Metadata SaveOutputParameter::GetMetadata() const {
28757   protobuf_AssignDescriptorsOnce();
28758   ::google::protobuf::Metadata metadata;
28759   metadata.descriptor = SaveOutputParameter_descriptor_;
28760   metadata.reflection = SaveOutputParameter_reflection_;
28761   return metadata;
28762 }
28763
28764 #if PROTOBUF_INLINE_NOT_IN_HEADERS
28765 // SaveOutputParameter
28766
28767 // optional string output_directory = 1;
28768 bool SaveOutputParameter::has_output_directory() const {
28769   return (_has_bits_[0] & 0x00000001u) != 0;
28770 }
28771 void SaveOutputParameter::set_has_output_directory() {
28772   _has_bits_[0] |= 0x00000001u;
28773 }
28774 void SaveOutputParameter::clear_has_output_directory() {
28775   _has_bits_[0] &= ~0x00000001u;
28776 }
28777 void SaveOutputParameter::clear_output_directory() {
28778   output_directory_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28779   clear_has_output_directory();
28780 }
28781 const ::std::string& SaveOutputParameter::output_directory() const {
28782   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.output_directory)
28783   return output_directory_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28784 }
28785 void SaveOutputParameter::set_output_directory(const ::std::string& value) {
28786   set_has_output_directory();
28787   output_directory_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
28788   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.output_directory)
28789 }
28790 void SaveOutputParameter::set_output_directory(const char* value) {
28791   set_has_output_directory();
28792   output_directory_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
28793   // @@protoc_insertion_point(field_set_char:opencv_caffe.SaveOutputParameter.output_directory)
28794 }
28795 void SaveOutputParameter::set_output_directory(const char* value, size_t size) {
28796   set_has_output_directory();
28797   output_directory_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
28798       ::std::string(reinterpret_cast<const char*>(value), size));
28799   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SaveOutputParameter.output_directory)
28800 }
28801 ::std::string* SaveOutputParameter::mutable_output_directory() {
28802   set_has_output_directory();
28803   // @@protoc_insertion_point(field_mutable:opencv_caffe.SaveOutputParameter.output_directory)
28804   return output_directory_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28805 }
28806 ::std::string* SaveOutputParameter::release_output_directory() {
28807   // @@protoc_insertion_point(field_release:opencv_caffe.SaveOutputParameter.output_directory)
28808   clear_has_output_directory();
28809   return output_directory_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28810 }
28811 void SaveOutputParameter::set_allocated_output_directory(::std::string* output_directory) {
28812   if (output_directory != NULL) {
28813     set_has_output_directory();
28814   } else {
28815     clear_has_output_directory();
28816   }
28817   output_directory_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), output_directory);
28818   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SaveOutputParameter.output_directory)
28819 }
28820
28821 // optional string output_name_prefix = 2;
28822 bool SaveOutputParameter::has_output_name_prefix() const {
28823   return (_has_bits_[0] & 0x00000002u) != 0;
28824 }
28825 void SaveOutputParameter::set_has_output_name_prefix() {
28826   _has_bits_[0] |= 0x00000002u;
28827 }
28828 void SaveOutputParameter::clear_has_output_name_prefix() {
28829   _has_bits_[0] &= ~0x00000002u;
28830 }
28831 void SaveOutputParameter::clear_output_name_prefix() {
28832   output_name_prefix_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28833   clear_has_output_name_prefix();
28834 }
28835 const ::std::string& SaveOutputParameter::output_name_prefix() const {
28836   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.output_name_prefix)
28837   return output_name_prefix_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28838 }
28839 void SaveOutputParameter::set_output_name_prefix(const ::std::string& value) {
28840   set_has_output_name_prefix();
28841   output_name_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
28842   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.output_name_prefix)
28843 }
28844 void SaveOutputParameter::set_output_name_prefix(const char* value) {
28845   set_has_output_name_prefix();
28846   output_name_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
28847   // @@protoc_insertion_point(field_set_char:opencv_caffe.SaveOutputParameter.output_name_prefix)
28848 }
28849 void SaveOutputParameter::set_output_name_prefix(const char* value, size_t size) {
28850   set_has_output_name_prefix();
28851   output_name_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
28852       ::std::string(reinterpret_cast<const char*>(value), size));
28853   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SaveOutputParameter.output_name_prefix)
28854 }
28855 ::std::string* SaveOutputParameter::mutable_output_name_prefix() {
28856   set_has_output_name_prefix();
28857   // @@protoc_insertion_point(field_mutable:opencv_caffe.SaveOutputParameter.output_name_prefix)
28858   return output_name_prefix_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28859 }
28860 ::std::string* SaveOutputParameter::release_output_name_prefix() {
28861   // @@protoc_insertion_point(field_release:opencv_caffe.SaveOutputParameter.output_name_prefix)
28862   clear_has_output_name_prefix();
28863   return output_name_prefix_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28864 }
28865 void SaveOutputParameter::set_allocated_output_name_prefix(::std::string* output_name_prefix) {
28866   if (output_name_prefix != NULL) {
28867     set_has_output_name_prefix();
28868   } else {
28869     clear_has_output_name_prefix();
28870   }
28871   output_name_prefix_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), output_name_prefix);
28872   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SaveOutputParameter.output_name_prefix)
28873 }
28874
28875 // optional string output_format = 3;
28876 bool SaveOutputParameter::has_output_format() const {
28877   return (_has_bits_[0] & 0x00000004u) != 0;
28878 }
28879 void SaveOutputParameter::set_has_output_format() {
28880   _has_bits_[0] |= 0x00000004u;
28881 }
28882 void SaveOutputParameter::clear_has_output_format() {
28883   _has_bits_[0] &= ~0x00000004u;
28884 }
28885 void SaveOutputParameter::clear_output_format() {
28886   output_format_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28887   clear_has_output_format();
28888 }
28889 const ::std::string& SaveOutputParameter::output_format() const {
28890   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.output_format)
28891   return output_format_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28892 }
28893 void SaveOutputParameter::set_output_format(const ::std::string& value) {
28894   set_has_output_format();
28895   output_format_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
28896   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.output_format)
28897 }
28898 void SaveOutputParameter::set_output_format(const char* value) {
28899   set_has_output_format();
28900   output_format_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
28901   // @@protoc_insertion_point(field_set_char:opencv_caffe.SaveOutputParameter.output_format)
28902 }
28903 void SaveOutputParameter::set_output_format(const char* value, size_t size) {
28904   set_has_output_format();
28905   output_format_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
28906       ::std::string(reinterpret_cast<const char*>(value), size));
28907   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SaveOutputParameter.output_format)
28908 }
28909 ::std::string* SaveOutputParameter::mutable_output_format() {
28910   set_has_output_format();
28911   // @@protoc_insertion_point(field_mutable:opencv_caffe.SaveOutputParameter.output_format)
28912   return output_format_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28913 }
28914 ::std::string* SaveOutputParameter::release_output_format() {
28915   // @@protoc_insertion_point(field_release:opencv_caffe.SaveOutputParameter.output_format)
28916   clear_has_output_format();
28917   return output_format_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28918 }
28919 void SaveOutputParameter::set_allocated_output_format(::std::string* output_format) {
28920   if (output_format != NULL) {
28921     set_has_output_format();
28922   } else {
28923     clear_has_output_format();
28924   }
28925   output_format_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), output_format);
28926   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SaveOutputParameter.output_format)
28927 }
28928
28929 // optional string label_map_file = 4;
28930 bool SaveOutputParameter::has_label_map_file() const {
28931   return (_has_bits_[0] & 0x00000008u) != 0;
28932 }
28933 void SaveOutputParameter::set_has_label_map_file() {
28934   _has_bits_[0] |= 0x00000008u;
28935 }
28936 void SaveOutputParameter::clear_has_label_map_file() {
28937   _has_bits_[0] &= ~0x00000008u;
28938 }
28939 void SaveOutputParameter::clear_label_map_file() {
28940   label_map_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28941   clear_has_label_map_file();
28942 }
28943 const ::std::string& SaveOutputParameter::label_map_file() const {
28944   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.label_map_file)
28945   return label_map_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28946 }
28947 void SaveOutputParameter::set_label_map_file(const ::std::string& value) {
28948   set_has_label_map_file();
28949   label_map_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
28950   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.label_map_file)
28951 }
28952 void SaveOutputParameter::set_label_map_file(const char* value) {
28953   set_has_label_map_file();
28954   label_map_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
28955   // @@protoc_insertion_point(field_set_char:opencv_caffe.SaveOutputParameter.label_map_file)
28956 }
28957 void SaveOutputParameter::set_label_map_file(const char* value, size_t size) {
28958   set_has_label_map_file();
28959   label_map_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
28960       ::std::string(reinterpret_cast<const char*>(value), size));
28961   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SaveOutputParameter.label_map_file)
28962 }
28963 ::std::string* SaveOutputParameter::mutable_label_map_file() {
28964   set_has_label_map_file();
28965   // @@protoc_insertion_point(field_mutable:opencv_caffe.SaveOutputParameter.label_map_file)
28966   return label_map_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28967 }
28968 ::std::string* SaveOutputParameter::release_label_map_file() {
28969   // @@protoc_insertion_point(field_release:opencv_caffe.SaveOutputParameter.label_map_file)
28970   clear_has_label_map_file();
28971   return label_map_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28972 }
28973 void SaveOutputParameter::set_allocated_label_map_file(::std::string* label_map_file) {
28974   if (label_map_file != NULL) {
28975     set_has_label_map_file();
28976   } else {
28977     clear_has_label_map_file();
28978   }
28979   label_map_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), label_map_file);
28980   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SaveOutputParameter.label_map_file)
28981 }
28982
28983 // optional string name_size_file = 5;
28984 bool SaveOutputParameter::has_name_size_file() const {
28985   return (_has_bits_[0] & 0x00000010u) != 0;
28986 }
28987 void SaveOutputParameter::set_has_name_size_file() {
28988   _has_bits_[0] |= 0x00000010u;
28989 }
28990 void SaveOutputParameter::clear_has_name_size_file() {
28991   _has_bits_[0] &= ~0x00000010u;
28992 }
28993 void SaveOutputParameter::clear_name_size_file() {
28994   name_size_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28995   clear_has_name_size_file();
28996 }
28997 const ::std::string& SaveOutputParameter::name_size_file() const {
28998   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.name_size_file)
28999   return name_size_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
29000 }
29001 void SaveOutputParameter::set_name_size_file(const ::std::string& value) {
29002   set_has_name_size_file();
29003   name_size_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
29004   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.name_size_file)
29005 }
29006 void SaveOutputParameter::set_name_size_file(const char* value) {
29007   set_has_name_size_file();
29008   name_size_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
29009   // @@protoc_insertion_point(field_set_char:opencv_caffe.SaveOutputParameter.name_size_file)
29010 }
29011 void SaveOutputParameter::set_name_size_file(const char* value, size_t size) {
29012   set_has_name_size_file();
29013   name_size_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
29014       ::std::string(reinterpret_cast<const char*>(value), size));
29015   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SaveOutputParameter.name_size_file)
29016 }
29017 ::std::string* SaveOutputParameter::mutable_name_size_file() {
29018   set_has_name_size_file();
29019   // @@protoc_insertion_point(field_mutable:opencv_caffe.SaveOutputParameter.name_size_file)
29020   return name_size_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
29021 }
29022 ::std::string* SaveOutputParameter::release_name_size_file() {
29023   // @@protoc_insertion_point(field_release:opencv_caffe.SaveOutputParameter.name_size_file)
29024   clear_has_name_size_file();
29025   return name_size_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
29026 }
29027 void SaveOutputParameter::set_allocated_name_size_file(::std::string* name_size_file) {
29028   if (name_size_file != NULL) {
29029     set_has_name_size_file();
29030   } else {
29031     clear_has_name_size_file();
29032   }
29033   name_size_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name_size_file);
29034   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SaveOutputParameter.name_size_file)
29035 }
29036
29037 // optional uint32 num_test_image = 6;
29038 bool SaveOutputParameter::has_num_test_image() const {
29039   return (_has_bits_[0] & 0x00000020u) != 0;
29040 }
29041 void SaveOutputParameter::set_has_num_test_image() {
29042   _has_bits_[0] |= 0x00000020u;
29043 }
29044 void SaveOutputParameter::clear_has_num_test_image() {
29045   _has_bits_[0] &= ~0x00000020u;
29046 }
29047 void SaveOutputParameter::clear_num_test_image() {
29048   num_test_image_ = 0u;
29049   clear_has_num_test_image();
29050 }
29051 ::google::protobuf::uint32 SaveOutputParameter::num_test_image() const {
29052   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.num_test_image)
29053   return num_test_image_;
29054 }
29055 void SaveOutputParameter::set_num_test_image(::google::protobuf::uint32 value) {
29056   set_has_num_test_image();
29057   num_test_image_ = value;
29058   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.num_test_image)
29059 }
29060
29061 inline const SaveOutputParameter* SaveOutputParameter::internal_default_instance() {
29062   return &SaveOutputParameter_default_instance_.get();
29063 }
29064 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
29065
29066 // ===================================================================
29067
29068 #if !defined(_MSC_VER) || _MSC_VER >= 1900
29069 const int DropoutParameter::kDropoutRatioFieldNumber;
29070 const int DropoutParameter::kScaleTrainFieldNumber;
29071 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
29072
29073 DropoutParameter::DropoutParameter()
29074   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
29075   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
29076   SharedCtor();
29077   // @@protoc_insertion_point(constructor:opencv_caffe.DropoutParameter)
29078 }
29079
29080 void DropoutParameter::InitAsDefaultInstance() {
29081 }
29082
29083 DropoutParameter::DropoutParameter(const DropoutParameter& from)
29084   : ::google::protobuf::Message(),
29085     _internal_metadata_(NULL) {
29086   SharedCtor();
29087   UnsafeMergeFrom(from);
29088   // @@protoc_insertion_point(copy_constructor:opencv_caffe.DropoutParameter)
29089 }
29090
29091 void DropoutParameter::SharedCtor() {
29092   _cached_size_ = 0;
29093   dropout_ratio_ = 0.5f;
29094   scale_train_ = true;
29095 }
29096
29097 DropoutParameter::~DropoutParameter() {
29098   // @@protoc_insertion_point(destructor:opencv_caffe.DropoutParameter)
29099   SharedDtor();
29100 }
29101
29102 void DropoutParameter::SharedDtor() {
29103 }
29104
29105 void DropoutParameter::SetCachedSize(int size) const {
29106   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
29107   _cached_size_ = size;
29108   GOOGLE_SAFE_CONCURRENT_WRITES_END();
29109 }
29110 const ::google::protobuf::Descriptor* DropoutParameter::descriptor() {
29111   protobuf_AssignDescriptorsOnce();
29112   return DropoutParameter_descriptor_;
29113 }
29114
29115 const DropoutParameter& DropoutParameter::default_instance() {
29116   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
29117   return *internal_default_instance();
29118 }
29119
29120 ::google::protobuf::internal::ExplicitlyConstructed<DropoutParameter> DropoutParameter_default_instance_;
29121
29122 DropoutParameter* DropoutParameter::New(::google::protobuf::Arena* arena) const {
29123   DropoutParameter* n = new DropoutParameter;
29124   if (arena != NULL) {
29125     arena->Own(n);
29126   }
29127   return n;
29128 }
29129
29130 void DropoutParameter::Clear() {
29131 // @@protoc_insertion_point(message_clear_start:opencv_caffe.DropoutParameter)
29132   if (_has_bits_[0 / 32] & 3u) {
29133     dropout_ratio_ = 0.5f;
29134     scale_train_ = true;
29135   }
29136   _has_bits_.Clear();
29137   if (_internal_metadata_.have_unknown_fields()) {
29138     mutable_unknown_fields()->Clear();
29139   }
29140 }
29141
29142 bool DropoutParameter::MergePartialFromCodedStream(
29143     ::google::protobuf::io::CodedInputStream* input) {
29144 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
29145   ::google::protobuf::uint32 tag;
29146   // @@protoc_insertion_point(parse_start:opencv_caffe.DropoutParameter)
29147   for (;;) {
29148     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
29149     tag = p.first;
29150     if (!p.second) goto handle_unusual;
29151     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
29152       // optional float dropout_ratio = 1 [default = 0.5];
29153       case 1: {
29154         if (tag == 13) {
29155           set_has_dropout_ratio();
29156           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
29157                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
29158                  input, &dropout_ratio_)));
29159         } else {
29160           goto handle_unusual;
29161         }
29162         if (input->ExpectTag(16)) goto parse_scale_train;
29163         break;
29164       }
29165
29166       // optional bool scale_train = 2 [default = true];
29167       case 2: {
29168         if (tag == 16) {
29169          parse_scale_train:
29170           set_has_scale_train();
29171           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
29172                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
29173                  input, &scale_train_)));
29174         } else {
29175           goto handle_unusual;
29176         }
29177         if (input->ExpectAtEnd()) goto success;
29178         break;
29179       }
29180
29181       default: {
29182       handle_unusual:
29183         if (tag == 0 ||
29184             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
29185             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
29186           goto success;
29187         }
29188         DO_(::google::protobuf::internal::WireFormat::SkipField(
29189               input, tag, mutable_unknown_fields()));
29190         break;
29191       }
29192     }
29193   }
29194 success:
29195   // @@protoc_insertion_point(parse_success:opencv_caffe.DropoutParameter)
29196   return true;
29197 failure:
29198   // @@protoc_insertion_point(parse_failure:opencv_caffe.DropoutParameter)
29199   return false;
29200 #undef DO_
29201 }
29202
29203 void DropoutParameter::SerializeWithCachedSizes(
29204     ::google::protobuf::io::CodedOutputStream* output) const {
29205   // @@protoc_insertion_point(serialize_start:opencv_caffe.DropoutParameter)
29206   // optional float dropout_ratio = 1 [default = 0.5];
29207   if (has_dropout_ratio()) {
29208     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->dropout_ratio(), output);
29209   }
29210
29211   // optional bool scale_train = 2 [default = true];
29212   if (has_scale_train()) {
29213     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->scale_train(), output);
29214   }
29215
29216   if (_internal_metadata_.have_unknown_fields()) {
29217     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
29218         unknown_fields(), output);
29219   }
29220   // @@protoc_insertion_point(serialize_end:opencv_caffe.DropoutParameter)
29221 }
29222
29223 ::google::protobuf::uint8* DropoutParameter::InternalSerializeWithCachedSizesToArray(
29224     bool deterministic, ::google::protobuf::uint8* target) const {
29225   (void)deterministic; // Unused
29226   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.DropoutParameter)
29227   // optional float dropout_ratio = 1 [default = 0.5];
29228   if (has_dropout_ratio()) {
29229     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->dropout_ratio(), target);
29230   }
29231
29232   // optional bool scale_train = 2 [default = true];
29233   if (has_scale_train()) {
29234     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->scale_train(), target);
29235   }
29236
29237   if (_internal_metadata_.have_unknown_fields()) {
29238     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
29239         unknown_fields(), target);
29240   }
29241   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.DropoutParameter)
29242   return target;
29243 }
29244
29245 size_t DropoutParameter::ByteSizeLong() const {
29246 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.DropoutParameter)
29247   size_t total_size = 0;
29248
29249   if (_has_bits_[0 / 32] & 3u) {
29250     // optional float dropout_ratio = 1 [default = 0.5];
29251     if (has_dropout_ratio()) {
29252       total_size += 1 + 4;
29253     }
29254
29255     // optional bool scale_train = 2 [default = true];
29256     if (has_scale_train()) {
29257       total_size += 1 + 1;
29258     }
29259
29260   }
29261   if (_internal_metadata_.have_unknown_fields()) {
29262     total_size +=
29263       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
29264         unknown_fields());
29265   }
29266   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
29267   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
29268   _cached_size_ = cached_size;
29269   GOOGLE_SAFE_CONCURRENT_WRITES_END();
29270   return total_size;
29271 }
29272
29273 void DropoutParameter::MergeFrom(const ::google::protobuf::Message& from) {
29274 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.DropoutParameter)
29275   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
29276   const DropoutParameter* source =
29277       ::google::protobuf::internal::DynamicCastToGenerated<const DropoutParameter>(
29278           &from);
29279   if (source == NULL) {
29280   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.DropoutParameter)
29281     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
29282   } else {
29283   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.DropoutParameter)
29284     UnsafeMergeFrom(*source);
29285   }
29286 }
29287
29288 void DropoutParameter::MergeFrom(const DropoutParameter& from) {
29289 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.DropoutParameter)
29290   if (GOOGLE_PREDICT_TRUE(&from != this)) {
29291     UnsafeMergeFrom(from);
29292   } else {
29293     MergeFromFail(__LINE__);
29294   }
29295 }
29296
29297 void DropoutParameter::UnsafeMergeFrom(const DropoutParameter& from) {
29298   GOOGLE_DCHECK(&from != this);
29299   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
29300     if (from.has_dropout_ratio()) {
29301       set_dropout_ratio(from.dropout_ratio());
29302     }
29303     if (from.has_scale_train()) {
29304       set_scale_train(from.scale_train());
29305     }
29306   }
29307   if (from._internal_metadata_.have_unknown_fields()) {
29308     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
29309       from.unknown_fields(), &_internal_metadata_);
29310   }
29311 }
29312
29313 void DropoutParameter::CopyFrom(const ::google::protobuf::Message& from) {
29314 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.DropoutParameter)
29315   if (&from == this) return;
29316   Clear();
29317   MergeFrom(from);
29318 }
29319
29320 void DropoutParameter::CopyFrom(const DropoutParameter& from) {
29321 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.DropoutParameter)
29322   if (&from == this) return;
29323   Clear();
29324   UnsafeMergeFrom(from);
29325 }
29326
29327 bool DropoutParameter::IsInitialized() const {
29328
29329   return true;
29330 }
29331
29332 void DropoutParameter::Swap(DropoutParameter* other) {
29333   if (other == this) return;
29334   InternalSwap(other);
29335 }
29336 void DropoutParameter::InternalSwap(DropoutParameter* other) {
29337   std::swap(dropout_ratio_, other->dropout_ratio_);
29338   std::swap(scale_train_, other->scale_train_);
29339   std::swap(_has_bits_[0], other->_has_bits_[0]);
29340   _internal_metadata_.Swap(&other->_internal_metadata_);
29341   std::swap(_cached_size_, other->_cached_size_);
29342 }
29343
29344 ::google::protobuf::Metadata DropoutParameter::GetMetadata() const {
29345   protobuf_AssignDescriptorsOnce();
29346   ::google::protobuf::Metadata metadata;
29347   metadata.descriptor = DropoutParameter_descriptor_;
29348   metadata.reflection = DropoutParameter_reflection_;
29349   return metadata;
29350 }
29351
29352 #if PROTOBUF_INLINE_NOT_IN_HEADERS
29353 // DropoutParameter
29354
29355 // optional float dropout_ratio = 1 [default = 0.5];
29356 bool DropoutParameter::has_dropout_ratio() const {
29357   return (_has_bits_[0] & 0x00000001u) != 0;
29358 }
29359 void DropoutParameter::set_has_dropout_ratio() {
29360   _has_bits_[0] |= 0x00000001u;
29361 }
29362 void DropoutParameter::clear_has_dropout_ratio() {
29363   _has_bits_[0] &= ~0x00000001u;
29364 }
29365 void DropoutParameter::clear_dropout_ratio() {
29366   dropout_ratio_ = 0.5f;
29367   clear_has_dropout_ratio();
29368 }
29369 float DropoutParameter::dropout_ratio() const {
29370   // @@protoc_insertion_point(field_get:opencv_caffe.DropoutParameter.dropout_ratio)
29371   return dropout_ratio_;
29372 }
29373 void DropoutParameter::set_dropout_ratio(float value) {
29374   set_has_dropout_ratio();
29375   dropout_ratio_ = value;
29376   // @@protoc_insertion_point(field_set:opencv_caffe.DropoutParameter.dropout_ratio)
29377 }
29378
29379 // optional bool scale_train = 2 [default = true];
29380 bool DropoutParameter::has_scale_train() const {
29381   return (_has_bits_[0] & 0x00000002u) != 0;
29382 }
29383 void DropoutParameter::set_has_scale_train() {
29384   _has_bits_[0] |= 0x00000002u;
29385 }
29386 void DropoutParameter::clear_has_scale_train() {
29387   _has_bits_[0] &= ~0x00000002u;
29388 }
29389 void DropoutParameter::clear_scale_train() {
29390   scale_train_ = true;
29391   clear_has_scale_train();
29392 }
29393 bool DropoutParameter::scale_train() const {
29394   // @@protoc_insertion_point(field_get:opencv_caffe.DropoutParameter.scale_train)
29395   return scale_train_;
29396 }
29397 void DropoutParameter::set_scale_train(bool value) {
29398   set_has_scale_train();
29399   scale_train_ = value;
29400   // @@protoc_insertion_point(field_set:opencv_caffe.DropoutParameter.scale_train)
29401 }
29402
29403 inline const DropoutParameter* DropoutParameter::internal_default_instance() {
29404   return &DropoutParameter_default_instance_.get();
29405 }
29406 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
29407
29408 // ===================================================================
29409
29410 #if !defined(_MSC_VER) || _MSC_VER >= 1900
29411 const int DummyDataParameter::kDataFillerFieldNumber;
29412 const int DummyDataParameter::kShapeFieldNumber;
29413 const int DummyDataParameter::kNumFieldNumber;
29414 const int DummyDataParameter::kChannelsFieldNumber;
29415 const int DummyDataParameter::kHeightFieldNumber;
29416 const int DummyDataParameter::kWidthFieldNumber;
29417 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
29418
29419 DummyDataParameter::DummyDataParameter()
29420   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
29421   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
29422   SharedCtor();
29423   // @@protoc_insertion_point(constructor:opencv_caffe.DummyDataParameter)
29424 }
29425
29426 void DummyDataParameter::InitAsDefaultInstance() {
29427 }
29428
29429 DummyDataParameter::DummyDataParameter(const DummyDataParameter& from)
29430   : ::google::protobuf::Message(),
29431     _internal_metadata_(NULL) {
29432   SharedCtor();
29433   UnsafeMergeFrom(from);
29434   // @@protoc_insertion_point(copy_constructor:opencv_caffe.DummyDataParameter)
29435 }
29436
29437 void DummyDataParameter::SharedCtor() {
29438   _cached_size_ = 0;
29439 }
29440
29441 DummyDataParameter::~DummyDataParameter() {
29442   // @@protoc_insertion_point(destructor:opencv_caffe.DummyDataParameter)
29443   SharedDtor();
29444 }
29445
29446 void DummyDataParameter::SharedDtor() {
29447 }
29448
29449 void DummyDataParameter::SetCachedSize(int size) const {
29450   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
29451   _cached_size_ = size;
29452   GOOGLE_SAFE_CONCURRENT_WRITES_END();
29453 }
29454 const ::google::protobuf::Descriptor* DummyDataParameter::descriptor() {
29455   protobuf_AssignDescriptorsOnce();
29456   return DummyDataParameter_descriptor_;
29457 }
29458
29459 const DummyDataParameter& DummyDataParameter::default_instance() {
29460   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
29461   return *internal_default_instance();
29462 }
29463
29464 ::google::protobuf::internal::ExplicitlyConstructed<DummyDataParameter> DummyDataParameter_default_instance_;
29465
29466 DummyDataParameter* DummyDataParameter::New(::google::protobuf::Arena* arena) const {
29467   DummyDataParameter* n = new DummyDataParameter;
29468   if (arena != NULL) {
29469     arena->Own(n);
29470   }
29471   return n;
29472 }
29473
29474 void DummyDataParameter::Clear() {
29475 // @@protoc_insertion_point(message_clear_start:opencv_caffe.DummyDataParameter)
29476   data_filler_.Clear();
29477   shape_.Clear();
29478   num_.Clear();
29479   channels_.Clear();
29480   height_.Clear();
29481   width_.Clear();
29482   _has_bits_.Clear();
29483   if (_internal_metadata_.have_unknown_fields()) {
29484     mutable_unknown_fields()->Clear();
29485   }
29486 }
29487
29488 bool DummyDataParameter::MergePartialFromCodedStream(
29489     ::google::protobuf::io::CodedInputStream* input) {
29490 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
29491   ::google::protobuf::uint32 tag;
29492   // @@protoc_insertion_point(parse_start:opencv_caffe.DummyDataParameter)
29493   for (;;) {
29494     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
29495     tag = p.first;
29496     if (!p.second) goto handle_unusual;
29497     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
29498       // repeated .opencv_caffe.FillerParameter data_filler = 1;
29499       case 1: {
29500         if (tag == 10) {
29501           DO_(input->IncrementRecursionDepth());
29502          parse_loop_data_filler:
29503           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
29504                 input, add_data_filler()));
29505         } else {
29506           goto handle_unusual;
29507         }
29508         if (input->ExpectTag(10)) goto parse_loop_data_filler;
29509         input->UnsafeDecrementRecursionDepth();
29510         if (input->ExpectTag(16)) goto parse_num;
29511         break;
29512       }
29513
29514       // repeated uint32 num = 2;
29515       case 2: {
29516         if (tag == 16) {
29517          parse_num:
29518           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
29519                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
29520                  1, 16, input, this->mutable_num())));
29521         } else if (tag == 18) {
29522           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
29523                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
29524                  input, this->mutable_num())));
29525         } else {
29526           goto handle_unusual;
29527         }
29528         if (input->ExpectTag(16)) goto parse_num;
29529         if (input->ExpectTag(24)) goto parse_channels;
29530         break;
29531       }
29532
29533       // repeated uint32 channels = 3;
29534       case 3: {
29535         if (tag == 24) {
29536          parse_channels:
29537           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
29538                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
29539                  1, 24, input, this->mutable_channels())));
29540         } else if (tag == 26) {
29541           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
29542                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
29543                  input, this->mutable_channels())));
29544         } else {
29545           goto handle_unusual;
29546         }
29547         if (input->ExpectTag(24)) goto parse_channels;
29548         if (input->ExpectTag(32)) goto parse_height;
29549         break;
29550       }
29551
29552       // repeated uint32 height = 4;
29553       case 4: {
29554         if (tag == 32) {
29555          parse_height:
29556           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
29557                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
29558                  1, 32, input, this->mutable_height())));
29559         } else if (tag == 34) {
29560           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
29561                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
29562                  input, this->mutable_height())));
29563         } else {
29564           goto handle_unusual;
29565         }
29566         if (input->ExpectTag(32)) goto parse_height;
29567         if (input->ExpectTag(40)) goto parse_width;
29568         break;
29569       }
29570
29571       // repeated uint32 width = 5;
29572       case 5: {
29573         if (tag == 40) {
29574          parse_width:
29575           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
29576                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
29577                  1, 40, input, this->mutable_width())));
29578         } else if (tag == 42) {
29579           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
29580                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
29581                  input, this->mutable_width())));
29582         } else {
29583           goto handle_unusual;
29584         }
29585         if (input->ExpectTag(40)) goto parse_width;
29586         if (input->ExpectTag(50)) goto parse_shape;
29587         break;
29588       }
29589
29590       // repeated .opencv_caffe.BlobShape shape = 6;
29591       case 6: {
29592         if (tag == 50) {
29593          parse_shape:
29594           DO_(input->IncrementRecursionDepth());
29595          parse_loop_shape:
29596           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
29597                 input, add_shape()));
29598         } else {
29599           goto handle_unusual;
29600         }
29601         if (input->ExpectTag(50)) goto parse_loop_shape;
29602         input->UnsafeDecrementRecursionDepth();
29603         if (input->ExpectAtEnd()) goto success;
29604         break;
29605       }
29606
29607       default: {
29608       handle_unusual:
29609         if (tag == 0 ||
29610             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
29611             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
29612           goto success;
29613         }
29614         DO_(::google::protobuf::internal::WireFormat::SkipField(
29615               input, tag, mutable_unknown_fields()));
29616         break;
29617       }
29618     }
29619   }
29620 success:
29621   // @@protoc_insertion_point(parse_success:opencv_caffe.DummyDataParameter)
29622   return true;
29623 failure:
29624   // @@protoc_insertion_point(parse_failure:opencv_caffe.DummyDataParameter)
29625   return false;
29626 #undef DO_
29627 }
29628
29629 void DummyDataParameter::SerializeWithCachedSizes(
29630     ::google::protobuf::io::CodedOutputStream* output) const {
29631   // @@protoc_insertion_point(serialize_start:opencv_caffe.DummyDataParameter)
29632   // repeated .opencv_caffe.FillerParameter data_filler = 1;
29633   for (unsigned int i = 0, n = this->data_filler_size(); i < n; i++) {
29634     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
29635       1, this->data_filler(i), output);
29636   }
29637
29638   // repeated uint32 num = 2;
29639   for (int i = 0; i < this->num_size(); i++) {
29640     ::google::protobuf::internal::WireFormatLite::WriteUInt32(
29641       2, this->num(i), output);
29642   }
29643
29644   // repeated uint32 channels = 3;
29645   for (int i = 0; i < this->channels_size(); i++) {
29646     ::google::protobuf::internal::WireFormatLite::WriteUInt32(
29647       3, this->channels(i), output);
29648   }
29649
29650   // repeated uint32 height = 4;
29651   for (int i = 0; i < this->height_size(); i++) {
29652     ::google::protobuf::internal::WireFormatLite::WriteUInt32(
29653       4, this->height(i), output);
29654   }
29655
29656   // repeated uint32 width = 5;
29657   for (int i = 0; i < this->width_size(); i++) {
29658     ::google::protobuf::internal::WireFormatLite::WriteUInt32(
29659       5, this->width(i), output);
29660   }
29661
29662   // repeated .opencv_caffe.BlobShape shape = 6;
29663   for (unsigned int i = 0, n = this->shape_size(); i < n; i++) {
29664     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
29665       6, this->shape(i), output);
29666   }
29667
29668   if (_internal_metadata_.have_unknown_fields()) {
29669     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
29670         unknown_fields(), output);
29671   }
29672   // @@protoc_insertion_point(serialize_end:opencv_caffe.DummyDataParameter)
29673 }
29674
29675 ::google::protobuf::uint8* DummyDataParameter::InternalSerializeWithCachedSizesToArray(
29676     bool deterministic, ::google::protobuf::uint8* target) const {
29677   (void)deterministic; // Unused
29678   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.DummyDataParameter)
29679   // repeated .opencv_caffe.FillerParameter data_filler = 1;
29680   for (unsigned int i = 0, n = this->data_filler_size(); i < n; i++) {
29681     target = ::google::protobuf::internal::WireFormatLite::
29682       InternalWriteMessageNoVirtualToArray(
29683         1, this->data_filler(i), false, target);
29684   }
29685
29686   // repeated uint32 num = 2;
29687   for (int i = 0; i < this->num_size(); i++) {
29688     target = ::google::protobuf::internal::WireFormatLite::
29689       WriteUInt32ToArray(2, this->num(i), target);
29690   }
29691
29692   // repeated uint32 channels = 3;
29693   for (int i = 0; i < this->channels_size(); i++) {
29694     target = ::google::protobuf::internal::WireFormatLite::
29695       WriteUInt32ToArray(3, this->channels(i), target);
29696   }
29697
29698   // repeated uint32 height = 4;
29699   for (int i = 0; i < this->height_size(); i++) {
29700     target = ::google::protobuf::internal::WireFormatLite::
29701       WriteUInt32ToArray(4, this->height(i), target);
29702   }
29703
29704   // repeated uint32 width = 5;
29705   for (int i = 0; i < this->width_size(); i++) {
29706     target = ::google::protobuf::internal::WireFormatLite::
29707       WriteUInt32ToArray(5, this->width(i), target);
29708   }
29709
29710   // repeated .opencv_caffe.BlobShape shape = 6;
29711   for (unsigned int i = 0, n = this->shape_size(); i < n; i++) {
29712     target = ::google::protobuf::internal::WireFormatLite::
29713       InternalWriteMessageNoVirtualToArray(
29714         6, this->shape(i), false, target);
29715   }
29716
29717   if (_internal_metadata_.have_unknown_fields()) {
29718     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
29719         unknown_fields(), target);
29720   }
29721   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.DummyDataParameter)
29722   return target;
29723 }
29724
29725 size_t DummyDataParameter::ByteSizeLong() const {
29726 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.DummyDataParameter)
29727   size_t total_size = 0;
29728
29729   // repeated .opencv_caffe.FillerParameter data_filler = 1;
29730   {
29731     unsigned int count = this->data_filler_size();
29732     total_size += 1UL * count;
29733     for (unsigned int i = 0; i < count; i++) {
29734       total_size +=
29735         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
29736           this->data_filler(i));
29737     }
29738   }
29739
29740   // repeated .opencv_caffe.BlobShape shape = 6;
29741   {
29742     unsigned int count = this->shape_size();
29743     total_size += 1UL * count;
29744     for (unsigned int i = 0; i < count; i++) {
29745       total_size +=
29746         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
29747           this->shape(i));
29748     }
29749   }
29750
29751   // repeated uint32 num = 2;
29752   {
29753     size_t data_size = 0;
29754     unsigned int count = this->num_size();
29755     for (unsigned int i = 0; i < count; i++) {
29756       data_size += ::google::protobuf::internal::WireFormatLite::
29757         UInt32Size(this->num(i));
29758     }
29759     total_size += 1 *
29760                   ::google::protobuf::internal::FromIntSize(this->num_size());
29761     total_size += data_size;
29762   }
29763
29764   // repeated uint32 channels = 3;
29765   {
29766     size_t data_size = 0;
29767     unsigned int count = this->channels_size();
29768     for (unsigned int i = 0; i < count; i++) {
29769       data_size += ::google::protobuf::internal::WireFormatLite::
29770         UInt32Size(this->channels(i));
29771     }
29772     total_size += 1 *
29773                   ::google::protobuf::internal::FromIntSize(this->channels_size());
29774     total_size += data_size;
29775   }
29776
29777   // repeated uint32 height = 4;
29778   {
29779     size_t data_size = 0;
29780     unsigned int count = this->height_size();
29781     for (unsigned int i = 0; i < count; i++) {
29782       data_size += ::google::protobuf::internal::WireFormatLite::
29783         UInt32Size(this->height(i));
29784     }
29785     total_size += 1 *
29786                   ::google::protobuf::internal::FromIntSize(this->height_size());
29787     total_size += data_size;
29788   }
29789
29790   // repeated uint32 width = 5;
29791   {
29792     size_t data_size = 0;
29793     unsigned int count = this->width_size();
29794     for (unsigned int i = 0; i < count; i++) {
29795       data_size += ::google::protobuf::internal::WireFormatLite::
29796         UInt32Size(this->width(i));
29797     }
29798     total_size += 1 *
29799                   ::google::protobuf::internal::FromIntSize(this->width_size());
29800     total_size += data_size;
29801   }
29802
29803   if (_internal_metadata_.have_unknown_fields()) {
29804     total_size +=
29805       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
29806         unknown_fields());
29807   }
29808   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
29809   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
29810   _cached_size_ = cached_size;
29811   GOOGLE_SAFE_CONCURRENT_WRITES_END();
29812   return total_size;
29813 }
29814
29815 void DummyDataParameter::MergeFrom(const ::google::protobuf::Message& from) {
29816 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.DummyDataParameter)
29817   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
29818   const DummyDataParameter* source =
29819       ::google::protobuf::internal::DynamicCastToGenerated<const DummyDataParameter>(
29820           &from);
29821   if (source == NULL) {
29822   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.DummyDataParameter)
29823     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
29824   } else {
29825   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.DummyDataParameter)
29826     UnsafeMergeFrom(*source);
29827   }
29828 }
29829
29830 void DummyDataParameter::MergeFrom(const DummyDataParameter& from) {
29831 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.DummyDataParameter)
29832   if (GOOGLE_PREDICT_TRUE(&from != this)) {
29833     UnsafeMergeFrom(from);
29834   } else {
29835     MergeFromFail(__LINE__);
29836   }
29837 }
29838
29839 void DummyDataParameter::UnsafeMergeFrom(const DummyDataParameter& from) {
29840   GOOGLE_DCHECK(&from != this);
29841   data_filler_.MergeFrom(from.data_filler_);
29842   shape_.MergeFrom(from.shape_);
29843   num_.UnsafeMergeFrom(from.num_);
29844   channels_.UnsafeMergeFrom(from.channels_);
29845   height_.UnsafeMergeFrom(from.height_);
29846   width_.UnsafeMergeFrom(from.width_);
29847   if (from._internal_metadata_.have_unknown_fields()) {
29848     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
29849       from.unknown_fields(), &_internal_metadata_);
29850   }
29851 }
29852
29853 void DummyDataParameter::CopyFrom(const ::google::protobuf::Message& from) {
29854 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.DummyDataParameter)
29855   if (&from == this) return;
29856   Clear();
29857   MergeFrom(from);
29858 }
29859
29860 void DummyDataParameter::CopyFrom(const DummyDataParameter& from) {
29861 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.DummyDataParameter)
29862   if (&from == this) return;
29863   Clear();
29864   UnsafeMergeFrom(from);
29865 }
29866
29867 bool DummyDataParameter::IsInitialized() const {
29868
29869   return true;
29870 }
29871
29872 void DummyDataParameter::Swap(DummyDataParameter* other) {
29873   if (other == this) return;
29874   InternalSwap(other);
29875 }
29876 void DummyDataParameter::InternalSwap(DummyDataParameter* other) {
29877   data_filler_.UnsafeArenaSwap(&other->data_filler_);
29878   shape_.UnsafeArenaSwap(&other->shape_);
29879   num_.UnsafeArenaSwap(&other->num_);
29880   channels_.UnsafeArenaSwap(&other->channels_);
29881   height_.UnsafeArenaSwap(&other->height_);
29882   width_.UnsafeArenaSwap(&other->width_);
29883   std::swap(_has_bits_[0], other->_has_bits_[0]);
29884   _internal_metadata_.Swap(&other->_internal_metadata_);
29885   std::swap(_cached_size_, other->_cached_size_);
29886 }
29887
29888 ::google::protobuf::Metadata DummyDataParameter::GetMetadata() const {
29889   protobuf_AssignDescriptorsOnce();
29890   ::google::protobuf::Metadata metadata;
29891   metadata.descriptor = DummyDataParameter_descriptor_;
29892   metadata.reflection = DummyDataParameter_reflection_;
29893   return metadata;
29894 }
29895
29896 #if PROTOBUF_INLINE_NOT_IN_HEADERS
29897 // DummyDataParameter
29898
29899 // repeated .opencv_caffe.FillerParameter data_filler = 1;
29900 int DummyDataParameter::data_filler_size() const {
29901   return data_filler_.size();
29902 }
29903 void DummyDataParameter::clear_data_filler() {
29904   data_filler_.Clear();
29905 }
29906 const ::opencv_caffe::FillerParameter& DummyDataParameter::data_filler(int index) const {
29907   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.data_filler)
29908   return data_filler_.Get(index);
29909 }
29910 ::opencv_caffe::FillerParameter* DummyDataParameter::mutable_data_filler(int index) {
29911   // @@protoc_insertion_point(field_mutable:opencv_caffe.DummyDataParameter.data_filler)
29912   return data_filler_.Mutable(index);
29913 }
29914 ::opencv_caffe::FillerParameter* DummyDataParameter::add_data_filler() {
29915   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.data_filler)
29916   return data_filler_.Add();
29917 }
29918 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::FillerParameter >*
29919 DummyDataParameter::mutable_data_filler() {
29920   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.data_filler)
29921   return &data_filler_;
29922 }
29923 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::FillerParameter >&
29924 DummyDataParameter::data_filler() const {
29925   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.data_filler)
29926   return data_filler_;
29927 }
29928
29929 // repeated .opencv_caffe.BlobShape shape = 6;
29930 int DummyDataParameter::shape_size() const {
29931   return shape_.size();
29932 }
29933 void DummyDataParameter::clear_shape() {
29934   shape_.Clear();
29935 }
29936 const ::opencv_caffe::BlobShape& DummyDataParameter::shape(int index) const {
29937   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.shape)
29938   return shape_.Get(index);
29939 }
29940 ::opencv_caffe::BlobShape* DummyDataParameter::mutable_shape(int index) {
29941   // @@protoc_insertion_point(field_mutable:opencv_caffe.DummyDataParameter.shape)
29942   return shape_.Mutable(index);
29943 }
29944 ::opencv_caffe::BlobShape* DummyDataParameter::add_shape() {
29945   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.shape)
29946   return shape_.Add();
29947 }
29948 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >*
29949 DummyDataParameter::mutable_shape() {
29950   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.shape)
29951   return &shape_;
29952 }
29953 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >&
29954 DummyDataParameter::shape() const {
29955   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.shape)
29956   return shape_;
29957 }
29958
29959 // repeated uint32 num = 2;
29960 int DummyDataParameter::num_size() const {
29961   return num_.size();
29962 }
29963 void DummyDataParameter::clear_num() {
29964   num_.Clear();
29965 }
29966 ::google::protobuf::uint32 DummyDataParameter::num(int index) const {
29967   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.num)
29968   return num_.Get(index);
29969 }
29970 void DummyDataParameter::set_num(int index, ::google::protobuf::uint32 value) {
29971   num_.Set(index, value);
29972   // @@protoc_insertion_point(field_set:opencv_caffe.DummyDataParameter.num)
29973 }
29974 void DummyDataParameter::add_num(::google::protobuf::uint32 value) {
29975   num_.Add(value);
29976   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.num)
29977 }
29978 const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
29979 DummyDataParameter::num() const {
29980   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.num)
29981   return num_;
29982 }
29983 ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
29984 DummyDataParameter::mutable_num() {
29985   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.num)
29986   return &num_;
29987 }
29988
29989 // repeated uint32 channels = 3;
29990 int DummyDataParameter::channels_size() const {
29991   return channels_.size();
29992 }
29993 void DummyDataParameter::clear_channels() {
29994   channels_.Clear();
29995 }
29996 ::google::protobuf::uint32 DummyDataParameter::channels(int index) const {
29997   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.channels)
29998   return channels_.Get(index);
29999 }
30000 void DummyDataParameter::set_channels(int index, ::google::protobuf::uint32 value) {
30001   channels_.Set(index, value);
30002   // @@protoc_insertion_point(field_set:opencv_caffe.DummyDataParameter.channels)
30003 }
30004 void DummyDataParameter::add_channels(::google::protobuf::uint32 value) {
30005   channels_.Add(value);
30006   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.channels)
30007 }
30008 const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
30009 DummyDataParameter::channels() const {
30010   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.channels)
30011   return channels_;
30012 }
30013 ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
30014 DummyDataParameter::mutable_channels() {
30015   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.channels)
30016   return &channels_;
30017 }
30018
30019 // repeated uint32 height = 4;
30020 int DummyDataParameter::height_size() const {
30021   return height_.size();
30022 }
30023 void DummyDataParameter::clear_height() {
30024   height_.Clear();
30025 }
30026 ::google::protobuf::uint32 DummyDataParameter::height(int index) const {
30027   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.height)
30028   return height_.Get(index);
30029 }
30030 void DummyDataParameter::set_height(int index, ::google::protobuf::uint32 value) {
30031   height_.Set(index, value);
30032   // @@protoc_insertion_point(field_set:opencv_caffe.DummyDataParameter.height)
30033 }
30034 void DummyDataParameter::add_height(::google::protobuf::uint32 value) {
30035   height_.Add(value);
30036   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.height)
30037 }
30038 const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
30039 DummyDataParameter::height() const {
30040   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.height)
30041   return height_;
30042 }
30043 ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
30044 DummyDataParameter::mutable_height() {
30045   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.height)
30046   return &height_;
30047 }
30048
30049 // repeated uint32 width = 5;
30050 int DummyDataParameter::width_size() const {
30051   return width_.size();
30052 }
30053 void DummyDataParameter::clear_width() {
30054   width_.Clear();
30055 }
30056 ::google::protobuf::uint32 DummyDataParameter::width(int index) const {
30057   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.width)
30058   return width_.Get(index);
30059 }
30060 void DummyDataParameter::set_width(int index, ::google::protobuf::uint32 value) {
30061   width_.Set(index, value);
30062   // @@protoc_insertion_point(field_set:opencv_caffe.DummyDataParameter.width)
30063 }
30064 void DummyDataParameter::add_width(::google::protobuf::uint32 value) {
30065   width_.Add(value);
30066   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.width)
30067 }
30068 const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
30069 DummyDataParameter::width() const {
30070   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.width)
30071   return width_;
30072 }
30073 ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
30074 DummyDataParameter::mutable_width() {
30075   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.width)
30076   return &width_;
30077 }
30078
30079 inline const DummyDataParameter* DummyDataParameter::internal_default_instance() {
30080   return &DummyDataParameter_default_instance_.get();
30081 }
30082 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
30083
30084 // ===================================================================
30085
30086 const ::google::protobuf::EnumDescriptor* EltwiseParameter_EltwiseOp_descriptor() {
30087   protobuf_AssignDescriptorsOnce();
30088   return EltwiseParameter_EltwiseOp_descriptor_;
30089 }
30090 bool EltwiseParameter_EltwiseOp_IsValid(int value) {
30091   switch (value) {
30092     case 0:
30093     case 1:
30094     case 2:
30095       return true;
30096     default:
30097       return false;
30098   }
30099 }
30100
30101 #if !defined(_MSC_VER) || _MSC_VER >= 1900
30102 const EltwiseParameter_EltwiseOp EltwiseParameter::PROD;
30103 const EltwiseParameter_EltwiseOp EltwiseParameter::SUM;
30104 const EltwiseParameter_EltwiseOp EltwiseParameter::MAX;
30105 const EltwiseParameter_EltwiseOp EltwiseParameter::EltwiseOp_MIN;
30106 const EltwiseParameter_EltwiseOp EltwiseParameter::EltwiseOp_MAX;
30107 const int EltwiseParameter::EltwiseOp_ARRAYSIZE;
30108 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
30109 #if !defined(_MSC_VER) || _MSC_VER >= 1900
30110 const int EltwiseParameter::kOperationFieldNumber;
30111 const int EltwiseParameter::kCoeffFieldNumber;
30112 const int EltwiseParameter::kStableProdGradFieldNumber;
30113 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
30114
30115 EltwiseParameter::EltwiseParameter()
30116   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
30117   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
30118   SharedCtor();
30119   // @@protoc_insertion_point(constructor:opencv_caffe.EltwiseParameter)
30120 }
30121
30122 void EltwiseParameter::InitAsDefaultInstance() {
30123 }
30124
30125 EltwiseParameter::EltwiseParameter(const EltwiseParameter& from)
30126   : ::google::protobuf::Message(),
30127     _internal_metadata_(NULL) {
30128   SharedCtor();
30129   UnsafeMergeFrom(from);
30130   // @@protoc_insertion_point(copy_constructor:opencv_caffe.EltwiseParameter)
30131 }
30132
30133 void EltwiseParameter::SharedCtor() {
30134   _cached_size_ = 0;
30135   operation_ = 1;
30136   stable_prod_grad_ = true;
30137 }
30138
30139 EltwiseParameter::~EltwiseParameter() {
30140   // @@protoc_insertion_point(destructor:opencv_caffe.EltwiseParameter)
30141   SharedDtor();
30142 }
30143
30144 void EltwiseParameter::SharedDtor() {
30145 }
30146
30147 void EltwiseParameter::SetCachedSize(int size) const {
30148   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
30149   _cached_size_ = size;
30150   GOOGLE_SAFE_CONCURRENT_WRITES_END();
30151 }
30152 const ::google::protobuf::Descriptor* EltwiseParameter::descriptor() {
30153   protobuf_AssignDescriptorsOnce();
30154   return EltwiseParameter_descriptor_;
30155 }
30156
30157 const EltwiseParameter& EltwiseParameter::default_instance() {
30158   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
30159   return *internal_default_instance();
30160 }
30161
30162 ::google::protobuf::internal::ExplicitlyConstructed<EltwiseParameter> EltwiseParameter_default_instance_;
30163
30164 EltwiseParameter* EltwiseParameter::New(::google::protobuf::Arena* arena) const {
30165   EltwiseParameter* n = new EltwiseParameter;
30166   if (arena != NULL) {
30167     arena->Own(n);
30168   }
30169   return n;
30170 }
30171
30172 void EltwiseParameter::Clear() {
30173 // @@protoc_insertion_point(message_clear_start:opencv_caffe.EltwiseParameter)
30174   if (_has_bits_[0 / 32] & 5u) {
30175     operation_ = 1;
30176     stable_prod_grad_ = true;
30177   }
30178   coeff_.Clear();
30179   _has_bits_.Clear();
30180   if (_internal_metadata_.have_unknown_fields()) {
30181     mutable_unknown_fields()->Clear();
30182   }
30183 }
30184
30185 bool EltwiseParameter::MergePartialFromCodedStream(
30186     ::google::protobuf::io::CodedInputStream* input) {
30187 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
30188   ::google::protobuf::uint32 tag;
30189   // @@protoc_insertion_point(parse_start:opencv_caffe.EltwiseParameter)
30190   for (;;) {
30191     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
30192     tag = p.first;
30193     if (!p.second) goto handle_unusual;
30194     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
30195       // optional .opencv_caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM];
30196       case 1: {
30197         if (tag == 8) {
30198           int value;
30199           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
30200                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
30201                  input, &value)));
30202           if (::opencv_caffe::EltwiseParameter_EltwiseOp_IsValid(value)) {
30203             set_operation(static_cast< ::opencv_caffe::EltwiseParameter_EltwiseOp >(value));
30204           } else {
30205             mutable_unknown_fields()->AddVarint(1, value);
30206           }
30207         } else {
30208           goto handle_unusual;
30209         }
30210         if (input->ExpectTag(21)) goto parse_coeff;
30211         break;
30212       }
30213
30214       // repeated float coeff = 2;
30215       case 2: {
30216         if (tag == 21) {
30217          parse_coeff:
30218           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
30219                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
30220                  1, 21, input, this->mutable_coeff())));
30221         } else if (tag == 18) {
30222           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
30223                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
30224                  input, this->mutable_coeff())));
30225         } else {
30226           goto handle_unusual;
30227         }
30228         if (input->ExpectTag(21)) goto parse_coeff;
30229         if (input->ExpectTag(24)) goto parse_stable_prod_grad;
30230         break;
30231       }
30232
30233       // optional bool stable_prod_grad = 3 [default = true];
30234       case 3: {
30235         if (tag == 24) {
30236          parse_stable_prod_grad:
30237           set_has_stable_prod_grad();
30238           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
30239                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
30240                  input, &stable_prod_grad_)));
30241         } else {
30242           goto handle_unusual;
30243         }
30244         if (input->ExpectAtEnd()) goto success;
30245         break;
30246       }
30247
30248       default: {
30249       handle_unusual:
30250         if (tag == 0 ||
30251             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
30252             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
30253           goto success;
30254         }
30255         DO_(::google::protobuf::internal::WireFormat::SkipField(
30256               input, tag, mutable_unknown_fields()));
30257         break;
30258       }
30259     }
30260   }
30261 success:
30262   // @@protoc_insertion_point(parse_success:opencv_caffe.EltwiseParameter)
30263   return true;
30264 failure:
30265   // @@protoc_insertion_point(parse_failure:opencv_caffe.EltwiseParameter)
30266   return false;
30267 #undef DO_
30268 }
30269
30270 void EltwiseParameter::SerializeWithCachedSizes(
30271     ::google::protobuf::io::CodedOutputStream* output) const {
30272   // @@protoc_insertion_point(serialize_start:opencv_caffe.EltwiseParameter)
30273   // optional .opencv_caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM];
30274   if (has_operation()) {
30275     ::google::protobuf::internal::WireFormatLite::WriteEnum(
30276       1, this->operation(), output);
30277   }
30278
30279   // repeated float coeff = 2;
30280   for (int i = 0; i < this->coeff_size(); i++) {
30281     ::google::protobuf::internal::WireFormatLite::WriteFloat(
30282       2, this->coeff(i), output);
30283   }
30284
30285   // optional bool stable_prod_grad = 3 [default = true];
30286   if (has_stable_prod_grad()) {
30287     ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->stable_prod_grad(), output);
30288   }
30289
30290   if (_internal_metadata_.have_unknown_fields()) {
30291     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
30292         unknown_fields(), output);
30293   }
30294   // @@protoc_insertion_point(serialize_end:opencv_caffe.EltwiseParameter)
30295 }
30296
30297 ::google::protobuf::uint8* EltwiseParameter::InternalSerializeWithCachedSizesToArray(
30298     bool deterministic, ::google::protobuf::uint8* target) const {
30299   (void)deterministic; // Unused
30300   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.EltwiseParameter)
30301   // optional .opencv_caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM];
30302   if (has_operation()) {
30303     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
30304       1, this->operation(), target);
30305   }
30306
30307   // repeated float coeff = 2;
30308   for (int i = 0; i < this->coeff_size(); i++) {
30309     target = ::google::protobuf::internal::WireFormatLite::
30310       WriteFloatToArray(2, this->coeff(i), target);
30311   }
30312
30313   // optional bool stable_prod_grad = 3 [default = true];
30314   if (has_stable_prod_grad()) {
30315     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->stable_prod_grad(), target);
30316   }
30317
30318   if (_internal_metadata_.have_unknown_fields()) {
30319     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
30320         unknown_fields(), target);
30321   }
30322   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.EltwiseParameter)
30323   return target;
30324 }
30325
30326 size_t EltwiseParameter::ByteSizeLong() const {
30327 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.EltwiseParameter)
30328   size_t total_size = 0;
30329
30330   if (_has_bits_[0 / 32] & 5u) {
30331     // optional .opencv_caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM];
30332     if (has_operation()) {
30333       total_size += 1 +
30334         ::google::protobuf::internal::WireFormatLite::EnumSize(this->operation());
30335     }
30336
30337     // optional bool stable_prod_grad = 3 [default = true];
30338     if (has_stable_prod_grad()) {
30339       total_size += 1 + 1;
30340     }
30341
30342   }
30343   // repeated float coeff = 2;
30344   {
30345     size_t data_size = 0;
30346     unsigned int count = this->coeff_size();
30347     data_size = 4UL * count;
30348     total_size += 1 *
30349                   ::google::protobuf::internal::FromIntSize(this->coeff_size());
30350     total_size += data_size;
30351   }
30352
30353   if (_internal_metadata_.have_unknown_fields()) {
30354     total_size +=
30355       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
30356         unknown_fields());
30357   }
30358   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
30359   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
30360   _cached_size_ = cached_size;
30361   GOOGLE_SAFE_CONCURRENT_WRITES_END();
30362   return total_size;
30363 }
30364
30365 void EltwiseParameter::MergeFrom(const ::google::protobuf::Message& from) {
30366 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.EltwiseParameter)
30367   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
30368   const EltwiseParameter* source =
30369       ::google::protobuf::internal::DynamicCastToGenerated<const EltwiseParameter>(
30370           &from);
30371   if (source == NULL) {
30372   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.EltwiseParameter)
30373     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
30374   } else {
30375   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.EltwiseParameter)
30376     UnsafeMergeFrom(*source);
30377   }
30378 }
30379
30380 void EltwiseParameter::MergeFrom(const EltwiseParameter& from) {
30381 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.EltwiseParameter)
30382   if (GOOGLE_PREDICT_TRUE(&from != this)) {
30383     UnsafeMergeFrom(from);
30384   } else {
30385     MergeFromFail(__LINE__);
30386   }
30387 }
30388
30389 void EltwiseParameter::UnsafeMergeFrom(const EltwiseParameter& from) {
30390   GOOGLE_DCHECK(&from != this);
30391   coeff_.UnsafeMergeFrom(from.coeff_);
30392   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
30393     if (from.has_operation()) {
30394       set_operation(from.operation());
30395     }
30396     if (from.has_stable_prod_grad()) {
30397       set_stable_prod_grad(from.stable_prod_grad());
30398     }
30399   }
30400   if (from._internal_metadata_.have_unknown_fields()) {
30401     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
30402       from.unknown_fields(), &_internal_metadata_);
30403   }
30404 }
30405
30406 void EltwiseParameter::CopyFrom(const ::google::protobuf::Message& from) {
30407 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.EltwiseParameter)
30408   if (&from == this) return;
30409   Clear();
30410   MergeFrom(from);
30411 }
30412
30413 void EltwiseParameter::CopyFrom(const EltwiseParameter& from) {
30414 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.EltwiseParameter)
30415   if (&from == this) return;
30416   Clear();
30417   UnsafeMergeFrom(from);
30418 }
30419
30420 bool EltwiseParameter::IsInitialized() const {
30421
30422   return true;
30423 }
30424
30425 void EltwiseParameter::Swap(EltwiseParameter* other) {
30426   if (other == this) return;
30427   InternalSwap(other);
30428 }
30429 void EltwiseParameter::InternalSwap(EltwiseParameter* other) {
30430   std::swap(operation_, other->operation_);
30431   coeff_.UnsafeArenaSwap(&other->coeff_);
30432   std::swap(stable_prod_grad_, other->stable_prod_grad_);
30433   std::swap(_has_bits_[0], other->_has_bits_[0]);
30434   _internal_metadata_.Swap(&other->_internal_metadata_);
30435   std::swap(_cached_size_, other->_cached_size_);
30436 }
30437
30438 ::google::protobuf::Metadata EltwiseParameter::GetMetadata() const {
30439   protobuf_AssignDescriptorsOnce();
30440   ::google::protobuf::Metadata metadata;
30441   metadata.descriptor = EltwiseParameter_descriptor_;
30442   metadata.reflection = EltwiseParameter_reflection_;
30443   return metadata;
30444 }
30445
30446 #if PROTOBUF_INLINE_NOT_IN_HEADERS
30447 // EltwiseParameter
30448
30449 // optional .opencv_caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM];
30450 bool EltwiseParameter::has_operation() const {
30451   return (_has_bits_[0] & 0x00000001u) != 0;
30452 }
30453 void EltwiseParameter::set_has_operation() {
30454   _has_bits_[0] |= 0x00000001u;
30455 }
30456 void EltwiseParameter::clear_has_operation() {
30457   _has_bits_[0] &= ~0x00000001u;
30458 }
30459 void EltwiseParameter::clear_operation() {
30460   operation_ = 1;
30461   clear_has_operation();
30462 }
30463 ::opencv_caffe::EltwiseParameter_EltwiseOp EltwiseParameter::operation() const {
30464   // @@protoc_insertion_point(field_get:opencv_caffe.EltwiseParameter.operation)
30465   return static_cast< ::opencv_caffe::EltwiseParameter_EltwiseOp >(operation_);
30466 }
30467 void EltwiseParameter::set_operation(::opencv_caffe::EltwiseParameter_EltwiseOp value) {
30468   assert(::opencv_caffe::EltwiseParameter_EltwiseOp_IsValid(value));
30469   set_has_operation();
30470   operation_ = value;
30471   // @@protoc_insertion_point(field_set:opencv_caffe.EltwiseParameter.operation)
30472 }
30473
30474 // repeated float coeff = 2;
30475 int EltwiseParameter::coeff_size() const {
30476   return coeff_.size();
30477 }
30478 void EltwiseParameter::clear_coeff() {
30479   coeff_.Clear();
30480 }
30481 float EltwiseParameter::coeff(int index) const {
30482   // @@protoc_insertion_point(field_get:opencv_caffe.EltwiseParameter.coeff)
30483   return coeff_.Get(index);
30484 }
30485 void EltwiseParameter::set_coeff(int index, float value) {
30486   coeff_.Set(index, value);
30487   // @@protoc_insertion_point(field_set:opencv_caffe.EltwiseParameter.coeff)
30488 }
30489 void EltwiseParameter::add_coeff(float value) {
30490   coeff_.Add(value);
30491   // @@protoc_insertion_point(field_add:opencv_caffe.EltwiseParameter.coeff)
30492 }
30493 const ::google::protobuf::RepeatedField< float >&
30494 EltwiseParameter::coeff() const {
30495   // @@protoc_insertion_point(field_list:opencv_caffe.EltwiseParameter.coeff)
30496   return coeff_;
30497 }
30498 ::google::protobuf::RepeatedField< float >*
30499 EltwiseParameter::mutable_coeff() {
30500   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.EltwiseParameter.coeff)
30501   return &coeff_;
30502 }
30503
30504 // optional bool stable_prod_grad = 3 [default = true];
30505 bool EltwiseParameter::has_stable_prod_grad() const {
30506   return (_has_bits_[0] & 0x00000004u) != 0;
30507 }
30508 void EltwiseParameter::set_has_stable_prod_grad() {
30509   _has_bits_[0] |= 0x00000004u;
30510 }
30511 void EltwiseParameter::clear_has_stable_prod_grad() {
30512   _has_bits_[0] &= ~0x00000004u;
30513 }
30514 void EltwiseParameter::clear_stable_prod_grad() {
30515   stable_prod_grad_ = true;
30516   clear_has_stable_prod_grad();
30517 }
30518 bool EltwiseParameter::stable_prod_grad() const {
30519   // @@protoc_insertion_point(field_get:opencv_caffe.EltwiseParameter.stable_prod_grad)
30520   return stable_prod_grad_;
30521 }
30522 void EltwiseParameter::set_stable_prod_grad(bool value) {
30523   set_has_stable_prod_grad();
30524   stable_prod_grad_ = value;
30525   // @@protoc_insertion_point(field_set:opencv_caffe.EltwiseParameter.stable_prod_grad)
30526 }
30527
30528 inline const EltwiseParameter* EltwiseParameter::internal_default_instance() {
30529   return &EltwiseParameter_default_instance_.get();
30530 }
30531 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
30532
30533 // ===================================================================
30534
30535 #if !defined(_MSC_VER) || _MSC_VER >= 1900
30536 const int ELUParameter::kAlphaFieldNumber;
30537 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
30538
30539 ELUParameter::ELUParameter()
30540   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
30541   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
30542   SharedCtor();
30543   // @@protoc_insertion_point(constructor:opencv_caffe.ELUParameter)
30544 }
30545
30546 void ELUParameter::InitAsDefaultInstance() {
30547 }
30548
30549 ELUParameter::ELUParameter(const ELUParameter& from)
30550   : ::google::protobuf::Message(),
30551     _internal_metadata_(NULL) {
30552   SharedCtor();
30553   UnsafeMergeFrom(from);
30554   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ELUParameter)
30555 }
30556
30557 void ELUParameter::SharedCtor() {
30558   _cached_size_ = 0;
30559   alpha_ = 1;
30560 }
30561
30562 ELUParameter::~ELUParameter() {
30563   // @@protoc_insertion_point(destructor:opencv_caffe.ELUParameter)
30564   SharedDtor();
30565 }
30566
30567 void ELUParameter::SharedDtor() {
30568 }
30569
30570 void ELUParameter::SetCachedSize(int size) const {
30571   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
30572   _cached_size_ = size;
30573   GOOGLE_SAFE_CONCURRENT_WRITES_END();
30574 }
30575 const ::google::protobuf::Descriptor* ELUParameter::descriptor() {
30576   protobuf_AssignDescriptorsOnce();
30577   return ELUParameter_descriptor_;
30578 }
30579
30580 const ELUParameter& ELUParameter::default_instance() {
30581   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
30582   return *internal_default_instance();
30583 }
30584
30585 ::google::protobuf::internal::ExplicitlyConstructed<ELUParameter> ELUParameter_default_instance_;
30586
30587 ELUParameter* ELUParameter::New(::google::protobuf::Arena* arena) const {
30588   ELUParameter* n = new ELUParameter;
30589   if (arena != NULL) {
30590     arena->Own(n);
30591   }
30592   return n;
30593 }
30594
30595 void ELUParameter::Clear() {
30596 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ELUParameter)
30597   alpha_ = 1;
30598   _has_bits_.Clear();
30599   if (_internal_metadata_.have_unknown_fields()) {
30600     mutable_unknown_fields()->Clear();
30601   }
30602 }
30603
30604 bool ELUParameter::MergePartialFromCodedStream(
30605     ::google::protobuf::io::CodedInputStream* input) {
30606 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
30607   ::google::protobuf::uint32 tag;
30608   // @@protoc_insertion_point(parse_start:opencv_caffe.ELUParameter)
30609   for (;;) {
30610     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
30611     tag = p.first;
30612     if (!p.second) goto handle_unusual;
30613     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
30614       // optional float alpha = 1 [default = 1];
30615       case 1: {
30616         if (tag == 13) {
30617           set_has_alpha();
30618           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
30619                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
30620                  input, &alpha_)));
30621         } else {
30622           goto handle_unusual;
30623         }
30624         if (input->ExpectAtEnd()) goto success;
30625         break;
30626       }
30627
30628       default: {
30629       handle_unusual:
30630         if (tag == 0 ||
30631             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
30632             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
30633           goto success;
30634         }
30635         DO_(::google::protobuf::internal::WireFormat::SkipField(
30636               input, tag, mutable_unknown_fields()));
30637         break;
30638       }
30639     }
30640   }
30641 success:
30642   // @@protoc_insertion_point(parse_success:opencv_caffe.ELUParameter)
30643   return true;
30644 failure:
30645   // @@protoc_insertion_point(parse_failure:opencv_caffe.ELUParameter)
30646   return false;
30647 #undef DO_
30648 }
30649
30650 void ELUParameter::SerializeWithCachedSizes(
30651     ::google::protobuf::io::CodedOutputStream* output) const {
30652   // @@protoc_insertion_point(serialize_start:opencv_caffe.ELUParameter)
30653   // optional float alpha = 1 [default = 1];
30654   if (has_alpha()) {
30655     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->alpha(), output);
30656   }
30657
30658   if (_internal_metadata_.have_unknown_fields()) {
30659     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
30660         unknown_fields(), output);
30661   }
30662   // @@protoc_insertion_point(serialize_end:opencv_caffe.ELUParameter)
30663 }
30664
30665 ::google::protobuf::uint8* ELUParameter::InternalSerializeWithCachedSizesToArray(
30666     bool deterministic, ::google::protobuf::uint8* target) const {
30667   (void)deterministic; // Unused
30668   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ELUParameter)
30669   // optional float alpha = 1 [default = 1];
30670   if (has_alpha()) {
30671     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->alpha(), target);
30672   }
30673
30674   if (_internal_metadata_.have_unknown_fields()) {
30675     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
30676         unknown_fields(), target);
30677   }
30678   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ELUParameter)
30679   return target;
30680 }
30681
30682 size_t ELUParameter::ByteSizeLong() const {
30683 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ELUParameter)
30684   size_t total_size = 0;
30685
30686   // optional float alpha = 1 [default = 1];
30687   if (has_alpha()) {
30688     total_size += 1 + 4;
30689   }
30690
30691   if (_internal_metadata_.have_unknown_fields()) {
30692     total_size +=
30693       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
30694         unknown_fields());
30695   }
30696   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
30697   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
30698   _cached_size_ = cached_size;
30699   GOOGLE_SAFE_CONCURRENT_WRITES_END();
30700   return total_size;
30701 }
30702
30703 void ELUParameter::MergeFrom(const ::google::protobuf::Message& from) {
30704 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ELUParameter)
30705   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
30706   const ELUParameter* source =
30707       ::google::protobuf::internal::DynamicCastToGenerated<const ELUParameter>(
30708           &from);
30709   if (source == NULL) {
30710   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ELUParameter)
30711     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
30712   } else {
30713   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ELUParameter)
30714     UnsafeMergeFrom(*source);
30715   }
30716 }
30717
30718 void ELUParameter::MergeFrom(const ELUParameter& from) {
30719 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ELUParameter)
30720   if (GOOGLE_PREDICT_TRUE(&from != this)) {
30721     UnsafeMergeFrom(from);
30722   } else {
30723     MergeFromFail(__LINE__);
30724   }
30725 }
30726
30727 void ELUParameter::UnsafeMergeFrom(const ELUParameter& from) {
30728   GOOGLE_DCHECK(&from != this);
30729   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
30730     if (from.has_alpha()) {
30731       set_alpha(from.alpha());
30732     }
30733   }
30734   if (from._internal_metadata_.have_unknown_fields()) {
30735     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
30736       from.unknown_fields(), &_internal_metadata_);
30737   }
30738 }
30739
30740 void ELUParameter::CopyFrom(const ::google::protobuf::Message& from) {
30741 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ELUParameter)
30742   if (&from == this) return;
30743   Clear();
30744   MergeFrom(from);
30745 }
30746
30747 void ELUParameter::CopyFrom(const ELUParameter& from) {
30748 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ELUParameter)
30749   if (&from == this) return;
30750   Clear();
30751   UnsafeMergeFrom(from);
30752 }
30753
30754 bool ELUParameter::IsInitialized() const {
30755
30756   return true;
30757 }
30758
30759 void ELUParameter::Swap(ELUParameter* other) {
30760   if (other == this) return;
30761   InternalSwap(other);
30762 }
30763 void ELUParameter::InternalSwap(ELUParameter* other) {
30764   std::swap(alpha_, other->alpha_);
30765   std::swap(_has_bits_[0], other->_has_bits_[0]);
30766   _internal_metadata_.Swap(&other->_internal_metadata_);
30767   std::swap(_cached_size_, other->_cached_size_);
30768 }
30769
30770 ::google::protobuf::Metadata ELUParameter::GetMetadata() const {
30771   protobuf_AssignDescriptorsOnce();
30772   ::google::protobuf::Metadata metadata;
30773   metadata.descriptor = ELUParameter_descriptor_;
30774   metadata.reflection = ELUParameter_reflection_;
30775   return metadata;
30776 }
30777
30778 #if PROTOBUF_INLINE_NOT_IN_HEADERS
30779 // ELUParameter
30780
30781 // optional float alpha = 1 [default = 1];
30782 bool ELUParameter::has_alpha() const {
30783   return (_has_bits_[0] & 0x00000001u) != 0;
30784 }
30785 void ELUParameter::set_has_alpha() {
30786   _has_bits_[0] |= 0x00000001u;
30787 }
30788 void ELUParameter::clear_has_alpha() {
30789   _has_bits_[0] &= ~0x00000001u;
30790 }
30791 void ELUParameter::clear_alpha() {
30792   alpha_ = 1;
30793   clear_has_alpha();
30794 }
30795 float ELUParameter::alpha() const {
30796   // @@protoc_insertion_point(field_get:opencv_caffe.ELUParameter.alpha)
30797   return alpha_;
30798 }
30799 void ELUParameter::set_alpha(float value) {
30800   set_has_alpha();
30801   alpha_ = value;
30802   // @@protoc_insertion_point(field_set:opencv_caffe.ELUParameter.alpha)
30803 }
30804
30805 inline const ELUParameter* ELUParameter::internal_default_instance() {
30806   return &ELUParameter_default_instance_.get();
30807 }
30808 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
30809
30810 // ===================================================================
30811
30812 #if !defined(_MSC_VER) || _MSC_VER >= 1900
30813 const int EmbedParameter::kNumOutputFieldNumber;
30814 const int EmbedParameter::kInputDimFieldNumber;
30815 const int EmbedParameter::kBiasTermFieldNumber;
30816 const int EmbedParameter::kWeightFillerFieldNumber;
30817 const int EmbedParameter::kBiasFillerFieldNumber;
30818 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
30819
30820 EmbedParameter::EmbedParameter()
30821   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
30822   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
30823   SharedCtor();
30824   // @@protoc_insertion_point(constructor:opencv_caffe.EmbedParameter)
30825 }
30826
30827 void EmbedParameter::InitAsDefaultInstance() {
30828   weight_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
30829       ::opencv_caffe::FillerParameter::internal_default_instance());
30830   bias_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
30831       ::opencv_caffe::FillerParameter::internal_default_instance());
30832 }
30833
30834 EmbedParameter::EmbedParameter(const EmbedParameter& from)
30835   : ::google::protobuf::Message(),
30836     _internal_metadata_(NULL) {
30837   SharedCtor();
30838   UnsafeMergeFrom(from);
30839   // @@protoc_insertion_point(copy_constructor:opencv_caffe.EmbedParameter)
30840 }
30841
30842 void EmbedParameter::SharedCtor() {
30843   _cached_size_ = 0;
30844   weight_filler_ = NULL;
30845   bias_filler_ = NULL;
30846   ::memset(&num_output_, 0, reinterpret_cast<char*>(&input_dim_) -
30847     reinterpret_cast<char*>(&num_output_) + sizeof(input_dim_));
30848   bias_term_ = true;
30849 }
30850
30851 EmbedParameter::~EmbedParameter() {
30852   // @@protoc_insertion_point(destructor:opencv_caffe.EmbedParameter)
30853   SharedDtor();
30854 }
30855
30856 void EmbedParameter::SharedDtor() {
30857   if (this != &EmbedParameter_default_instance_.get()) {
30858     delete weight_filler_;
30859     delete bias_filler_;
30860   }
30861 }
30862
30863 void EmbedParameter::SetCachedSize(int size) const {
30864   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
30865   _cached_size_ = size;
30866   GOOGLE_SAFE_CONCURRENT_WRITES_END();
30867 }
30868 const ::google::protobuf::Descriptor* EmbedParameter::descriptor() {
30869   protobuf_AssignDescriptorsOnce();
30870   return EmbedParameter_descriptor_;
30871 }
30872
30873 const EmbedParameter& EmbedParameter::default_instance() {
30874   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
30875   return *internal_default_instance();
30876 }
30877
30878 ::google::protobuf::internal::ExplicitlyConstructed<EmbedParameter> EmbedParameter_default_instance_;
30879
30880 EmbedParameter* EmbedParameter::New(::google::protobuf::Arena* arena) const {
30881   EmbedParameter* n = new EmbedParameter;
30882   if (arena != NULL) {
30883     arena->Own(n);
30884   }
30885   return n;
30886 }
30887
30888 void EmbedParameter::Clear() {
30889 // @@protoc_insertion_point(message_clear_start:opencv_caffe.EmbedParameter)
30890 #if defined(__clang__)
30891 #define ZR_HELPER_(f) \
30892   _Pragma("clang diagnostic push") \
30893   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
30894   __builtin_offsetof(EmbedParameter, f) \
30895   _Pragma("clang diagnostic pop")
30896 #else
30897 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
30898   &reinterpret_cast<EmbedParameter*>(16)->f)
30899 #endif
30900
30901 #define ZR_(first, last) do {\
30902   ::memset(&(first), 0,\
30903            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
30904 } while (0)
30905
30906   if (_has_bits_[0 / 32] & 31u) {
30907     ZR_(num_output_, input_dim_);
30908     bias_term_ = true;
30909     if (has_weight_filler()) {
30910       if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
30911     }
30912     if (has_bias_filler()) {
30913       if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
30914     }
30915   }
30916
30917 #undef ZR_HELPER_
30918 #undef ZR_
30919
30920   _has_bits_.Clear();
30921   if (_internal_metadata_.have_unknown_fields()) {
30922     mutable_unknown_fields()->Clear();
30923   }
30924 }
30925
30926 bool EmbedParameter::MergePartialFromCodedStream(
30927     ::google::protobuf::io::CodedInputStream* input) {
30928 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
30929   ::google::protobuf::uint32 tag;
30930   // @@protoc_insertion_point(parse_start:opencv_caffe.EmbedParameter)
30931   for (;;) {
30932     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
30933     tag = p.first;
30934     if (!p.second) goto handle_unusual;
30935     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
30936       // optional uint32 num_output = 1;
30937       case 1: {
30938         if (tag == 8) {
30939           set_has_num_output();
30940           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
30941                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
30942                  input, &num_output_)));
30943         } else {
30944           goto handle_unusual;
30945         }
30946         if (input->ExpectTag(16)) goto parse_input_dim;
30947         break;
30948       }
30949
30950       // optional uint32 input_dim = 2;
30951       case 2: {
30952         if (tag == 16) {
30953          parse_input_dim:
30954           set_has_input_dim();
30955           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
30956                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
30957                  input, &input_dim_)));
30958         } else {
30959           goto handle_unusual;
30960         }
30961         if (input->ExpectTag(24)) goto parse_bias_term;
30962         break;
30963       }
30964
30965       // optional bool bias_term = 3 [default = true];
30966       case 3: {
30967         if (tag == 24) {
30968          parse_bias_term:
30969           set_has_bias_term();
30970           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
30971                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
30972                  input, &bias_term_)));
30973         } else {
30974           goto handle_unusual;
30975         }
30976         if (input->ExpectTag(34)) goto parse_weight_filler;
30977         break;
30978       }
30979
30980       // optional .opencv_caffe.FillerParameter weight_filler = 4;
30981       case 4: {
30982         if (tag == 34) {
30983          parse_weight_filler:
30984           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
30985                input, mutable_weight_filler()));
30986         } else {
30987           goto handle_unusual;
30988         }
30989         if (input->ExpectTag(42)) goto parse_bias_filler;
30990         break;
30991       }
30992
30993       // optional .opencv_caffe.FillerParameter bias_filler = 5;
30994       case 5: {
30995         if (tag == 42) {
30996          parse_bias_filler:
30997           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
30998                input, mutable_bias_filler()));
30999         } else {
31000           goto handle_unusual;
31001         }
31002         if (input->ExpectAtEnd()) goto success;
31003         break;
31004       }
31005
31006       default: {
31007       handle_unusual:
31008         if (tag == 0 ||
31009             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
31010             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
31011           goto success;
31012         }
31013         DO_(::google::protobuf::internal::WireFormat::SkipField(
31014               input, tag, mutable_unknown_fields()));
31015         break;
31016       }
31017     }
31018   }
31019 success:
31020   // @@protoc_insertion_point(parse_success:opencv_caffe.EmbedParameter)
31021   return true;
31022 failure:
31023   // @@protoc_insertion_point(parse_failure:opencv_caffe.EmbedParameter)
31024   return false;
31025 #undef DO_
31026 }
31027
31028 void EmbedParameter::SerializeWithCachedSizes(
31029     ::google::protobuf::io::CodedOutputStream* output) const {
31030   // @@protoc_insertion_point(serialize_start:opencv_caffe.EmbedParameter)
31031   // optional uint32 num_output = 1;
31032   if (has_num_output()) {
31033     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->num_output(), output);
31034   }
31035
31036   // optional uint32 input_dim = 2;
31037   if (has_input_dim()) {
31038     ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->input_dim(), output);
31039   }
31040
31041   // optional bool bias_term = 3 [default = true];
31042   if (has_bias_term()) {
31043     ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->bias_term(), output);
31044   }
31045
31046   // optional .opencv_caffe.FillerParameter weight_filler = 4;
31047   if (has_weight_filler()) {
31048     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
31049       4, *this->weight_filler_, output);
31050   }
31051
31052   // optional .opencv_caffe.FillerParameter bias_filler = 5;
31053   if (has_bias_filler()) {
31054     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
31055       5, *this->bias_filler_, output);
31056   }
31057
31058   if (_internal_metadata_.have_unknown_fields()) {
31059     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
31060         unknown_fields(), output);
31061   }
31062   // @@protoc_insertion_point(serialize_end:opencv_caffe.EmbedParameter)
31063 }
31064
31065 ::google::protobuf::uint8* EmbedParameter::InternalSerializeWithCachedSizesToArray(
31066     bool deterministic, ::google::protobuf::uint8* target) const {
31067   (void)deterministic; // Unused
31068   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.EmbedParameter)
31069   // optional uint32 num_output = 1;
31070   if (has_num_output()) {
31071     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->num_output(), target);
31072   }
31073
31074   // optional uint32 input_dim = 2;
31075   if (has_input_dim()) {
31076     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->input_dim(), target);
31077   }
31078
31079   // optional bool bias_term = 3 [default = true];
31080   if (has_bias_term()) {
31081     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->bias_term(), target);
31082   }
31083
31084   // optional .opencv_caffe.FillerParameter weight_filler = 4;
31085   if (has_weight_filler()) {
31086     target = ::google::protobuf::internal::WireFormatLite::
31087       InternalWriteMessageNoVirtualToArray(
31088         4, *this->weight_filler_, false, target);
31089   }
31090
31091   // optional .opencv_caffe.FillerParameter bias_filler = 5;
31092   if (has_bias_filler()) {
31093     target = ::google::protobuf::internal::WireFormatLite::
31094       InternalWriteMessageNoVirtualToArray(
31095         5, *this->bias_filler_, false, target);
31096   }
31097
31098   if (_internal_metadata_.have_unknown_fields()) {
31099     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
31100         unknown_fields(), target);
31101   }
31102   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.EmbedParameter)
31103   return target;
31104 }
31105
31106 size_t EmbedParameter::ByteSizeLong() const {
31107 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.EmbedParameter)
31108   size_t total_size = 0;
31109
31110   if (_has_bits_[0 / 32] & 31u) {
31111     // optional uint32 num_output = 1;
31112     if (has_num_output()) {
31113       total_size += 1 +
31114         ::google::protobuf::internal::WireFormatLite::UInt32Size(
31115           this->num_output());
31116     }
31117
31118     // optional uint32 input_dim = 2;
31119     if (has_input_dim()) {
31120       total_size += 1 +
31121         ::google::protobuf::internal::WireFormatLite::UInt32Size(
31122           this->input_dim());
31123     }
31124
31125     // optional bool bias_term = 3 [default = true];
31126     if (has_bias_term()) {
31127       total_size += 1 + 1;
31128     }
31129
31130     // optional .opencv_caffe.FillerParameter weight_filler = 4;
31131     if (has_weight_filler()) {
31132       total_size += 1 +
31133         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
31134           *this->weight_filler_);
31135     }
31136
31137     // optional .opencv_caffe.FillerParameter bias_filler = 5;
31138     if (has_bias_filler()) {
31139       total_size += 1 +
31140         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
31141           *this->bias_filler_);
31142     }
31143
31144   }
31145   if (_internal_metadata_.have_unknown_fields()) {
31146     total_size +=
31147       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
31148         unknown_fields());
31149   }
31150   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
31151   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
31152   _cached_size_ = cached_size;
31153   GOOGLE_SAFE_CONCURRENT_WRITES_END();
31154   return total_size;
31155 }
31156
31157 void EmbedParameter::MergeFrom(const ::google::protobuf::Message& from) {
31158 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.EmbedParameter)
31159   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
31160   const EmbedParameter* source =
31161       ::google::protobuf::internal::DynamicCastToGenerated<const EmbedParameter>(
31162           &from);
31163   if (source == NULL) {
31164   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.EmbedParameter)
31165     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
31166   } else {
31167   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.EmbedParameter)
31168     UnsafeMergeFrom(*source);
31169   }
31170 }
31171
31172 void EmbedParameter::MergeFrom(const EmbedParameter& from) {
31173 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.EmbedParameter)
31174   if (GOOGLE_PREDICT_TRUE(&from != this)) {
31175     UnsafeMergeFrom(from);
31176   } else {
31177     MergeFromFail(__LINE__);
31178   }
31179 }
31180
31181 void EmbedParameter::UnsafeMergeFrom(const EmbedParameter& from) {
31182   GOOGLE_DCHECK(&from != this);
31183   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
31184     if (from.has_num_output()) {
31185       set_num_output(from.num_output());
31186     }
31187     if (from.has_input_dim()) {
31188       set_input_dim(from.input_dim());
31189     }
31190     if (from.has_bias_term()) {
31191       set_bias_term(from.bias_term());
31192     }
31193     if (from.has_weight_filler()) {
31194       mutable_weight_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.weight_filler());
31195     }
31196     if (from.has_bias_filler()) {
31197       mutable_bias_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.bias_filler());
31198     }
31199   }
31200   if (from._internal_metadata_.have_unknown_fields()) {
31201     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
31202       from.unknown_fields(), &_internal_metadata_);
31203   }
31204 }
31205
31206 void EmbedParameter::CopyFrom(const ::google::protobuf::Message& from) {
31207 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.EmbedParameter)
31208   if (&from == this) return;
31209   Clear();
31210   MergeFrom(from);
31211 }
31212
31213 void EmbedParameter::CopyFrom(const EmbedParameter& from) {
31214 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.EmbedParameter)
31215   if (&from == this) return;
31216   Clear();
31217   UnsafeMergeFrom(from);
31218 }
31219
31220 bool EmbedParameter::IsInitialized() const {
31221
31222   return true;
31223 }
31224
31225 void EmbedParameter::Swap(EmbedParameter* other) {
31226   if (other == this) return;
31227   InternalSwap(other);
31228 }
31229 void EmbedParameter::InternalSwap(EmbedParameter* other) {
31230   std::swap(num_output_, other->num_output_);
31231   std::swap(input_dim_, other->input_dim_);
31232   std::swap(bias_term_, other->bias_term_);
31233   std::swap(weight_filler_, other->weight_filler_);
31234   std::swap(bias_filler_, other->bias_filler_);
31235   std::swap(_has_bits_[0], other->_has_bits_[0]);
31236   _internal_metadata_.Swap(&other->_internal_metadata_);
31237   std::swap(_cached_size_, other->_cached_size_);
31238 }
31239
31240 ::google::protobuf::Metadata EmbedParameter::GetMetadata() const {
31241   protobuf_AssignDescriptorsOnce();
31242   ::google::protobuf::Metadata metadata;
31243   metadata.descriptor = EmbedParameter_descriptor_;
31244   metadata.reflection = EmbedParameter_reflection_;
31245   return metadata;
31246 }
31247
31248 #if PROTOBUF_INLINE_NOT_IN_HEADERS
31249 // EmbedParameter
31250
31251 // optional uint32 num_output = 1;
31252 bool EmbedParameter::has_num_output() const {
31253   return (_has_bits_[0] & 0x00000001u) != 0;
31254 }
31255 void EmbedParameter::set_has_num_output() {
31256   _has_bits_[0] |= 0x00000001u;
31257 }
31258 void EmbedParameter::clear_has_num_output() {
31259   _has_bits_[0] &= ~0x00000001u;
31260 }
31261 void EmbedParameter::clear_num_output() {
31262   num_output_ = 0u;
31263   clear_has_num_output();
31264 }
31265 ::google::protobuf::uint32 EmbedParameter::num_output() const {
31266   // @@protoc_insertion_point(field_get:opencv_caffe.EmbedParameter.num_output)
31267   return num_output_;
31268 }
31269 void EmbedParameter::set_num_output(::google::protobuf::uint32 value) {
31270   set_has_num_output();
31271   num_output_ = value;
31272   // @@protoc_insertion_point(field_set:opencv_caffe.EmbedParameter.num_output)
31273 }
31274
31275 // optional uint32 input_dim = 2;
31276 bool EmbedParameter::has_input_dim() const {
31277   return (_has_bits_[0] & 0x00000002u) != 0;
31278 }
31279 void EmbedParameter::set_has_input_dim() {
31280   _has_bits_[0] |= 0x00000002u;
31281 }
31282 void EmbedParameter::clear_has_input_dim() {
31283   _has_bits_[0] &= ~0x00000002u;
31284 }
31285 void EmbedParameter::clear_input_dim() {
31286   input_dim_ = 0u;
31287   clear_has_input_dim();
31288 }
31289 ::google::protobuf::uint32 EmbedParameter::input_dim() const {
31290   // @@protoc_insertion_point(field_get:opencv_caffe.EmbedParameter.input_dim)
31291   return input_dim_;
31292 }
31293 void EmbedParameter::set_input_dim(::google::protobuf::uint32 value) {
31294   set_has_input_dim();
31295   input_dim_ = value;
31296   // @@protoc_insertion_point(field_set:opencv_caffe.EmbedParameter.input_dim)
31297 }
31298
31299 // optional bool bias_term = 3 [default = true];
31300 bool EmbedParameter::has_bias_term() const {
31301   return (_has_bits_[0] & 0x00000004u) != 0;
31302 }
31303 void EmbedParameter::set_has_bias_term() {
31304   _has_bits_[0] |= 0x00000004u;
31305 }
31306 void EmbedParameter::clear_has_bias_term() {
31307   _has_bits_[0] &= ~0x00000004u;
31308 }
31309 void EmbedParameter::clear_bias_term() {
31310   bias_term_ = true;
31311   clear_has_bias_term();
31312 }
31313 bool EmbedParameter::bias_term() const {
31314   // @@protoc_insertion_point(field_get:opencv_caffe.EmbedParameter.bias_term)
31315   return bias_term_;
31316 }
31317 void EmbedParameter::set_bias_term(bool value) {
31318   set_has_bias_term();
31319   bias_term_ = value;
31320   // @@protoc_insertion_point(field_set:opencv_caffe.EmbedParameter.bias_term)
31321 }
31322
31323 // optional .opencv_caffe.FillerParameter weight_filler = 4;
31324 bool EmbedParameter::has_weight_filler() const {
31325   return (_has_bits_[0] & 0x00000008u) != 0;
31326 }
31327 void EmbedParameter::set_has_weight_filler() {
31328   _has_bits_[0] |= 0x00000008u;
31329 }
31330 void EmbedParameter::clear_has_weight_filler() {
31331   _has_bits_[0] &= ~0x00000008u;
31332 }
31333 void EmbedParameter::clear_weight_filler() {
31334   if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
31335   clear_has_weight_filler();
31336 }
31337 const ::opencv_caffe::FillerParameter& EmbedParameter::weight_filler() const {
31338   // @@protoc_insertion_point(field_get:opencv_caffe.EmbedParameter.weight_filler)
31339   return weight_filler_ != NULL ? *weight_filler_
31340                          : *::opencv_caffe::FillerParameter::internal_default_instance();
31341 }
31342 ::opencv_caffe::FillerParameter* EmbedParameter::mutable_weight_filler() {
31343   set_has_weight_filler();
31344   if (weight_filler_ == NULL) {
31345     weight_filler_ = new ::opencv_caffe::FillerParameter;
31346   }
31347   // @@protoc_insertion_point(field_mutable:opencv_caffe.EmbedParameter.weight_filler)
31348   return weight_filler_;
31349 }
31350 ::opencv_caffe::FillerParameter* EmbedParameter::release_weight_filler() {
31351   // @@protoc_insertion_point(field_release:opencv_caffe.EmbedParameter.weight_filler)
31352   clear_has_weight_filler();
31353   ::opencv_caffe::FillerParameter* temp = weight_filler_;
31354   weight_filler_ = NULL;
31355   return temp;
31356 }
31357 void EmbedParameter::set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler) {
31358   delete weight_filler_;
31359   weight_filler_ = weight_filler;
31360   if (weight_filler) {
31361     set_has_weight_filler();
31362   } else {
31363     clear_has_weight_filler();
31364   }
31365   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.EmbedParameter.weight_filler)
31366 }
31367
31368 // optional .opencv_caffe.FillerParameter bias_filler = 5;
31369 bool EmbedParameter::has_bias_filler() const {
31370   return (_has_bits_[0] & 0x00000010u) != 0;
31371 }
31372 void EmbedParameter::set_has_bias_filler() {
31373   _has_bits_[0] |= 0x00000010u;
31374 }
31375 void EmbedParameter::clear_has_bias_filler() {
31376   _has_bits_[0] &= ~0x00000010u;
31377 }
31378 void EmbedParameter::clear_bias_filler() {
31379   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
31380   clear_has_bias_filler();
31381 }
31382 const ::opencv_caffe::FillerParameter& EmbedParameter::bias_filler() const {
31383   // @@protoc_insertion_point(field_get:opencv_caffe.EmbedParameter.bias_filler)
31384   return bias_filler_ != NULL ? *bias_filler_
31385                          : *::opencv_caffe::FillerParameter::internal_default_instance();
31386 }
31387 ::opencv_caffe::FillerParameter* EmbedParameter::mutable_bias_filler() {
31388   set_has_bias_filler();
31389   if (bias_filler_ == NULL) {
31390     bias_filler_ = new ::opencv_caffe::FillerParameter;
31391   }
31392   // @@protoc_insertion_point(field_mutable:opencv_caffe.EmbedParameter.bias_filler)
31393   return bias_filler_;
31394 }
31395 ::opencv_caffe::FillerParameter* EmbedParameter::release_bias_filler() {
31396   // @@protoc_insertion_point(field_release:opencv_caffe.EmbedParameter.bias_filler)
31397   clear_has_bias_filler();
31398   ::opencv_caffe::FillerParameter* temp = bias_filler_;
31399   bias_filler_ = NULL;
31400   return temp;
31401 }
31402 void EmbedParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
31403   delete bias_filler_;
31404   bias_filler_ = bias_filler;
31405   if (bias_filler) {
31406     set_has_bias_filler();
31407   } else {
31408     clear_has_bias_filler();
31409   }
31410   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.EmbedParameter.bias_filler)
31411 }
31412
31413 inline const EmbedParameter* EmbedParameter::internal_default_instance() {
31414   return &EmbedParameter_default_instance_.get();
31415 }
31416 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
31417
31418 // ===================================================================
31419
31420 #if !defined(_MSC_VER) || _MSC_VER >= 1900
31421 const int ExpParameter::kBaseFieldNumber;
31422 const int ExpParameter::kScaleFieldNumber;
31423 const int ExpParameter::kShiftFieldNumber;
31424 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
31425
31426 ExpParameter::ExpParameter()
31427   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
31428   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
31429   SharedCtor();
31430   // @@protoc_insertion_point(constructor:opencv_caffe.ExpParameter)
31431 }
31432
31433 void ExpParameter::InitAsDefaultInstance() {
31434 }
31435
31436 ExpParameter::ExpParameter(const ExpParameter& from)
31437   : ::google::protobuf::Message(),
31438     _internal_metadata_(NULL) {
31439   SharedCtor();
31440   UnsafeMergeFrom(from);
31441   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ExpParameter)
31442 }
31443
31444 void ExpParameter::SharedCtor() {
31445   _cached_size_ = 0;
31446   shift_ = 0;
31447   base_ = -1;
31448   scale_ = 1;
31449 }
31450
31451 ExpParameter::~ExpParameter() {
31452   // @@protoc_insertion_point(destructor:opencv_caffe.ExpParameter)
31453   SharedDtor();
31454 }
31455
31456 void ExpParameter::SharedDtor() {
31457 }
31458
31459 void ExpParameter::SetCachedSize(int size) const {
31460   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
31461   _cached_size_ = size;
31462   GOOGLE_SAFE_CONCURRENT_WRITES_END();
31463 }
31464 const ::google::protobuf::Descriptor* ExpParameter::descriptor() {
31465   protobuf_AssignDescriptorsOnce();
31466   return ExpParameter_descriptor_;
31467 }
31468
31469 const ExpParameter& ExpParameter::default_instance() {
31470   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
31471   return *internal_default_instance();
31472 }
31473
31474 ::google::protobuf::internal::ExplicitlyConstructed<ExpParameter> ExpParameter_default_instance_;
31475
31476 ExpParameter* ExpParameter::New(::google::protobuf::Arena* arena) const {
31477   ExpParameter* n = new ExpParameter;
31478   if (arena != NULL) {
31479     arena->Own(n);
31480   }
31481   return n;
31482 }
31483
31484 void ExpParameter::Clear() {
31485 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ExpParameter)
31486   if (_has_bits_[0 / 32] & 7u) {
31487     base_ = -1;
31488     scale_ = 1;
31489     shift_ = 0;
31490   }
31491   _has_bits_.Clear();
31492   if (_internal_metadata_.have_unknown_fields()) {
31493     mutable_unknown_fields()->Clear();
31494   }
31495 }
31496
31497 bool ExpParameter::MergePartialFromCodedStream(
31498     ::google::protobuf::io::CodedInputStream* input) {
31499 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
31500   ::google::protobuf::uint32 tag;
31501   // @@protoc_insertion_point(parse_start:opencv_caffe.ExpParameter)
31502   for (;;) {
31503     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
31504     tag = p.first;
31505     if (!p.second) goto handle_unusual;
31506     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
31507       // optional float base = 1 [default = -1];
31508       case 1: {
31509         if (tag == 13) {
31510           set_has_base();
31511           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
31512                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
31513                  input, &base_)));
31514         } else {
31515           goto handle_unusual;
31516         }
31517         if (input->ExpectTag(21)) goto parse_scale;
31518         break;
31519       }
31520
31521       // optional float scale = 2 [default = 1];
31522       case 2: {
31523         if (tag == 21) {
31524          parse_scale:
31525           set_has_scale();
31526           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
31527                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
31528                  input, &scale_)));
31529         } else {
31530           goto handle_unusual;
31531         }
31532         if (input->ExpectTag(29)) goto parse_shift;
31533         break;
31534       }
31535
31536       // optional float shift = 3 [default = 0];
31537       case 3: {
31538         if (tag == 29) {
31539          parse_shift:
31540           set_has_shift();
31541           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
31542                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
31543                  input, &shift_)));
31544         } else {
31545           goto handle_unusual;
31546         }
31547         if (input->ExpectAtEnd()) goto success;
31548         break;
31549       }
31550
31551       default: {
31552       handle_unusual:
31553         if (tag == 0 ||
31554             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
31555             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
31556           goto success;
31557         }
31558         DO_(::google::protobuf::internal::WireFormat::SkipField(
31559               input, tag, mutable_unknown_fields()));
31560         break;
31561       }
31562     }
31563   }
31564 success:
31565   // @@protoc_insertion_point(parse_success:opencv_caffe.ExpParameter)
31566   return true;
31567 failure:
31568   // @@protoc_insertion_point(parse_failure:opencv_caffe.ExpParameter)
31569   return false;
31570 #undef DO_
31571 }
31572
31573 void ExpParameter::SerializeWithCachedSizes(
31574     ::google::protobuf::io::CodedOutputStream* output) const {
31575   // @@protoc_insertion_point(serialize_start:opencv_caffe.ExpParameter)
31576   // optional float base = 1 [default = -1];
31577   if (has_base()) {
31578     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->base(), output);
31579   }
31580
31581   // optional float scale = 2 [default = 1];
31582   if (has_scale()) {
31583     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->scale(), output);
31584   }
31585
31586   // optional float shift = 3 [default = 0];
31587   if (has_shift()) {
31588     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->shift(), output);
31589   }
31590
31591   if (_internal_metadata_.have_unknown_fields()) {
31592     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
31593         unknown_fields(), output);
31594   }
31595   // @@protoc_insertion_point(serialize_end:opencv_caffe.ExpParameter)
31596 }
31597
31598 ::google::protobuf::uint8* ExpParameter::InternalSerializeWithCachedSizesToArray(
31599     bool deterministic, ::google::protobuf::uint8* target) const {
31600   (void)deterministic; // Unused
31601   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ExpParameter)
31602   // optional float base = 1 [default = -1];
31603   if (has_base()) {
31604     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->base(), target);
31605   }
31606
31607   // optional float scale = 2 [default = 1];
31608   if (has_scale()) {
31609     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->scale(), target);
31610   }
31611
31612   // optional float shift = 3 [default = 0];
31613   if (has_shift()) {
31614     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->shift(), target);
31615   }
31616
31617   if (_internal_metadata_.have_unknown_fields()) {
31618     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
31619         unknown_fields(), target);
31620   }
31621   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ExpParameter)
31622   return target;
31623 }
31624
31625 size_t ExpParameter::ByteSizeLong() const {
31626 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ExpParameter)
31627   size_t total_size = 0;
31628
31629   if (_has_bits_[0 / 32] & 7u) {
31630     // optional float base = 1 [default = -1];
31631     if (has_base()) {
31632       total_size += 1 + 4;
31633     }
31634
31635     // optional float scale = 2 [default = 1];
31636     if (has_scale()) {
31637       total_size += 1 + 4;
31638     }
31639
31640     // optional float shift = 3 [default = 0];
31641     if (has_shift()) {
31642       total_size += 1 + 4;
31643     }
31644
31645   }
31646   if (_internal_metadata_.have_unknown_fields()) {
31647     total_size +=
31648       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
31649         unknown_fields());
31650   }
31651   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
31652   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
31653   _cached_size_ = cached_size;
31654   GOOGLE_SAFE_CONCURRENT_WRITES_END();
31655   return total_size;
31656 }
31657
31658 void ExpParameter::MergeFrom(const ::google::protobuf::Message& from) {
31659 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ExpParameter)
31660   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
31661   const ExpParameter* source =
31662       ::google::protobuf::internal::DynamicCastToGenerated<const ExpParameter>(
31663           &from);
31664   if (source == NULL) {
31665   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ExpParameter)
31666     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
31667   } else {
31668   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ExpParameter)
31669     UnsafeMergeFrom(*source);
31670   }
31671 }
31672
31673 void ExpParameter::MergeFrom(const ExpParameter& from) {
31674 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ExpParameter)
31675   if (GOOGLE_PREDICT_TRUE(&from != this)) {
31676     UnsafeMergeFrom(from);
31677   } else {
31678     MergeFromFail(__LINE__);
31679   }
31680 }
31681
31682 void ExpParameter::UnsafeMergeFrom(const ExpParameter& from) {
31683   GOOGLE_DCHECK(&from != this);
31684   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
31685     if (from.has_base()) {
31686       set_base(from.base());
31687     }
31688     if (from.has_scale()) {
31689       set_scale(from.scale());
31690     }
31691     if (from.has_shift()) {
31692       set_shift(from.shift());
31693     }
31694   }
31695   if (from._internal_metadata_.have_unknown_fields()) {
31696     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
31697       from.unknown_fields(), &_internal_metadata_);
31698   }
31699 }
31700
31701 void ExpParameter::CopyFrom(const ::google::protobuf::Message& from) {
31702 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ExpParameter)
31703   if (&from == this) return;
31704   Clear();
31705   MergeFrom(from);
31706 }
31707
31708 void ExpParameter::CopyFrom(const ExpParameter& from) {
31709 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ExpParameter)
31710   if (&from == this) return;
31711   Clear();
31712   UnsafeMergeFrom(from);
31713 }
31714
31715 bool ExpParameter::IsInitialized() const {
31716
31717   return true;
31718 }
31719
31720 void ExpParameter::Swap(ExpParameter* other) {
31721   if (other == this) return;
31722   InternalSwap(other);
31723 }
31724 void ExpParameter::InternalSwap(ExpParameter* other) {
31725   std::swap(base_, other->base_);
31726   std::swap(scale_, other->scale_);
31727   std::swap(shift_, other->shift_);
31728   std::swap(_has_bits_[0], other->_has_bits_[0]);
31729   _internal_metadata_.Swap(&other->_internal_metadata_);
31730   std::swap(_cached_size_, other->_cached_size_);
31731 }
31732
31733 ::google::protobuf::Metadata ExpParameter::GetMetadata() const {
31734   protobuf_AssignDescriptorsOnce();
31735   ::google::protobuf::Metadata metadata;
31736   metadata.descriptor = ExpParameter_descriptor_;
31737   metadata.reflection = ExpParameter_reflection_;
31738   return metadata;
31739 }
31740
31741 #if PROTOBUF_INLINE_NOT_IN_HEADERS
31742 // ExpParameter
31743
31744 // optional float base = 1 [default = -1];
31745 bool ExpParameter::has_base() const {
31746   return (_has_bits_[0] & 0x00000001u) != 0;
31747 }
31748 void ExpParameter::set_has_base() {
31749   _has_bits_[0] |= 0x00000001u;
31750 }
31751 void ExpParameter::clear_has_base() {
31752   _has_bits_[0] &= ~0x00000001u;
31753 }
31754 void ExpParameter::clear_base() {
31755   base_ = -1;
31756   clear_has_base();
31757 }
31758 float ExpParameter::base() const {
31759   // @@protoc_insertion_point(field_get:opencv_caffe.ExpParameter.base)
31760   return base_;
31761 }
31762 void ExpParameter::set_base(float value) {
31763   set_has_base();
31764   base_ = value;
31765   // @@protoc_insertion_point(field_set:opencv_caffe.ExpParameter.base)
31766 }
31767
31768 // optional float scale = 2 [default = 1];
31769 bool ExpParameter::has_scale() const {
31770   return (_has_bits_[0] & 0x00000002u) != 0;
31771 }
31772 void ExpParameter::set_has_scale() {
31773   _has_bits_[0] |= 0x00000002u;
31774 }
31775 void ExpParameter::clear_has_scale() {
31776   _has_bits_[0] &= ~0x00000002u;
31777 }
31778 void ExpParameter::clear_scale() {
31779   scale_ = 1;
31780   clear_has_scale();
31781 }
31782 float ExpParameter::scale() const {
31783   // @@protoc_insertion_point(field_get:opencv_caffe.ExpParameter.scale)
31784   return scale_;
31785 }
31786 void ExpParameter::set_scale(float value) {
31787   set_has_scale();
31788   scale_ = value;
31789   // @@protoc_insertion_point(field_set:opencv_caffe.ExpParameter.scale)
31790 }
31791
31792 // optional float shift = 3 [default = 0];
31793 bool ExpParameter::has_shift() const {
31794   return (_has_bits_[0] & 0x00000004u) != 0;
31795 }
31796 void ExpParameter::set_has_shift() {
31797   _has_bits_[0] |= 0x00000004u;
31798 }
31799 void ExpParameter::clear_has_shift() {
31800   _has_bits_[0] &= ~0x00000004u;
31801 }
31802 void ExpParameter::clear_shift() {
31803   shift_ = 0;
31804   clear_has_shift();
31805 }
31806 float ExpParameter::shift() const {
31807   // @@protoc_insertion_point(field_get:opencv_caffe.ExpParameter.shift)
31808   return shift_;
31809 }
31810 void ExpParameter::set_shift(float value) {
31811   set_has_shift();
31812   shift_ = value;
31813   // @@protoc_insertion_point(field_set:opencv_caffe.ExpParameter.shift)
31814 }
31815
31816 inline const ExpParameter* ExpParameter::internal_default_instance() {
31817   return &ExpParameter_default_instance_.get();
31818 }
31819 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
31820
31821 // ===================================================================
31822
31823 #if !defined(_MSC_VER) || _MSC_VER >= 1900
31824 const int FlattenParameter::kAxisFieldNumber;
31825 const int FlattenParameter::kEndAxisFieldNumber;
31826 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
31827
31828 FlattenParameter::FlattenParameter()
31829   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
31830   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
31831   SharedCtor();
31832   // @@protoc_insertion_point(constructor:opencv_caffe.FlattenParameter)
31833 }
31834
31835 void FlattenParameter::InitAsDefaultInstance() {
31836 }
31837
31838 FlattenParameter::FlattenParameter(const FlattenParameter& from)
31839   : ::google::protobuf::Message(),
31840     _internal_metadata_(NULL) {
31841   SharedCtor();
31842   UnsafeMergeFrom(from);
31843   // @@protoc_insertion_point(copy_constructor:opencv_caffe.FlattenParameter)
31844 }
31845
31846 void FlattenParameter::SharedCtor() {
31847   _cached_size_ = 0;
31848   axis_ = 1;
31849   end_axis_ = -1;
31850 }
31851
31852 FlattenParameter::~FlattenParameter() {
31853   // @@protoc_insertion_point(destructor:opencv_caffe.FlattenParameter)
31854   SharedDtor();
31855 }
31856
31857 void FlattenParameter::SharedDtor() {
31858 }
31859
31860 void FlattenParameter::SetCachedSize(int size) const {
31861   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
31862   _cached_size_ = size;
31863   GOOGLE_SAFE_CONCURRENT_WRITES_END();
31864 }
31865 const ::google::protobuf::Descriptor* FlattenParameter::descriptor() {
31866   protobuf_AssignDescriptorsOnce();
31867   return FlattenParameter_descriptor_;
31868 }
31869
31870 const FlattenParameter& FlattenParameter::default_instance() {
31871   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
31872   return *internal_default_instance();
31873 }
31874
31875 ::google::protobuf::internal::ExplicitlyConstructed<FlattenParameter> FlattenParameter_default_instance_;
31876
31877 FlattenParameter* FlattenParameter::New(::google::protobuf::Arena* arena) const {
31878   FlattenParameter* n = new FlattenParameter;
31879   if (arena != NULL) {
31880     arena->Own(n);
31881   }
31882   return n;
31883 }
31884
31885 void FlattenParameter::Clear() {
31886 // @@protoc_insertion_point(message_clear_start:opencv_caffe.FlattenParameter)
31887   if (_has_bits_[0 / 32] & 3u) {
31888     axis_ = 1;
31889     end_axis_ = -1;
31890   }
31891   _has_bits_.Clear();
31892   if (_internal_metadata_.have_unknown_fields()) {
31893     mutable_unknown_fields()->Clear();
31894   }
31895 }
31896
31897 bool FlattenParameter::MergePartialFromCodedStream(
31898     ::google::protobuf::io::CodedInputStream* input) {
31899 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
31900   ::google::protobuf::uint32 tag;
31901   // @@protoc_insertion_point(parse_start:opencv_caffe.FlattenParameter)
31902   for (;;) {
31903     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
31904     tag = p.first;
31905     if (!p.second) goto handle_unusual;
31906     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
31907       // optional int32 axis = 1 [default = 1];
31908       case 1: {
31909         if (tag == 8) {
31910           set_has_axis();
31911           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
31912                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
31913                  input, &axis_)));
31914         } else {
31915           goto handle_unusual;
31916         }
31917         if (input->ExpectTag(16)) goto parse_end_axis;
31918         break;
31919       }
31920
31921       // optional int32 end_axis = 2 [default = -1];
31922       case 2: {
31923         if (tag == 16) {
31924          parse_end_axis:
31925           set_has_end_axis();
31926           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
31927                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
31928                  input, &end_axis_)));
31929         } else {
31930           goto handle_unusual;
31931         }
31932         if (input->ExpectAtEnd()) goto success;
31933         break;
31934       }
31935
31936       default: {
31937       handle_unusual:
31938         if (tag == 0 ||
31939             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
31940             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
31941           goto success;
31942         }
31943         DO_(::google::protobuf::internal::WireFormat::SkipField(
31944               input, tag, mutable_unknown_fields()));
31945         break;
31946       }
31947     }
31948   }
31949 success:
31950   // @@protoc_insertion_point(parse_success:opencv_caffe.FlattenParameter)
31951   return true;
31952 failure:
31953   // @@protoc_insertion_point(parse_failure:opencv_caffe.FlattenParameter)
31954   return false;
31955 #undef DO_
31956 }
31957
31958 void FlattenParameter::SerializeWithCachedSizes(
31959     ::google::protobuf::io::CodedOutputStream* output) const {
31960   // @@protoc_insertion_point(serialize_start:opencv_caffe.FlattenParameter)
31961   // optional int32 axis = 1 [default = 1];
31962   if (has_axis()) {
31963     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->axis(), output);
31964   }
31965
31966   // optional int32 end_axis = 2 [default = -1];
31967   if (has_end_axis()) {
31968     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->end_axis(), output);
31969   }
31970
31971   if (_internal_metadata_.have_unknown_fields()) {
31972     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
31973         unknown_fields(), output);
31974   }
31975   // @@protoc_insertion_point(serialize_end:opencv_caffe.FlattenParameter)
31976 }
31977
31978 ::google::protobuf::uint8* FlattenParameter::InternalSerializeWithCachedSizesToArray(
31979     bool deterministic, ::google::protobuf::uint8* target) const {
31980   (void)deterministic; // Unused
31981   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.FlattenParameter)
31982   // optional int32 axis = 1 [default = 1];
31983   if (has_axis()) {
31984     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->axis(), target);
31985   }
31986
31987   // optional int32 end_axis = 2 [default = -1];
31988   if (has_end_axis()) {
31989     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->end_axis(), target);
31990   }
31991
31992   if (_internal_metadata_.have_unknown_fields()) {
31993     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
31994         unknown_fields(), target);
31995   }
31996   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.FlattenParameter)
31997   return target;
31998 }
31999
32000 size_t FlattenParameter::ByteSizeLong() const {
32001 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.FlattenParameter)
32002   size_t total_size = 0;
32003
32004   if (_has_bits_[0 / 32] & 3u) {
32005     // optional int32 axis = 1 [default = 1];
32006     if (has_axis()) {
32007       total_size += 1 +
32008         ::google::protobuf::internal::WireFormatLite::Int32Size(
32009           this->axis());
32010     }
32011
32012     // optional int32 end_axis = 2 [default = -1];
32013     if (has_end_axis()) {
32014       total_size += 1 +
32015         ::google::protobuf::internal::WireFormatLite::Int32Size(
32016           this->end_axis());
32017     }
32018
32019   }
32020   if (_internal_metadata_.have_unknown_fields()) {
32021     total_size +=
32022       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
32023         unknown_fields());
32024   }
32025   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
32026   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
32027   _cached_size_ = cached_size;
32028   GOOGLE_SAFE_CONCURRENT_WRITES_END();
32029   return total_size;
32030 }
32031
32032 void FlattenParameter::MergeFrom(const ::google::protobuf::Message& from) {
32033 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.FlattenParameter)
32034   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
32035   const FlattenParameter* source =
32036       ::google::protobuf::internal::DynamicCastToGenerated<const FlattenParameter>(
32037           &from);
32038   if (source == NULL) {
32039   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.FlattenParameter)
32040     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
32041   } else {
32042   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.FlattenParameter)
32043     UnsafeMergeFrom(*source);
32044   }
32045 }
32046
32047 void FlattenParameter::MergeFrom(const FlattenParameter& from) {
32048 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.FlattenParameter)
32049   if (GOOGLE_PREDICT_TRUE(&from != this)) {
32050     UnsafeMergeFrom(from);
32051   } else {
32052     MergeFromFail(__LINE__);
32053   }
32054 }
32055
32056 void FlattenParameter::UnsafeMergeFrom(const FlattenParameter& from) {
32057   GOOGLE_DCHECK(&from != this);
32058   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
32059     if (from.has_axis()) {
32060       set_axis(from.axis());
32061     }
32062     if (from.has_end_axis()) {
32063       set_end_axis(from.end_axis());
32064     }
32065   }
32066   if (from._internal_metadata_.have_unknown_fields()) {
32067     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
32068       from.unknown_fields(), &_internal_metadata_);
32069   }
32070 }
32071
32072 void FlattenParameter::CopyFrom(const ::google::protobuf::Message& from) {
32073 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.FlattenParameter)
32074   if (&from == this) return;
32075   Clear();
32076   MergeFrom(from);
32077 }
32078
32079 void FlattenParameter::CopyFrom(const FlattenParameter& from) {
32080 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.FlattenParameter)
32081   if (&from == this) return;
32082   Clear();
32083   UnsafeMergeFrom(from);
32084 }
32085
32086 bool FlattenParameter::IsInitialized() const {
32087
32088   return true;
32089 }
32090
32091 void FlattenParameter::Swap(FlattenParameter* other) {
32092   if (other == this) return;
32093   InternalSwap(other);
32094 }
32095 void FlattenParameter::InternalSwap(FlattenParameter* other) {
32096   std::swap(axis_, other->axis_);
32097   std::swap(end_axis_, other->end_axis_);
32098   std::swap(_has_bits_[0], other->_has_bits_[0]);
32099   _internal_metadata_.Swap(&other->_internal_metadata_);
32100   std::swap(_cached_size_, other->_cached_size_);
32101 }
32102
32103 ::google::protobuf::Metadata FlattenParameter::GetMetadata() const {
32104   protobuf_AssignDescriptorsOnce();
32105   ::google::protobuf::Metadata metadata;
32106   metadata.descriptor = FlattenParameter_descriptor_;
32107   metadata.reflection = FlattenParameter_reflection_;
32108   return metadata;
32109 }
32110
32111 #if PROTOBUF_INLINE_NOT_IN_HEADERS
32112 // FlattenParameter
32113
32114 // optional int32 axis = 1 [default = 1];
32115 bool FlattenParameter::has_axis() const {
32116   return (_has_bits_[0] & 0x00000001u) != 0;
32117 }
32118 void FlattenParameter::set_has_axis() {
32119   _has_bits_[0] |= 0x00000001u;
32120 }
32121 void FlattenParameter::clear_has_axis() {
32122   _has_bits_[0] &= ~0x00000001u;
32123 }
32124 void FlattenParameter::clear_axis() {
32125   axis_ = 1;
32126   clear_has_axis();
32127 }
32128 ::google::protobuf::int32 FlattenParameter::axis() const {
32129   // @@protoc_insertion_point(field_get:opencv_caffe.FlattenParameter.axis)
32130   return axis_;
32131 }
32132 void FlattenParameter::set_axis(::google::protobuf::int32 value) {
32133   set_has_axis();
32134   axis_ = value;
32135   // @@protoc_insertion_point(field_set:opencv_caffe.FlattenParameter.axis)
32136 }
32137
32138 // optional int32 end_axis = 2 [default = -1];
32139 bool FlattenParameter::has_end_axis() const {
32140   return (_has_bits_[0] & 0x00000002u) != 0;
32141 }
32142 void FlattenParameter::set_has_end_axis() {
32143   _has_bits_[0] |= 0x00000002u;
32144 }
32145 void FlattenParameter::clear_has_end_axis() {
32146   _has_bits_[0] &= ~0x00000002u;
32147 }
32148 void FlattenParameter::clear_end_axis() {
32149   end_axis_ = -1;
32150   clear_has_end_axis();
32151 }
32152 ::google::protobuf::int32 FlattenParameter::end_axis() const {
32153   // @@protoc_insertion_point(field_get:opencv_caffe.FlattenParameter.end_axis)
32154   return end_axis_;
32155 }
32156 void FlattenParameter::set_end_axis(::google::protobuf::int32 value) {
32157   set_has_end_axis();
32158   end_axis_ = value;
32159   // @@protoc_insertion_point(field_set:opencv_caffe.FlattenParameter.end_axis)
32160 }
32161
32162 inline const FlattenParameter* FlattenParameter::internal_default_instance() {
32163   return &FlattenParameter_default_instance_.get();
32164 }
32165 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
32166
32167 // ===================================================================
32168
32169 #if !defined(_MSC_VER) || _MSC_VER >= 1900
32170 const int HDF5DataParameter::kSourceFieldNumber;
32171 const int HDF5DataParameter::kBatchSizeFieldNumber;
32172 const int HDF5DataParameter::kShuffleFieldNumber;
32173 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
32174
32175 HDF5DataParameter::HDF5DataParameter()
32176   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
32177   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
32178   SharedCtor();
32179   // @@protoc_insertion_point(constructor:opencv_caffe.HDF5DataParameter)
32180 }
32181
32182 void HDF5DataParameter::InitAsDefaultInstance() {
32183 }
32184
32185 HDF5DataParameter::HDF5DataParameter(const HDF5DataParameter& from)
32186   : ::google::protobuf::Message(),
32187     _internal_metadata_(NULL) {
32188   SharedCtor();
32189   UnsafeMergeFrom(from);
32190   // @@protoc_insertion_point(copy_constructor:opencv_caffe.HDF5DataParameter)
32191 }
32192
32193 void HDF5DataParameter::SharedCtor() {
32194   _cached_size_ = 0;
32195   source_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32196   ::memset(&batch_size_, 0, reinterpret_cast<char*>(&shuffle_) -
32197     reinterpret_cast<char*>(&batch_size_) + sizeof(shuffle_));
32198 }
32199
32200 HDF5DataParameter::~HDF5DataParameter() {
32201   // @@protoc_insertion_point(destructor:opencv_caffe.HDF5DataParameter)
32202   SharedDtor();
32203 }
32204
32205 void HDF5DataParameter::SharedDtor() {
32206   source_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32207 }
32208
32209 void HDF5DataParameter::SetCachedSize(int size) const {
32210   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
32211   _cached_size_ = size;
32212   GOOGLE_SAFE_CONCURRENT_WRITES_END();
32213 }
32214 const ::google::protobuf::Descriptor* HDF5DataParameter::descriptor() {
32215   protobuf_AssignDescriptorsOnce();
32216   return HDF5DataParameter_descriptor_;
32217 }
32218
32219 const HDF5DataParameter& HDF5DataParameter::default_instance() {
32220   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
32221   return *internal_default_instance();
32222 }
32223
32224 ::google::protobuf::internal::ExplicitlyConstructed<HDF5DataParameter> HDF5DataParameter_default_instance_;
32225
32226 HDF5DataParameter* HDF5DataParameter::New(::google::protobuf::Arena* arena) const {
32227   HDF5DataParameter* n = new HDF5DataParameter;
32228   if (arena != NULL) {
32229     arena->Own(n);
32230   }
32231   return n;
32232 }
32233
32234 void HDF5DataParameter::Clear() {
32235 // @@protoc_insertion_point(message_clear_start:opencv_caffe.HDF5DataParameter)
32236 #if defined(__clang__)
32237 #define ZR_HELPER_(f) \
32238   _Pragma("clang diagnostic push") \
32239   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
32240   __builtin_offsetof(HDF5DataParameter, f) \
32241   _Pragma("clang diagnostic pop")
32242 #else
32243 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
32244   &reinterpret_cast<HDF5DataParameter*>(16)->f)
32245 #endif
32246
32247 #define ZR_(first, last) do {\
32248   ::memset(&(first), 0,\
32249            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
32250 } while (0)
32251
32252   if (_has_bits_[0 / 32] & 7u) {
32253     ZR_(batch_size_, shuffle_);
32254     if (has_source()) {
32255       source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32256     }
32257   }
32258
32259 #undef ZR_HELPER_
32260 #undef ZR_
32261
32262   _has_bits_.Clear();
32263   if (_internal_metadata_.have_unknown_fields()) {
32264     mutable_unknown_fields()->Clear();
32265   }
32266 }
32267
32268 bool HDF5DataParameter::MergePartialFromCodedStream(
32269     ::google::protobuf::io::CodedInputStream* input) {
32270 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
32271   ::google::protobuf::uint32 tag;
32272   // @@protoc_insertion_point(parse_start:opencv_caffe.HDF5DataParameter)
32273   for (;;) {
32274     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
32275     tag = p.first;
32276     if (!p.second) goto handle_unusual;
32277     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
32278       // optional string source = 1;
32279       case 1: {
32280         if (tag == 10) {
32281           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
32282                 input, this->mutable_source()));
32283           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
32284             this->source().data(), this->source().length(),
32285             ::google::protobuf::internal::WireFormat::PARSE,
32286             "opencv_caffe.HDF5DataParameter.source");
32287         } else {
32288           goto handle_unusual;
32289         }
32290         if (input->ExpectTag(16)) goto parse_batch_size;
32291         break;
32292       }
32293
32294       // optional uint32 batch_size = 2;
32295       case 2: {
32296         if (tag == 16) {
32297          parse_batch_size:
32298           set_has_batch_size();
32299           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
32300                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
32301                  input, &batch_size_)));
32302         } else {
32303           goto handle_unusual;
32304         }
32305         if (input->ExpectTag(24)) goto parse_shuffle;
32306         break;
32307       }
32308
32309       // optional bool shuffle = 3 [default = false];
32310       case 3: {
32311         if (tag == 24) {
32312          parse_shuffle:
32313           set_has_shuffle();
32314           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
32315                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
32316                  input, &shuffle_)));
32317         } else {
32318           goto handle_unusual;
32319         }
32320         if (input->ExpectAtEnd()) goto success;
32321         break;
32322       }
32323
32324       default: {
32325       handle_unusual:
32326         if (tag == 0 ||
32327             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
32328             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
32329           goto success;
32330         }
32331         DO_(::google::protobuf::internal::WireFormat::SkipField(
32332               input, tag, mutable_unknown_fields()));
32333         break;
32334       }
32335     }
32336   }
32337 success:
32338   // @@protoc_insertion_point(parse_success:opencv_caffe.HDF5DataParameter)
32339   return true;
32340 failure:
32341   // @@protoc_insertion_point(parse_failure:opencv_caffe.HDF5DataParameter)
32342   return false;
32343 #undef DO_
32344 }
32345
32346 void HDF5DataParameter::SerializeWithCachedSizes(
32347     ::google::protobuf::io::CodedOutputStream* output) const {
32348   // @@protoc_insertion_point(serialize_start:opencv_caffe.HDF5DataParameter)
32349   // optional string source = 1;
32350   if (has_source()) {
32351     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
32352       this->source().data(), this->source().length(),
32353       ::google::protobuf::internal::WireFormat::SERIALIZE,
32354       "opencv_caffe.HDF5DataParameter.source");
32355     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
32356       1, this->source(), output);
32357   }
32358
32359   // optional uint32 batch_size = 2;
32360   if (has_batch_size()) {
32361     ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->batch_size(), output);
32362   }
32363
32364   // optional bool shuffle = 3 [default = false];
32365   if (has_shuffle()) {
32366     ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->shuffle(), output);
32367   }
32368
32369   if (_internal_metadata_.have_unknown_fields()) {
32370     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
32371         unknown_fields(), output);
32372   }
32373   // @@protoc_insertion_point(serialize_end:opencv_caffe.HDF5DataParameter)
32374 }
32375
32376 ::google::protobuf::uint8* HDF5DataParameter::InternalSerializeWithCachedSizesToArray(
32377     bool deterministic, ::google::protobuf::uint8* target) const {
32378   (void)deterministic; // Unused
32379   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.HDF5DataParameter)
32380   // optional string source = 1;
32381   if (has_source()) {
32382     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
32383       this->source().data(), this->source().length(),
32384       ::google::protobuf::internal::WireFormat::SERIALIZE,
32385       "opencv_caffe.HDF5DataParameter.source");
32386     target =
32387       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
32388         1, this->source(), target);
32389   }
32390
32391   // optional uint32 batch_size = 2;
32392   if (has_batch_size()) {
32393     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->batch_size(), target);
32394   }
32395
32396   // optional bool shuffle = 3 [default = false];
32397   if (has_shuffle()) {
32398     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->shuffle(), target);
32399   }
32400
32401   if (_internal_metadata_.have_unknown_fields()) {
32402     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
32403         unknown_fields(), target);
32404   }
32405   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.HDF5DataParameter)
32406   return target;
32407 }
32408
32409 size_t HDF5DataParameter::ByteSizeLong() const {
32410 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.HDF5DataParameter)
32411   size_t total_size = 0;
32412
32413   if (_has_bits_[0 / 32] & 7u) {
32414     // optional string source = 1;
32415     if (has_source()) {
32416       total_size += 1 +
32417         ::google::protobuf::internal::WireFormatLite::StringSize(
32418           this->source());
32419     }
32420
32421     // optional uint32 batch_size = 2;
32422     if (has_batch_size()) {
32423       total_size += 1 +
32424         ::google::protobuf::internal::WireFormatLite::UInt32Size(
32425           this->batch_size());
32426     }
32427
32428     // optional bool shuffle = 3 [default = false];
32429     if (has_shuffle()) {
32430       total_size += 1 + 1;
32431     }
32432
32433   }
32434   if (_internal_metadata_.have_unknown_fields()) {
32435     total_size +=
32436       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
32437         unknown_fields());
32438   }
32439   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
32440   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
32441   _cached_size_ = cached_size;
32442   GOOGLE_SAFE_CONCURRENT_WRITES_END();
32443   return total_size;
32444 }
32445
32446 void HDF5DataParameter::MergeFrom(const ::google::protobuf::Message& from) {
32447 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.HDF5DataParameter)
32448   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
32449   const HDF5DataParameter* source =
32450       ::google::protobuf::internal::DynamicCastToGenerated<const HDF5DataParameter>(
32451           &from);
32452   if (source == NULL) {
32453   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.HDF5DataParameter)
32454     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
32455   } else {
32456   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.HDF5DataParameter)
32457     UnsafeMergeFrom(*source);
32458   }
32459 }
32460
32461 void HDF5DataParameter::MergeFrom(const HDF5DataParameter& from) {
32462 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.HDF5DataParameter)
32463   if (GOOGLE_PREDICT_TRUE(&from != this)) {
32464     UnsafeMergeFrom(from);
32465   } else {
32466     MergeFromFail(__LINE__);
32467   }
32468 }
32469
32470 void HDF5DataParameter::UnsafeMergeFrom(const HDF5DataParameter& from) {
32471   GOOGLE_DCHECK(&from != this);
32472   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
32473     if (from.has_source()) {
32474       set_has_source();
32475       source_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.source_);
32476     }
32477     if (from.has_batch_size()) {
32478       set_batch_size(from.batch_size());
32479     }
32480     if (from.has_shuffle()) {
32481       set_shuffle(from.shuffle());
32482     }
32483   }
32484   if (from._internal_metadata_.have_unknown_fields()) {
32485     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
32486       from.unknown_fields(), &_internal_metadata_);
32487   }
32488 }
32489
32490 void HDF5DataParameter::CopyFrom(const ::google::protobuf::Message& from) {
32491 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.HDF5DataParameter)
32492   if (&from == this) return;
32493   Clear();
32494   MergeFrom(from);
32495 }
32496
32497 void HDF5DataParameter::CopyFrom(const HDF5DataParameter& from) {
32498 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.HDF5DataParameter)
32499   if (&from == this) return;
32500   Clear();
32501   UnsafeMergeFrom(from);
32502 }
32503
32504 bool HDF5DataParameter::IsInitialized() const {
32505
32506   return true;
32507 }
32508
32509 void HDF5DataParameter::Swap(HDF5DataParameter* other) {
32510   if (other == this) return;
32511   InternalSwap(other);
32512 }
32513 void HDF5DataParameter::InternalSwap(HDF5DataParameter* other) {
32514   source_.Swap(&other->source_);
32515   std::swap(batch_size_, other->batch_size_);
32516   std::swap(shuffle_, other->shuffle_);
32517   std::swap(_has_bits_[0], other->_has_bits_[0]);
32518   _internal_metadata_.Swap(&other->_internal_metadata_);
32519   std::swap(_cached_size_, other->_cached_size_);
32520 }
32521
32522 ::google::protobuf::Metadata HDF5DataParameter::GetMetadata() const {
32523   protobuf_AssignDescriptorsOnce();
32524   ::google::protobuf::Metadata metadata;
32525   metadata.descriptor = HDF5DataParameter_descriptor_;
32526   metadata.reflection = HDF5DataParameter_reflection_;
32527   return metadata;
32528 }
32529
32530 #if PROTOBUF_INLINE_NOT_IN_HEADERS
32531 // HDF5DataParameter
32532
32533 // optional string source = 1;
32534 bool HDF5DataParameter::has_source() const {
32535   return (_has_bits_[0] & 0x00000001u) != 0;
32536 }
32537 void HDF5DataParameter::set_has_source() {
32538   _has_bits_[0] |= 0x00000001u;
32539 }
32540 void HDF5DataParameter::clear_has_source() {
32541   _has_bits_[0] &= ~0x00000001u;
32542 }
32543 void HDF5DataParameter::clear_source() {
32544   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32545   clear_has_source();
32546 }
32547 const ::std::string& HDF5DataParameter::source() const {
32548   // @@protoc_insertion_point(field_get:opencv_caffe.HDF5DataParameter.source)
32549   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32550 }
32551 void HDF5DataParameter::set_source(const ::std::string& value) {
32552   set_has_source();
32553   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
32554   // @@protoc_insertion_point(field_set:opencv_caffe.HDF5DataParameter.source)
32555 }
32556 void HDF5DataParameter::set_source(const char* value) {
32557   set_has_source();
32558   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
32559   // @@protoc_insertion_point(field_set_char:opencv_caffe.HDF5DataParameter.source)
32560 }
32561 void HDF5DataParameter::set_source(const char* value, size_t size) {
32562   set_has_source();
32563   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
32564       ::std::string(reinterpret_cast<const char*>(value), size));
32565   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.HDF5DataParameter.source)
32566 }
32567 ::std::string* HDF5DataParameter::mutable_source() {
32568   set_has_source();
32569   // @@protoc_insertion_point(field_mutable:opencv_caffe.HDF5DataParameter.source)
32570   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32571 }
32572 ::std::string* HDF5DataParameter::release_source() {
32573   // @@protoc_insertion_point(field_release:opencv_caffe.HDF5DataParameter.source)
32574   clear_has_source();
32575   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32576 }
32577 void HDF5DataParameter::set_allocated_source(::std::string* source) {
32578   if (source != NULL) {
32579     set_has_source();
32580   } else {
32581     clear_has_source();
32582   }
32583   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
32584   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.HDF5DataParameter.source)
32585 }
32586
32587 // optional uint32 batch_size = 2;
32588 bool HDF5DataParameter::has_batch_size() const {
32589   return (_has_bits_[0] & 0x00000002u) != 0;
32590 }
32591 void HDF5DataParameter::set_has_batch_size() {
32592   _has_bits_[0] |= 0x00000002u;
32593 }
32594 void HDF5DataParameter::clear_has_batch_size() {
32595   _has_bits_[0] &= ~0x00000002u;
32596 }
32597 void HDF5DataParameter::clear_batch_size() {
32598   batch_size_ = 0u;
32599   clear_has_batch_size();
32600 }
32601 ::google::protobuf::uint32 HDF5DataParameter::batch_size() const {
32602   // @@protoc_insertion_point(field_get:opencv_caffe.HDF5DataParameter.batch_size)
32603   return batch_size_;
32604 }
32605 void HDF5DataParameter::set_batch_size(::google::protobuf::uint32 value) {
32606   set_has_batch_size();
32607   batch_size_ = value;
32608   // @@protoc_insertion_point(field_set:opencv_caffe.HDF5DataParameter.batch_size)
32609 }
32610
32611 // optional bool shuffle = 3 [default = false];
32612 bool HDF5DataParameter::has_shuffle() const {
32613   return (_has_bits_[0] & 0x00000004u) != 0;
32614 }
32615 void HDF5DataParameter::set_has_shuffle() {
32616   _has_bits_[0] |= 0x00000004u;
32617 }
32618 void HDF5DataParameter::clear_has_shuffle() {
32619   _has_bits_[0] &= ~0x00000004u;
32620 }
32621 void HDF5DataParameter::clear_shuffle() {
32622   shuffle_ = false;
32623   clear_has_shuffle();
32624 }
32625 bool HDF5DataParameter::shuffle() const {
32626   // @@protoc_insertion_point(field_get:opencv_caffe.HDF5DataParameter.shuffle)
32627   return shuffle_;
32628 }
32629 void HDF5DataParameter::set_shuffle(bool value) {
32630   set_has_shuffle();
32631   shuffle_ = value;
32632   // @@protoc_insertion_point(field_set:opencv_caffe.HDF5DataParameter.shuffle)
32633 }
32634
32635 inline const HDF5DataParameter* HDF5DataParameter::internal_default_instance() {
32636   return &HDF5DataParameter_default_instance_.get();
32637 }
32638 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
32639
32640 // ===================================================================
32641
32642 #if !defined(_MSC_VER) || _MSC_VER >= 1900
32643 const int HDF5OutputParameter::kFileNameFieldNumber;
32644 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
32645
32646 HDF5OutputParameter::HDF5OutputParameter()
32647   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
32648   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
32649   SharedCtor();
32650   // @@protoc_insertion_point(constructor:opencv_caffe.HDF5OutputParameter)
32651 }
32652
32653 void HDF5OutputParameter::InitAsDefaultInstance() {
32654 }
32655
32656 HDF5OutputParameter::HDF5OutputParameter(const HDF5OutputParameter& from)
32657   : ::google::protobuf::Message(),
32658     _internal_metadata_(NULL) {
32659   SharedCtor();
32660   UnsafeMergeFrom(from);
32661   // @@protoc_insertion_point(copy_constructor:opencv_caffe.HDF5OutputParameter)
32662 }
32663
32664 void HDF5OutputParameter::SharedCtor() {
32665   _cached_size_ = 0;
32666   file_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32667 }
32668
32669 HDF5OutputParameter::~HDF5OutputParameter() {
32670   // @@protoc_insertion_point(destructor:opencv_caffe.HDF5OutputParameter)
32671   SharedDtor();
32672 }
32673
32674 void HDF5OutputParameter::SharedDtor() {
32675   file_name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32676 }
32677
32678 void HDF5OutputParameter::SetCachedSize(int size) const {
32679   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
32680   _cached_size_ = size;
32681   GOOGLE_SAFE_CONCURRENT_WRITES_END();
32682 }
32683 const ::google::protobuf::Descriptor* HDF5OutputParameter::descriptor() {
32684   protobuf_AssignDescriptorsOnce();
32685   return HDF5OutputParameter_descriptor_;
32686 }
32687
32688 const HDF5OutputParameter& HDF5OutputParameter::default_instance() {
32689   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
32690   return *internal_default_instance();
32691 }
32692
32693 ::google::protobuf::internal::ExplicitlyConstructed<HDF5OutputParameter> HDF5OutputParameter_default_instance_;
32694
32695 HDF5OutputParameter* HDF5OutputParameter::New(::google::protobuf::Arena* arena) const {
32696   HDF5OutputParameter* n = new HDF5OutputParameter;
32697   if (arena != NULL) {
32698     arena->Own(n);
32699   }
32700   return n;
32701 }
32702
32703 void HDF5OutputParameter::Clear() {
32704 // @@protoc_insertion_point(message_clear_start:opencv_caffe.HDF5OutputParameter)
32705   if (has_file_name()) {
32706     file_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32707   }
32708   _has_bits_.Clear();
32709   if (_internal_metadata_.have_unknown_fields()) {
32710     mutable_unknown_fields()->Clear();
32711   }
32712 }
32713
32714 bool HDF5OutputParameter::MergePartialFromCodedStream(
32715     ::google::protobuf::io::CodedInputStream* input) {
32716 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
32717   ::google::protobuf::uint32 tag;
32718   // @@protoc_insertion_point(parse_start:opencv_caffe.HDF5OutputParameter)
32719   for (;;) {
32720     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
32721     tag = p.first;
32722     if (!p.second) goto handle_unusual;
32723     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
32724       // optional string file_name = 1;
32725       case 1: {
32726         if (tag == 10) {
32727           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
32728                 input, this->mutable_file_name()));
32729           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
32730             this->file_name().data(), this->file_name().length(),
32731             ::google::protobuf::internal::WireFormat::PARSE,
32732             "opencv_caffe.HDF5OutputParameter.file_name");
32733         } else {
32734           goto handle_unusual;
32735         }
32736         if (input->ExpectAtEnd()) goto success;
32737         break;
32738       }
32739
32740       default: {
32741       handle_unusual:
32742         if (tag == 0 ||
32743             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
32744             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
32745           goto success;
32746         }
32747         DO_(::google::protobuf::internal::WireFormat::SkipField(
32748               input, tag, mutable_unknown_fields()));
32749         break;
32750       }
32751     }
32752   }
32753 success:
32754   // @@protoc_insertion_point(parse_success:opencv_caffe.HDF5OutputParameter)
32755   return true;
32756 failure:
32757   // @@protoc_insertion_point(parse_failure:opencv_caffe.HDF5OutputParameter)
32758   return false;
32759 #undef DO_
32760 }
32761
32762 void HDF5OutputParameter::SerializeWithCachedSizes(
32763     ::google::protobuf::io::CodedOutputStream* output) const {
32764   // @@protoc_insertion_point(serialize_start:opencv_caffe.HDF5OutputParameter)
32765   // optional string file_name = 1;
32766   if (has_file_name()) {
32767     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
32768       this->file_name().data(), this->file_name().length(),
32769       ::google::protobuf::internal::WireFormat::SERIALIZE,
32770       "opencv_caffe.HDF5OutputParameter.file_name");
32771     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
32772       1, this->file_name(), output);
32773   }
32774
32775   if (_internal_metadata_.have_unknown_fields()) {
32776     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
32777         unknown_fields(), output);
32778   }
32779   // @@protoc_insertion_point(serialize_end:opencv_caffe.HDF5OutputParameter)
32780 }
32781
32782 ::google::protobuf::uint8* HDF5OutputParameter::InternalSerializeWithCachedSizesToArray(
32783     bool deterministic, ::google::protobuf::uint8* target) const {
32784   (void)deterministic; // Unused
32785   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.HDF5OutputParameter)
32786   // optional string file_name = 1;
32787   if (has_file_name()) {
32788     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
32789       this->file_name().data(), this->file_name().length(),
32790       ::google::protobuf::internal::WireFormat::SERIALIZE,
32791       "opencv_caffe.HDF5OutputParameter.file_name");
32792     target =
32793       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
32794         1, this->file_name(), target);
32795   }
32796
32797   if (_internal_metadata_.have_unknown_fields()) {
32798     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
32799         unknown_fields(), target);
32800   }
32801   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.HDF5OutputParameter)
32802   return target;
32803 }
32804
32805 size_t HDF5OutputParameter::ByteSizeLong() const {
32806 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.HDF5OutputParameter)
32807   size_t total_size = 0;
32808
32809   // optional string file_name = 1;
32810   if (has_file_name()) {
32811     total_size += 1 +
32812       ::google::protobuf::internal::WireFormatLite::StringSize(
32813         this->file_name());
32814   }
32815
32816   if (_internal_metadata_.have_unknown_fields()) {
32817     total_size +=
32818       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
32819         unknown_fields());
32820   }
32821   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
32822   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
32823   _cached_size_ = cached_size;
32824   GOOGLE_SAFE_CONCURRENT_WRITES_END();
32825   return total_size;
32826 }
32827
32828 void HDF5OutputParameter::MergeFrom(const ::google::protobuf::Message& from) {
32829 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.HDF5OutputParameter)
32830   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
32831   const HDF5OutputParameter* source =
32832       ::google::protobuf::internal::DynamicCastToGenerated<const HDF5OutputParameter>(
32833           &from);
32834   if (source == NULL) {
32835   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.HDF5OutputParameter)
32836     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
32837   } else {
32838   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.HDF5OutputParameter)
32839     UnsafeMergeFrom(*source);
32840   }
32841 }
32842
32843 void HDF5OutputParameter::MergeFrom(const HDF5OutputParameter& from) {
32844 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.HDF5OutputParameter)
32845   if (GOOGLE_PREDICT_TRUE(&from != this)) {
32846     UnsafeMergeFrom(from);
32847   } else {
32848     MergeFromFail(__LINE__);
32849   }
32850 }
32851
32852 void HDF5OutputParameter::UnsafeMergeFrom(const HDF5OutputParameter& from) {
32853   GOOGLE_DCHECK(&from != this);
32854   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
32855     if (from.has_file_name()) {
32856       set_has_file_name();
32857       file_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.file_name_);
32858     }
32859   }
32860   if (from._internal_metadata_.have_unknown_fields()) {
32861     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
32862       from.unknown_fields(), &_internal_metadata_);
32863   }
32864 }
32865
32866 void HDF5OutputParameter::CopyFrom(const ::google::protobuf::Message& from) {
32867 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.HDF5OutputParameter)
32868   if (&from == this) return;
32869   Clear();
32870   MergeFrom(from);
32871 }
32872
32873 void HDF5OutputParameter::CopyFrom(const HDF5OutputParameter& from) {
32874 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.HDF5OutputParameter)
32875   if (&from == this) return;
32876   Clear();
32877   UnsafeMergeFrom(from);
32878 }
32879
32880 bool HDF5OutputParameter::IsInitialized() const {
32881
32882   return true;
32883 }
32884
32885 void HDF5OutputParameter::Swap(HDF5OutputParameter* other) {
32886   if (other == this) return;
32887   InternalSwap(other);
32888 }
32889 void HDF5OutputParameter::InternalSwap(HDF5OutputParameter* other) {
32890   file_name_.Swap(&other->file_name_);
32891   std::swap(_has_bits_[0], other->_has_bits_[0]);
32892   _internal_metadata_.Swap(&other->_internal_metadata_);
32893   std::swap(_cached_size_, other->_cached_size_);
32894 }
32895
32896 ::google::protobuf::Metadata HDF5OutputParameter::GetMetadata() const {
32897   protobuf_AssignDescriptorsOnce();
32898   ::google::protobuf::Metadata metadata;
32899   metadata.descriptor = HDF5OutputParameter_descriptor_;
32900   metadata.reflection = HDF5OutputParameter_reflection_;
32901   return metadata;
32902 }
32903
32904 #if PROTOBUF_INLINE_NOT_IN_HEADERS
32905 // HDF5OutputParameter
32906
32907 // optional string file_name = 1;
32908 bool HDF5OutputParameter::has_file_name() const {
32909   return (_has_bits_[0] & 0x00000001u) != 0;
32910 }
32911 void HDF5OutputParameter::set_has_file_name() {
32912   _has_bits_[0] |= 0x00000001u;
32913 }
32914 void HDF5OutputParameter::clear_has_file_name() {
32915   _has_bits_[0] &= ~0x00000001u;
32916 }
32917 void HDF5OutputParameter::clear_file_name() {
32918   file_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32919   clear_has_file_name();
32920 }
32921 const ::std::string& HDF5OutputParameter::file_name() const {
32922   // @@protoc_insertion_point(field_get:opencv_caffe.HDF5OutputParameter.file_name)
32923   return file_name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32924 }
32925 void HDF5OutputParameter::set_file_name(const ::std::string& value) {
32926   set_has_file_name();
32927   file_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
32928   // @@protoc_insertion_point(field_set:opencv_caffe.HDF5OutputParameter.file_name)
32929 }
32930 void HDF5OutputParameter::set_file_name(const char* value) {
32931   set_has_file_name();
32932   file_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
32933   // @@protoc_insertion_point(field_set_char:opencv_caffe.HDF5OutputParameter.file_name)
32934 }
32935 void HDF5OutputParameter::set_file_name(const char* value, size_t size) {
32936   set_has_file_name();
32937   file_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
32938       ::std::string(reinterpret_cast<const char*>(value), size));
32939   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.HDF5OutputParameter.file_name)
32940 }
32941 ::std::string* HDF5OutputParameter::mutable_file_name() {
32942   set_has_file_name();
32943   // @@protoc_insertion_point(field_mutable:opencv_caffe.HDF5OutputParameter.file_name)
32944   return file_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32945 }
32946 ::std::string* HDF5OutputParameter::release_file_name() {
32947   // @@protoc_insertion_point(field_release:opencv_caffe.HDF5OutputParameter.file_name)
32948   clear_has_file_name();
32949   return file_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32950 }
32951 void HDF5OutputParameter::set_allocated_file_name(::std::string* file_name) {
32952   if (file_name != NULL) {
32953     set_has_file_name();
32954   } else {
32955     clear_has_file_name();
32956   }
32957   file_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), file_name);
32958   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.HDF5OutputParameter.file_name)
32959 }
32960
32961 inline const HDF5OutputParameter* HDF5OutputParameter::internal_default_instance() {
32962   return &HDF5OutputParameter_default_instance_.get();
32963 }
32964 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
32965
32966 // ===================================================================
32967
32968 const ::google::protobuf::EnumDescriptor* HingeLossParameter_Norm_descriptor() {
32969   protobuf_AssignDescriptorsOnce();
32970   return HingeLossParameter_Norm_descriptor_;
32971 }
32972 bool HingeLossParameter_Norm_IsValid(int value) {
32973   switch (value) {
32974     case 1:
32975     case 2:
32976       return true;
32977     default:
32978       return false;
32979   }
32980 }
32981
32982 #if !defined(_MSC_VER) || _MSC_VER >= 1900
32983 const HingeLossParameter_Norm HingeLossParameter::L1;
32984 const HingeLossParameter_Norm HingeLossParameter::L2;
32985 const HingeLossParameter_Norm HingeLossParameter::Norm_MIN;
32986 const HingeLossParameter_Norm HingeLossParameter::Norm_MAX;
32987 const int HingeLossParameter::Norm_ARRAYSIZE;
32988 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
32989 #if !defined(_MSC_VER) || _MSC_VER >= 1900
32990 const int HingeLossParameter::kNormFieldNumber;
32991 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
32992
32993 HingeLossParameter::HingeLossParameter()
32994   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
32995   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
32996   SharedCtor();
32997   // @@protoc_insertion_point(constructor:opencv_caffe.HingeLossParameter)
32998 }
32999
33000 void HingeLossParameter::InitAsDefaultInstance() {
33001 }
33002
33003 HingeLossParameter::HingeLossParameter(const HingeLossParameter& from)
33004   : ::google::protobuf::Message(),
33005     _internal_metadata_(NULL) {
33006   SharedCtor();
33007   UnsafeMergeFrom(from);
33008   // @@protoc_insertion_point(copy_constructor:opencv_caffe.HingeLossParameter)
33009 }
33010
33011 void HingeLossParameter::SharedCtor() {
33012   _cached_size_ = 0;
33013   norm_ = 1;
33014 }
33015
33016 HingeLossParameter::~HingeLossParameter() {
33017   // @@protoc_insertion_point(destructor:opencv_caffe.HingeLossParameter)
33018   SharedDtor();
33019 }
33020
33021 void HingeLossParameter::SharedDtor() {
33022 }
33023
33024 void HingeLossParameter::SetCachedSize(int size) const {
33025   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
33026   _cached_size_ = size;
33027   GOOGLE_SAFE_CONCURRENT_WRITES_END();
33028 }
33029 const ::google::protobuf::Descriptor* HingeLossParameter::descriptor() {
33030   protobuf_AssignDescriptorsOnce();
33031   return HingeLossParameter_descriptor_;
33032 }
33033
33034 const HingeLossParameter& HingeLossParameter::default_instance() {
33035   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
33036   return *internal_default_instance();
33037 }
33038
33039 ::google::protobuf::internal::ExplicitlyConstructed<HingeLossParameter> HingeLossParameter_default_instance_;
33040
33041 HingeLossParameter* HingeLossParameter::New(::google::protobuf::Arena* arena) const {
33042   HingeLossParameter* n = new HingeLossParameter;
33043   if (arena != NULL) {
33044     arena->Own(n);
33045   }
33046   return n;
33047 }
33048
33049 void HingeLossParameter::Clear() {
33050 // @@protoc_insertion_point(message_clear_start:opencv_caffe.HingeLossParameter)
33051   norm_ = 1;
33052   _has_bits_.Clear();
33053   if (_internal_metadata_.have_unknown_fields()) {
33054     mutable_unknown_fields()->Clear();
33055   }
33056 }
33057
33058 bool HingeLossParameter::MergePartialFromCodedStream(
33059     ::google::protobuf::io::CodedInputStream* input) {
33060 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
33061   ::google::protobuf::uint32 tag;
33062   // @@protoc_insertion_point(parse_start:opencv_caffe.HingeLossParameter)
33063   for (;;) {
33064     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
33065     tag = p.first;
33066     if (!p.second) goto handle_unusual;
33067     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
33068       // optional .opencv_caffe.HingeLossParameter.Norm norm = 1 [default = L1];
33069       case 1: {
33070         if (tag == 8) {
33071           int value;
33072           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
33073                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
33074                  input, &value)));
33075           if (::opencv_caffe::HingeLossParameter_Norm_IsValid(value)) {
33076             set_norm(static_cast< ::opencv_caffe::HingeLossParameter_Norm >(value));
33077           } else {
33078             mutable_unknown_fields()->AddVarint(1, value);
33079           }
33080         } else {
33081           goto handle_unusual;
33082         }
33083         if (input->ExpectAtEnd()) goto success;
33084         break;
33085       }
33086
33087       default: {
33088       handle_unusual:
33089         if (tag == 0 ||
33090             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
33091             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
33092           goto success;
33093         }
33094         DO_(::google::protobuf::internal::WireFormat::SkipField(
33095               input, tag, mutable_unknown_fields()));
33096         break;
33097       }
33098     }
33099   }
33100 success:
33101   // @@protoc_insertion_point(parse_success:opencv_caffe.HingeLossParameter)
33102   return true;
33103 failure:
33104   // @@protoc_insertion_point(parse_failure:opencv_caffe.HingeLossParameter)
33105   return false;
33106 #undef DO_
33107 }
33108
33109 void HingeLossParameter::SerializeWithCachedSizes(
33110     ::google::protobuf::io::CodedOutputStream* output) const {
33111   // @@protoc_insertion_point(serialize_start:opencv_caffe.HingeLossParameter)
33112   // optional .opencv_caffe.HingeLossParameter.Norm norm = 1 [default = L1];
33113   if (has_norm()) {
33114     ::google::protobuf::internal::WireFormatLite::WriteEnum(
33115       1, this->norm(), output);
33116   }
33117
33118   if (_internal_metadata_.have_unknown_fields()) {
33119     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
33120         unknown_fields(), output);
33121   }
33122   // @@protoc_insertion_point(serialize_end:opencv_caffe.HingeLossParameter)
33123 }
33124
33125 ::google::protobuf::uint8* HingeLossParameter::InternalSerializeWithCachedSizesToArray(
33126     bool deterministic, ::google::protobuf::uint8* target) const {
33127   (void)deterministic; // Unused
33128   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.HingeLossParameter)
33129   // optional .opencv_caffe.HingeLossParameter.Norm norm = 1 [default = L1];
33130   if (has_norm()) {
33131     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
33132       1, this->norm(), target);
33133   }
33134
33135   if (_internal_metadata_.have_unknown_fields()) {
33136     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
33137         unknown_fields(), target);
33138   }
33139   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.HingeLossParameter)
33140   return target;
33141 }
33142
33143 size_t HingeLossParameter::ByteSizeLong() const {
33144 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.HingeLossParameter)
33145   size_t total_size = 0;
33146
33147   // optional .opencv_caffe.HingeLossParameter.Norm norm = 1 [default = L1];
33148   if (has_norm()) {
33149     total_size += 1 +
33150       ::google::protobuf::internal::WireFormatLite::EnumSize(this->norm());
33151   }
33152
33153   if (_internal_metadata_.have_unknown_fields()) {
33154     total_size +=
33155       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
33156         unknown_fields());
33157   }
33158   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
33159   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
33160   _cached_size_ = cached_size;
33161   GOOGLE_SAFE_CONCURRENT_WRITES_END();
33162   return total_size;
33163 }
33164
33165 void HingeLossParameter::MergeFrom(const ::google::protobuf::Message& from) {
33166 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.HingeLossParameter)
33167   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
33168   const HingeLossParameter* source =
33169       ::google::protobuf::internal::DynamicCastToGenerated<const HingeLossParameter>(
33170           &from);
33171   if (source == NULL) {
33172   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.HingeLossParameter)
33173     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
33174   } else {
33175   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.HingeLossParameter)
33176     UnsafeMergeFrom(*source);
33177   }
33178 }
33179
33180 void HingeLossParameter::MergeFrom(const HingeLossParameter& from) {
33181 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.HingeLossParameter)
33182   if (GOOGLE_PREDICT_TRUE(&from != this)) {
33183     UnsafeMergeFrom(from);
33184   } else {
33185     MergeFromFail(__LINE__);
33186   }
33187 }
33188
33189 void HingeLossParameter::UnsafeMergeFrom(const HingeLossParameter& from) {
33190   GOOGLE_DCHECK(&from != this);
33191   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
33192     if (from.has_norm()) {
33193       set_norm(from.norm());
33194     }
33195   }
33196   if (from._internal_metadata_.have_unknown_fields()) {
33197     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
33198       from.unknown_fields(), &_internal_metadata_);
33199   }
33200 }
33201
33202 void HingeLossParameter::CopyFrom(const ::google::protobuf::Message& from) {
33203 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.HingeLossParameter)
33204   if (&from == this) return;
33205   Clear();
33206   MergeFrom(from);
33207 }
33208
33209 void HingeLossParameter::CopyFrom(const HingeLossParameter& from) {
33210 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.HingeLossParameter)
33211   if (&from == this) return;
33212   Clear();
33213   UnsafeMergeFrom(from);
33214 }
33215
33216 bool HingeLossParameter::IsInitialized() const {
33217
33218   return true;
33219 }
33220
33221 void HingeLossParameter::Swap(HingeLossParameter* other) {
33222   if (other == this) return;
33223   InternalSwap(other);
33224 }
33225 void HingeLossParameter::InternalSwap(HingeLossParameter* other) {
33226   std::swap(norm_, other->norm_);
33227   std::swap(_has_bits_[0], other->_has_bits_[0]);
33228   _internal_metadata_.Swap(&other->_internal_metadata_);
33229   std::swap(_cached_size_, other->_cached_size_);
33230 }
33231
33232 ::google::protobuf::Metadata HingeLossParameter::GetMetadata() const {
33233   protobuf_AssignDescriptorsOnce();
33234   ::google::protobuf::Metadata metadata;
33235   metadata.descriptor = HingeLossParameter_descriptor_;
33236   metadata.reflection = HingeLossParameter_reflection_;
33237   return metadata;
33238 }
33239
33240 #if PROTOBUF_INLINE_NOT_IN_HEADERS
33241 // HingeLossParameter
33242
33243 // optional .opencv_caffe.HingeLossParameter.Norm norm = 1 [default = L1];
33244 bool HingeLossParameter::has_norm() const {
33245   return (_has_bits_[0] & 0x00000001u) != 0;
33246 }
33247 void HingeLossParameter::set_has_norm() {
33248   _has_bits_[0] |= 0x00000001u;
33249 }
33250 void HingeLossParameter::clear_has_norm() {
33251   _has_bits_[0] &= ~0x00000001u;
33252 }
33253 void HingeLossParameter::clear_norm() {
33254   norm_ = 1;
33255   clear_has_norm();
33256 }
33257 ::opencv_caffe::HingeLossParameter_Norm HingeLossParameter::norm() const {
33258   // @@protoc_insertion_point(field_get:opencv_caffe.HingeLossParameter.norm)
33259   return static_cast< ::opencv_caffe::HingeLossParameter_Norm >(norm_);
33260 }
33261 void HingeLossParameter::set_norm(::opencv_caffe::HingeLossParameter_Norm value) {
33262   assert(::opencv_caffe::HingeLossParameter_Norm_IsValid(value));
33263   set_has_norm();
33264   norm_ = value;
33265   // @@protoc_insertion_point(field_set:opencv_caffe.HingeLossParameter.norm)
33266 }
33267
33268 inline const HingeLossParameter* HingeLossParameter::internal_default_instance() {
33269   return &HingeLossParameter_default_instance_.get();
33270 }
33271 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
33272
33273 // ===================================================================
33274
33275 #if !defined(_MSC_VER) || _MSC_VER >= 1900
33276 const int ImageDataParameter::kSourceFieldNumber;
33277 const int ImageDataParameter::kBatchSizeFieldNumber;
33278 const int ImageDataParameter::kRandSkipFieldNumber;
33279 const int ImageDataParameter::kShuffleFieldNumber;
33280 const int ImageDataParameter::kNewHeightFieldNumber;
33281 const int ImageDataParameter::kNewWidthFieldNumber;
33282 const int ImageDataParameter::kIsColorFieldNumber;
33283 const int ImageDataParameter::kScaleFieldNumber;
33284 const int ImageDataParameter::kMeanFileFieldNumber;
33285 const int ImageDataParameter::kCropSizeFieldNumber;
33286 const int ImageDataParameter::kMirrorFieldNumber;
33287 const int ImageDataParameter::kRootFolderFieldNumber;
33288 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
33289
33290 ImageDataParameter::ImageDataParameter()
33291   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
33292   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
33293   SharedCtor();
33294   // @@protoc_insertion_point(constructor:opencv_caffe.ImageDataParameter)
33295 }
33296
33297 void ImageDataParameter::InitAsDefaultInstance() {
33298 }
33299
33300 ImageDataParameter::ImageDataParameter(const ImageDataParameter& from)
33301   : ::google::protobuf::Message(),
33302     _internal_metadata_(NULL) {
33303   SharedCtor();
33304   UnsafeMergeFrom(from);
33305   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ImageDataParameter)
33306 }
33307
33308 void ImageDataParameter::SharedCtor() {
33309   _cached_size_ = 0;
33310   source_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
33311   mean_file_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
33312   root_folder_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
33313   ::memset(&rand_skip_, 0, reinterpret_cast<char*>(&crop_size_) -
33314     reinterpret_cast<char*>(&rand_skip_) + sizeof(crop_size_));
33315   scale_ = 1;
33316   batch_size_ = 1u;
33317   is_color_ = true;
33318 }
33319
33320 ImageDataParameter::~ImageDataParameter() {
33321   // @@protoc_insertion_point(destructor:opencv_caffe.ImageDataParameter)
33322   SharedDtor();
33323 }
33324
33325 void ImageDataParameter::SharedDtor() {
33326   source_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
33327   mean_file_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
33328   root_folder_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
33329 }
33330
33331 void ImageDataParameter::SetCachedSize(int size) const {
33332   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
33333   _cached_size_ = size;
33334   GOOGLE_SAFE_CONCURRENT_WRITES_END();
33335 }
33336 const ::google::protobuf::Descriptor* ImageDataParameter::descriptor() {
33337   protobuf_AssignDescriptorsOnce();
33338   return ImageDataParameter_descriptor_;
33339 }
33340
33341 const ImageDataParameter& ImageDataParameter::default_instance() {
33342   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
33343   return *internal_default_instance();
33344 }
33345
33346 ::google::protobuf::internal::ExplicitlyConstructed<ImageDataParameter> ImageDataParameter_default_instance_;
33347
33348 ImageDataParameter* ImageDataParameter::New(::google::protobuf::Arena* arena) const {
33349   ImageDataParameter* n = new ImageDataParameter;
33350   if (arena != NULL) {
33351     arena->Own(n);
33352   }
33353   return n;
33354 }
33355
33356 void ImageDataParameter::Clear() {
33357 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ImageDataParameter)
33358 #if defined(__clang__)
33359 #define ZR_HELPER_(f) \
33360   _Pragma("clang diagnostic push") \
33361   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
33362   __builtin_offsetof(ImageDataParameter, f) \
33363   _Pragma("clang diagnostic pop")
33364 #else
33365 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
33366   &reinterpret_cast<ImageDataParameter*>(16)->f)
33367 #endif
33368
33369 #define ZR_(first, last) do {\
33370   ::memset(&(first), 0,\
33371            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
33372 } while (0)
33373
33374   if (_has_bits_[0 / 32] & 255u) {
33375     ZR_(rand_skip_, shuffle_);
33376     if (has_source()) {
33377       source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
33378     }
33379     batch_size_ = 1u;
33380     is_color_ = true;
33381     scale_ = 1;
33382   }
33383   if (_has_bits_[8 / 32] & 3840u) {
33384     ZR_(mirror_, crop_size_);
33385     if (has_mean_file()) {
33386       mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
33387     }
33388     if (has_root_folder()) {
33389       root_folder_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
33390     }
33391   }
33392
33393 #undef ZR_HELPER_
33394 #undef ZR_
33395
33396   _has_bits_.Clear();
33397   if (_internal_metadata_.have_unknown_fields()) {
33398     mutable_unknown_fields()->Clear();
33399   }
33400 }
33401
33402 bool ImageDataParameter::MergePartialFromCodedStream(
33403     ::google::protobuf::io::CodedInputStream* input) {
33404 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
33405   ::google::protobuf::uint32 tag;
33406   // @@protoc_insertion_point(parse_start:opencv_caffe.ImageDataParameter)
33407   for (;;) {
33408     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
33409     tag = p.first;
33410     if (!p.second) goto handle_unusual;
33411     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
33412       // optional string source = 1;
33413       case 1: {
33414         if (tag == 10) {
33415           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
33416                 input, this->mutable_source()));
33417           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
33418             this->source().data(), this->source().length(),
33419             ::google::protobuf::internal::WireFormat::PARSE,
33420             "opencv_caffe.ImageDataParameter.source");
33421         } else {
33422           goto handle_unusual;
33423         }
33424         if (input->ExpectTag(21)) goto parse_scale;
33425         break;
33426       }
33427
33428       // optional float scale = 2 [default = 1];
33429       case 2: {
33430         if (tag == 21) {
33431          parse_scale:
33432           set_has_scale();
33433           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
33434                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
33435                  input, &scale_)));
33436         } else {
33437           goto handle_unusual;
33438         }
33439         if (input->ExpectTag(26)) goto parse_mean_file;
33440         break;
33441       }
33442
33443       // optional string mean_file = 3;
33444       case 3: {
33445         if (tag == 26) {
33446          parse_mean_file:
33447           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
33448                 input, this->mutable_mean_file()));
33449           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
33450             this->mean_file().data(), this->mean_file().length(),
33451             ::google::protobuf::internal::WireFormat::PARSE,
33452             "opencv_caffe.ImageDataParameter.mean_file");
33453         } else {
33454           goto handle_unusual;
33455         }
33456         if (input->ExpectTag(32)) goto parse_batch_size;
33457         break;
33458       }
33459
33460       // optional uint32 batch_size = 4 [default = 1];
33461       case 4: {
33462         if (tag == 32) {
33463          parse_batch_size:
33464           set_has_batch_size();
33465           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
33466                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
33467                  input, &batch_size_)));
33468         } else {
33469           goto handle_unusual;
33470         }
33471         if (input->ExpectTag(40)) goto parse_crop_size;
33472         break;
33473       }
33474
33475       // optional uint32 crop_size = 5 [default = 0];
33476       case 5: {
33477         if (tag == 40) {
33478          parse_crop_size:
33479           set_has_crop_size();
33480           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
33481                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
33482                  input, &crop_size_)));
33483         } else {
33484           goto handle_unusual;
33485         }
33486         if (input->ExpectTag(48)) goto parse_mirror;
33487         break;
33488       }
33489
33490       // optional bool mirror = 6 [default = false];
33491       case 6: {
33492         if (tag == 48) {
33493          parse_mirror:
33494           set_has_mirror();
33495           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
33496                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
33497                  input, &mirror_)));
33498         } else {
33499           goto handle_unusual;
33500         }
33501         if (input->ExpectTag(56)) goto parse_rand_skip;
33502         break;
33503       }
33504
33505       // optional uint32 rand_skip = 7 [default = 0];
33506       case 7: {
33507         if (tag == 56) {
33508          parse_rand_skip:
33509           set_has_rand_skip();
33510           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
33511                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
33512                  input, &rand_skip_)));
33513         } else {
33514           goto handle_unusual;
33515         }
33516         if (input->ExpectTag(64)) goto parse_shuffle;
33517         break;
33518       }
33519
33520       // optional bool shuffle = 8 [default = false];
33521       case 8: {
33522         if (tag == 64) {
33523          parse_shuffle:
33524           set_has_shuffle();
33525           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
33526                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
33527                  input, &shuffle_)));
33528         } else {
33529           goto handle_unusual;
33530         }
33531         if (input->ExpectTag(72)) goto parse_new_height;
33532         break;
33533       }
33534
33535       // optional uint32 new_height = 9 [default = 0];
33536       case 9: {
33537         if (tag == 72) {
33538          parse_new_height:
33539           set_has_new_height();
33540           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
33541                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
33542                  input, &new_height_)));
33543         } else {
33544           goto handle_unusual;
33545         }
33546         if (input->ExpectTag(80)) goto parse_new_width;
33547         break;
33548       }
33549
33550       // optional uint32 new_width = 10 [default = 0];
33551       case 10: {
33552         if (tag == 80) {
33553          parse_new_width:
33554           set_has_new_width();
33555           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
33556                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
33557                  input, &new_width_)));
33558         } else {
33559           goto handle_unusual;
33560         }
33561         if (input->ExpectTag(88)) goto parse_is_color;
33562         break;
33563       }
33564
33565       // optional bool is_color = 11 [default = true];
33566       case 11: {
33567         if (tag == 88) {
33568          parse_is_color:
33569           set_has_is_color();
33570           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
33571                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
33572                  input, &is_color_)));
33573         } else {
33574           goto handle_unusual;
33575         }
33576         if (input->ExpectTag(98)) goto parse_root_folder;
33577         break;
33578       }
33579
33580       // optional string root_folder = 12 [default = ""];
33581       case 12: {
33582         if (tag == 98) {
33583          parse_root_folder:
33584           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
33585                 input, this->mutable_root_folder()));
33586           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
33587             this->root_folder().data(), this->root_folder().length(),
33588             ::google::protobuf::internal::WireFormat::PARSE,
33589             "opencv_caffe.ImageDataParameter.root_folder");
33590         } else {
33591           goto handle_unusual;
33592         }
33593         if (input->ExpectAtEnd()) goto success;
33594         break;
33595       }
33596
33597       default: {
33598       handle_unusual:
33599         if (tag == 0 ||
33600             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
33601             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
33602           goto success;
33603         }
33604         DO_(::google::protobuf::internal::WireFormat::SkipField(
33605               input, tag, mutable_unknown_fields()));
33606         break;
33607       }
33608     }
33609   }
33610 success:
33611   // @@protoc_insertion_point(parse_success:opencv_caffe.ImageDataParameter)
33612   return true;
33613 failure:
33614   // @@protoc_insertion_point(parse_failure:opencv_caffe.ImageDataParameter)
33615   return false;
33616 #undef DO_
33617 }
33618
33619 void ImageDataParameter::SerializeWithCachedSizes(
33620     ::google::protobuf::io::CodedOutputStream* output) const {
33621   // @@protoc_insertion_point(serialize_start:opencv_caffe.ImageDataParameter)
33622   // optional string source = 1;
33623   if (has_source()) {
33624     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
33625       this->source().data(), this->source().length(),
33626       ::google::protobuf::internal::WireFormat::SERIALIZE,
33627       "opencv_caffe.ImageDataParameter.source");
33628     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
33629       1, this->source(), output);
33630   }
33631
33632   // optional float scale = 2 [default = 1];
33633   if (has_scale()) {
33634     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->scale(), output);
33635   }
33636
33637   // optional string mean_file = 3;
33638   if (has_mean_file()) {
33639     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
33640       this->mean_file().data(), this->mean_file().length(),
33641       ::google::protobuf::internal::WireFormat::SERIALIZE,
33642       "opencv_caffe.ImageDataParameter.mean_file");
33643     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
33644       3, this->mean_file(), output);
33645   }
33646
33647   // optional uint32 batch_size = 4 [default = 1];
33648   if (has_batch_size()) {
33649     ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->batch_size(), output);
33650   }
33651
33652   // optional uint32 crop_size = 5 [default = 0];
33653   if (has_crop_size()) {
33654     ::google::protobuf::internal::WireFormatLite::WriteUInt32(5, this->crop_size(), output);
33655   }
33656
33657   // optional bool mirror = 6 [default = false];
33658   if (has_mirror()) {
33659     ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->mirror(), output);
33660   }
33661
33662   // optional uint32 rand_skip = 7 [default = 0];
33663   if (has_rand_skip()) {
33664     ::google::protobuf::internal::WireFormatLite::WriteUInt32(7, this->rand_skip(), output);
33665   }
33666
33667   // optional bool shuffle = 8 [default = false];
33668   if (has_shuffle()) {
33669     ::google::protobuf::internal::WireFormatLite::WriteBool(8, this->shuffle(), output);
33670   }
33671
33672   // optional uint32 new_height = 9 [default = 0];
33673   if (has_new_height()) {
33674     ::google::protobuf::internal::WireFormatLite::WriteUInt32(9, this->new_height(), output);
33675   }
33676
33677   // optional uint32 new_width = 10 [default = 0];
33678   if (has_new_width()) {
33679     ::google::protobuf::internal::WireFormatLite::WriteUInt32(10, this->new_width(), output);
33680   }
33681
33682   // optional bool is_color = 11 [default = true];
33683   if (has_is_color()) {
33684     ::google::protobuf::internal::WireFormatLite::WriteBool(11, this->is_color(), output);
33685   }
33686
33687   // optional string root_folder = 12 [default = ""];
33688   if (has_root_folder()) {
33689     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
33690       this->root_folder().data(), this->root_folder().length(),
33691       ::google::protobuf::internal::WireFormat::SERIALIZE,
33692       "opencv_caffe.ImageDataParameter.root_folder");
33693     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
33694       12, this->root_folder(), output);
33695   }
33696
33697   if (_internal_metadata_.have_unknown_fields()) {
33698     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
33699         unknown_fields(), output);
33700   }
33701   // @@protoc_insertion_point(serialize_end:opencv_caffe.ImageDataParameter)
33702 }
33703
33704 ::google::protobuf::uint8* ImageDataParameter::InternalSerializeWithCachedSizesToArray(
33705     bool deterministic, ::google::protobuf::uint8* target) const {
33706   (void)deterministic; // Unused
33707   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ImageDataParameter)
33708   // optional string source = 1;
33709   if (has_source()) {
33710     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
33711       this->source().data(), this->source().length(),
33712       ::google::protobuf::internal::WireFormat::SERIALIZE,
33713       "opencv_caffe.ImageDataParameter.source");
33714     target =
33715       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
33716         1, this->source(), target);
33717   }
33718
33719   // optional float scale = 2 [default = 1];
33720   if (has_scale()) {
33721     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->scale(), target);
33722   }
33723
33724   // optional string mean_file = 3;
33725   if (has_mean_file()) {
33726     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
33727       this->mean_file().data(), this->mean_file().length(),
33728       ::google::protobuf::internal::WireFormat::SERIALIZE,
33729       "opencv_caffe.ImageDataParameter.mean_file");
33730     target =
33731       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
33732         3, this->mean_file(), target);
33733   }
33734
33735   // optional uint32 batch_size = 4 [default = 1];
33736   if (has_batch_size()) {
33737     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(4, this->batch_size(), target);
33738   }
33739
33740   // optional uint32 crop_size = 5 [default = 0];
33741   if (has_crop_size()) {
33742     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(5, this->crop_size(), target);
33743   }
33744
33745   // optional bool mirror = 6 [default = false];
33746   if (has_mirror()) {
33747     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(6, this->mirror(), target);
33748   }
33749
33750   // optional uint32 rand_skip = 7 [default = 0];
33751   if (has_rand_skip()) {
33752     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(7, this->rand_skip(), target);
33753   }
33754
33755   // optional bool shuffle = 8 [default = false];
33756   if (has_shuffle()) {
33757     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(8, this->shuffle(), target);
33758   }
33759
33760   // optional uint32 new_height = 9 [default = 0];
33761   if (has_new_height()) {
33762     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(9, this->new_height(), target);
33763   }
33764
33765   // optional uint32 new_width = 10 [default = 0];
33766   if (has_new_width()) {
33767     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(10, this->new_width(), target);
33768   }
33769
33770   // optional bool is_color = 11 [default = true];
33771   if (has_is_color()) {
33772     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(11, this->is_color(), target);
33773   }
33774
33775   // optional string root_folder = 12 [default = ""];
33776   if (has_root_folder()) {
33777     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
33778       this->root_folder().data(), this->root_folder().length(),
33779       ::google::protobuf::internal::WireFormat::SERIALIZE,
33780       "opencv_caffe.ImageDataParameter.root_folder");
33781     target =
33782       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
33783         12, this->root_folder(), target);
33784   }
33785
33786   if (_internal_metadata_.have_unknown_fields()) {
33787     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
33788         unknown_fields(), target);
33789   }
33790   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ImageDataParameter)
33791   return target;
33792 }
33793
33794 size_t ImageDataParameter::ByteSizeLong() const {
33795 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ImageDataParameter)
33796   size_t total_size = 0;
33797
33798   if (_has_bits_[0 / 32] & 255u) {
33799     // optional string source = 1;
33800     if (has_source()) {
33801       total_size += 1 +
33802         ::google::protobuf::internal::WireFormatLite::StringSize(
33803           this->source());
33804     }
33805
33806     // optional uint32 batch_size = 4 [default = 1];
33807     if (has_batch_size()) {
33808       total_size += 1 +
33809         ::google::protobuf::internal::WireFormatLite::UInt32Size(
33810           this->batch_size());
33811     }
33812
33813     // optional uint32 rand_skip = 7 [default = 0];
33814     if (has_rand_skip()) {
33815       total_size += 1 +
33816         ::google::protobuf::internal::WireFormatLite::UInt32Size(
33817           this->rand_skip());
33818     }
33819
33820     // optional bool shuffle = 8 [default = false];
33821     if (has_shuffle()) {
33822       total_size += 1 + 1;
33823     }
33824
33825     // optional uint32 new_height = 9 [default = 0];
33826     if (has_new_height()) {
33827       total_size += 1 +
33828         ::google::protobuf::internal::WireFormatLite::UInt32Size(
33829           this->new_height());
33830     }
33831
33832     // optional uint32 new_width = 10 [default = 0];
33833     if (has_new_width()) {
33834       total_size += 1 +
33835         ::google::protobuf::internal::WireFormatLite::UInt32Size(
33836           this->new_width());
33837     }
33838
33839     // optional bool is_color = 11 [default = true];
33840     if (has_is_color()) {
33841       total_size += 1 + 1;
33842     }
33843
33844     // optional float scale = 2 [default = 1];
33845     if (has_scale()) {
33846       total_size += 1 + 4;
33847     }
33848
33849   }
33850   if (_has_bits_[8 / 32] & 3840u) {
33851     // optional string mean_file = 3;
33852     if (has_mean_file()) {
33853       total_size += 1 +
33854         ::google::protobuf::internal::WireFormatLite::StringSize(
33855           this->mean_file());
33856     }
33857
33858     // optional uint32 crop_size = 5 [default = 0];
33859     if (has_crop_size()) {
33860       total_size += 1 +
33861         ::google::protobuf::internal::WireFormatLite::UInt32Size(
33862           this->crop_size());
33863     }
33864
33865     // optional bool mirror = 6 [default = false];
33866     if (has_mirror()) {
33867       total_size += 1 + 1;
33868     }
33869
33870     // optional string root_folder = 12 [default = ""];
33871     if (has_root_folder()) {
33872       total_size += 1 +
33873         ::google::protobuf::internal::WireFormatLite::StringSize(
33874           this->root_folder());
33875     }
33876
33877   }
33878   if (_internal_metadata_.have_unknown_fields()) {
33879     total_size +=
33880       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
33881         unknown_fields());
33882   }
33883   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
33884   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
33885   _cached_size_ = cached_size;
33886   GOOGLE_SAFE_CONCURRENT_WRITES_END();
33887   return total_size;
33888 }
33889
33890 void ImageDataParameter::MergeFrom(const ::google::protobuf::Message& from) {
33891 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ImageDataParameter)
33892   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
33893   const ImageDataParameter* source =
33894       ::google::protobuf::internal::DynamicCastToGenerated<const ImageDataParameter>(
33895           &from);
33896   if (source == NULL) {
33897   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ImageDataParameter)
33898     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
33899   } else {
33900   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ImageDataParameter)
33901     UnsafeMergeFrom(*source);
33902   }
33903 }
33904
33905 void ImageDataParameter::MergeFrom(const ImageDataParameter& from) {
33906 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ImageDataParameter)
33907   if (GOOGLE_PREDICT_TRUE(&from != this)) {
33908     UnsafeMergeFrom(from);
33909   } else {
33910     MergeFromFail(__LINE__);
33911   }
33912 }
33913
33914 void ImageDataParameter::UnsafeMergeFrom(const ImageDataParameter& from) {
33915   GOOGLE_DCHECK(&from != this);
33916   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
33917     if (from.has_source()) {
33918       set_has_source();
33919       source_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.source_);
33920     }
33921     if (from.has_batch_size()) {
33922       set_batch_size(from.batch_size());
33923     }
33924     if (from.has_rand_skip()) {
33925       set_rand_skip(from.rand_skip());
33926     }
33927     if (from.has_shuffle()) {
33928       set_shuffle(from.shuffle());
33929     }
33930     if (from.has_new_height()) {
33931       set_new_height(from.new_height());
33932     }
33933     if (from.has_new_width()) {
33934       set_new_width(from.new_width());
33935     }
33936     if (from.has_is_color()) {
33937       set_is_color(from.is_color());
33938     }
33939     if (from.has_scale()) {
33940       set_scale(from.scale());
33941     }
33942   }
33943   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
33944     if (from.has_mean_file()) {
33945       set_has_mean_file();
33946       mean_file_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.mean_file_);
33947     }
33948     if (from.has_crop_size()) {
33949       set_crop_size(from.crop_size());
33950     }
33951     if (from.has_mirror()) {
33952       set_mirror(from.mirror());
33953     }
33954     if (from.has_root_folder()) {
33955       set_has_root_folder();
33956       root_folder_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.root_folder_);
33957     }
33958   }
33959   if (from._internal_metadata_.have_unknown_fields()) {
33960     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
33961       from.unknown_fields(), &_internal_metadata_);
33962   }
33963 }
33964
33965 void ImageDataParameter::CopyFrom(const ::google::protobuf::Message& from) {
33966 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ImageDataParameter)
33967   if (&from == this) return;
33968   Clear();
33969   MergeFrom(from);
33970 }
33971
33972 void ImageDataParameter::CopyFrom(const ImageDataParameter& from) {
33973 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ImageDataParameter)
33974   if (&from == this) return;
33975   Clear();
33976   UnsafeMergeFrom(from);
33977 }
33978
33979 bool ImageDataParameter::IsInitialized() const {
33980
33981   return true;
33982 }
33983
33984 void ImageDataParameter::Swap(ImageDataParameter* other) {
33985   if (other == this) return;
33986   InternalSwap(other);
33987 }
33988 void ImageDataParameter::InternalSwap(ImageDataParameter* other) {
33989   source_.Swap(&other->source_);
33990   std::swap(batch_size_, other->batch_size_);
33991   std::swap(rand_skip_, other->rand_skip_);
33992   std::swap(shuffle_, other->shuffle_);
33993   std::swap(new_height_, other->new_height_);
33994   std::swap(new_width_, other->new_width_);
33995   std::swap(is_color_, other->is_color_);
33996   std::swap(scale_, other->scale_);
33997   mean_file_.Swap(&other->mean_file_);
33998   std::swap(crop_size_, other->crop_size_);
33999   std::swap(mirror_, other->mirror_);
34000   root_folder_.Swap(&other->root_folder_);
34001   std::swap(_has_bits_[0], other->_has_bits_[0]);
34002   _internal_metadata_.Swap(&other->_internal_metadata_);
34003   std::swap(_cached_size_, other->_cached_size_);
34004 }
34005
34006 ::google::protobuf::Metadata ImageDataParameter::GetMetadata() const {
34007   protobuf_AssignDescriptorsOnce();
34008   ::google::protobuf::Metadata metadata;
34009   metadata.descriptor = ImageDataParameter_descriptor_;
34010   metadata.reflection = ImageDataParameter_reflection_;
34011   return metadata;
34012 }
34013
34014 #if PROTOBUF_INLINE_NOT_IN_HEADERS
34015 // ImageDataParameter
34016
34017 // optional string source = 1;
34018 bool ImageDataParameter::has_source() const {
34019   return (_has_bits_[0] & 0x00000001u) != 0;
34020 }
34021 void ImageDataParameter::set_has_source() {
34022   _has_bits_[0] |= 0x00000001u;
34023 }
34024 void ImageDataParameter::clear_has_source() {
34025   _has_bits_[0] &= ~0x00000001u;
34026 }
34027 void ImageDataParameter::clear_source() {
34028   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34029   clear_has_source();
34030 }
34031 const ::std::string& ImageDataParameter::source() const {
34032   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.source)
34033   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34034 }
34035 void ImageDataParameter::set_source(const ::std::string& value) {
34036   set_has_source();
34037   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
34038   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.source)
34039 }
34040 void ImageDataParameter::set_source(const char* value) {
34041   set_has_source();
34042   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
34043   // @@protoc_insertion_point(field_set_char:opencv_caffe.ImageDataParameter.source)
34044 }
34045 void ImageDataParameter::set_source(const char* value, size_t size) {
34046   set_has_source();
34047   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
34048       ::std::string(reinterpret_cast<const char*>(value), size));
34049   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.ImageDataParameter.source)
34050 }
34051 ::std::string* ImageDataParameter::mutable_source() {
34052   set_has_source();
34053   // @@protoc_insertion_point(field_mutable:opencv_caffe.ImageDataParameter.source)
34054   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34055 }
34056 ::std::string* ImageDataParameter::release_source() {
34057   // @@protoc_insertion_point(field_release:opencv_caffe.ImageDataParameter.source)
34058   clear_has_source();
34059   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34060 }
34061 void ImageDataParameter::set_allocated_source(::std::string* source) {
34062   if (source != NULL) {
34063     set_has_source();
34064   } else {
34065     clear_has_source();
34066   }
34067   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
34068   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ImageDataParameter.source)
34069 }
34070
34071 // optional uint32 batch_size = 4 [default = 1];
34072 bool ImageDataParameter::has_batch_size() const {
34073   return (_has_bits_[0] & 0x00000002u) != 0;
34074 }
34075 void ImageDataParameter::set_has_batch_size() {
34076   _has_bits_[0] |= 0x00000002u;
34077 }
34078 void ImageDataParameter::clear_has_batch_size() {
34079   _has_bits_[0] &= ~0x00000002u;
34080 }
34081 void ImageDataParameter::clear_batch_size() {
34082   batch_size_ = 1u;
34083   clear_has_batch_size();
34084 }
34085 ::google::protobuf::uint32 ImageDataParameter::batch_size() const {
34086   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.batch_size)
34087   return batch_size_;
34088 }
34089 void ImageDataParameter::set_batch_size(::google::protobuf::uint32 value) {
34090   set_has_batch_size();
34091   batch_size_ = value;
34092   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.batch_size)
34093 }
34094
34095 // optional uint32 rand_skip = 7 [default = 0];
34096 bool ImageDataParameter::has_rand_skip() const {
34097   return (_has_bits_[0] & 0x00000004u) != 0;
34098 }
34099 void ImageDataParameter::set_has_rand_skip() {
34100   _has_bits_[0] |= 0x00000004u;
34101 }
34102 void ImageDataParameter::clear_has_rand_skip() {
34103   _has_bits_[0] &= ~0x00000004u;
34104 }
34105 void ImageDataParameter::clear_rand_skip() {
34106   rand_skip_ = 0u;
34107   clear_has_rand_skip();
34108 }
34109 ::google::protobuf::uint32 ImageDataParameter::rand_skip() const {
34110   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.rand_skip)
34111   return rand_skip_;
34112 }
34113 void ImageDataParameter::set_rand_skip(::google::protobuf::uint32 value) {
34114   set_has_rand_skip();
34115   rand_skip_ = value;
34116   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.rand_skip)
34117 }
34118
34119 // optional bool shuffle = 8 [default = false];
34120 bool ImageDataParameter::has_shuffle() const {
34121   return (_has_bits_[0] & 0x00000008u) != 0;
34122 }
34123 void ImageDataParameter::set_has_shuffle() {
34124   _has_bits_[0] |= 0x00000008u;
34125 }
34126 void ImageDataParameter::clear_has_shuffle() {
34127   _has_bits_[0] &= ~0x00000008u;
34128 }
34129 void ImageDataParameter::clear_shuffle() {
34130   shuffle_ = false;
34131   clear_has_shuffle();
34132 }
34133 bool ImageDataParameter::shuffle() const {
34134   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.shuffle)
34135   return shuffle_;
34136 }
34137 void ImageDataParameter::set_shuffle(bool value) {
34138   set_has_shuffle();
34139   shuffle_ = value;
34140   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.shuffle)
34141 }
34142
34143 // optional uint32 new_height = 9 [default = 0];
34144 bool ImageDataParameter::has_new_height() const {
34145   return (_has_bits_[0] & 0x00000010u) != 0;
34146 }
34147 void ImageDataParameter::set_has_new_height() {
34148   _has_bits_[0] |= 0x00000010u;
34149 }
34150 void ImageDataParameter::clear_has_new_height() {
34151   _has_bits_[0] &= ~0x00000010u;
34152 }
34153 void ImageDataParameter::clear_new_height() {
34154   new_height_ = 0u;
34155   clear_has_new_height();
34156 }
34157 ::google::protobuf::uint32 ImageDataParameter::new_height() const {
34158   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.new_height)
34159   return new_height_;
34160 }
34161 void ImageDataParameter::set_new_height(::google::protobuf::uint32 value) {
34162   set_has_new_height();
34163   new_height_ = value;
34164   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.new_height)
34165 }
34166
34167 // optional uint32 new_width = 10 [default = 0];
34168 bool ImageDataParameter::has_new_width() const {
34169   return (_has_bits_[0] & 0x00000020u) != 0;
34170 }
34171 void ImageDataParameter::set_has_new_width() {
34172   _has_bits_[0] |= 0x00000020u;
34173 }
34174 void ImageDataParameter::clear_has_new_width() {
34175   _has_bits_[0] &= ~0x00000020u;
34176 }
34177 void ImageDataParameter::clear_new_width() {
34178   new_width_ = 0u;
34179   clear_has_new_width();
34180 }
34181 ::google::protobuf::uint32 ImageDataParameter::new_width() const {
34182   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.new_width)
34183   return new_width_;
34184 }
34185 void ImageDataParameter::set_new_width(::google::protobuf::uint32 value) {
34186   set_has_new_width();
34187   new_width_ = value;
34188   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.new_width)
34189 }
34190
34191 // optional bool is_color = 11 [default = true];
34192 bool ImageDataParameter::has_is_color() const {
34193   return (_has_bits_[0] & 0x00000040u) != 0;
34194 }
34195 void ImageDataParameter::set_has_is_color() {
34196   _has_bits_[0] |= 0x00000040u;
34197 }
34198 void ImageDataParameter::clear_has_is_color() {
34199   _has_bits_[0] &= ~0x00000040u;
34200 }
34201 void ImageDataParameter::clear_is_color() {
34202   is_color_ = true;
34203   clear_has_is_color();
34204 }
34205 bool ImageDataParameter::is_color() const {
34206   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.is_color)
34207   return is_color_;
34208 }
34209 void ImageDataParameter::set_is_color(bool value) {
34210   set_has_is_color();
34211   is_color_ = value;
34212   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.is_color)
34213 }
34214
34215 // optional float scale = 2 [default = 1];
34216 bool ImageDataParameter::has_scale() const {
34217   return (_has_bits_[0] & 0x00000080u) != 0;
34218 }
34219 void ImageDataParameter::set_has_scale() {
34220   _has_bits_[0] |= 0x00000080u;
34221 }
34222 void ImageDataParameter::clear_has_scale() {
34223   _has_bits_[0] &= ~0x00000080u;
34224 }
34225 void ImageDataParameter::clear_scale() {
34226   scale_ = 1;
34227   clear_has_scale();
34228 }
34229 float ImageDataParameter::scale() const {
34230   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.scale)
34231   return scale_;
34232 }
34233 void ImageDataParameter::set_scale(float value) {
34234   set_has_scale();
34235   scale_ = value;
34236   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.scale)
34237 }
34238
34239 // optional string mean_file = 3;
34240 bool ImageDataParameter::has_mean_file() const {
34241   return (_has_bits_[0] & 0x00000100u) != 0;
34242 }
34243 void ImageDataParameter::set_has_mean_file() {
34244   _has_bits_[0] |= 0x00000100u;
34245 }
34246 void ImageDataParameter::clear_has_mean_file() {
34247   _has_bits_[0] &= ~0x00000100u;
34248 }
34249 void ImageDataParameter::clear_mean_file() {
34250   mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34251   clear_has_mean_file();
34252 }
34253 const ::std::string& ImageDataParameter::mean_file() const {
34254   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.mean_file)
34255   return mean_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34256 }
34257 void ImageDataParameter::set_mean_file(const ::std::string& value) {
34258   set_has_mean_file();
34259   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
34260   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.mean_file)
34261 }
34262 void ImageDataParameter::set_mean_file(const char* value) {
34263   set_has_mean_file();
34264   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
34265   // @@protoc_insertion_point(field_set_char:opencv_caffe.ImageDataParameter.mean_file)
34266 }
34267 void ImageDataParameter::set_mean_file(const char* value, size_t size) {
34268   set_has_mean_file();
34269   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
34270       ::std::string(reinterpret_cast<const char*>(value), size));
34271   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.ImageDataParameter.mean_file)
34272 }
34273 ::std::string* ImageDataParameter::mutable_mean_file() {
34274   set_has_mean_file();
34275   // @@protoc_insertion_point(field_mutable:opencv_caffe.ImageDataParameter.mean_file)
34276   return mean_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34277 }
34278 ::std::string* ImageDataParameter::release_mean_file() {
34279   // @@protoc_insertion_point(field_release:opencv_caffe.ImageDataParameter.mean_file)
34280   clear_has_mean_file();
34281   return mean_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34282 }
34283 void ImageDataParameter::set_allocated_mean_file(::std::string* mean_file) {
34284   if (mean_file != NULL) {
34285     set_has_mean_file();
34286   } else {
34287     clear_has_mean_file();
34288   }
34289   mean_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mean_file);
34290   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ImageDataParameter.mean_file)
34291 }
34292
34293 // optional uint32 crop_size = 5 [default = 0];
34294 bool ImageDataParameter::has_crop_size() const {
34295   return (_has_bits_[0] & 0x00000200u) != 0;
34296 }
34297 void ImageDataParameter::set_has_crop_size() {
34298   _has_bits_[0] |= 0x00000200u;
34299 }
34300 void ImageDataParameter::clear_has_crop_size() {
34301   _has_bits_[0] &= ~0x00000200u;
34302 }
34303 void ImageDataParameter::clear_crop_size() {
34304   crop_size_ = 0u;
34305   clear_has_crop_size();
34306 }
34307 ::google::protobuf::uint32 ImageDataParameter::crop_size() const {
34308   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.crop_size)
34309   return crop_size_;
34310 }
34311 void ImageDataParameter::set_crop_size(::google::protobuf::uint32 value) {
34312   set_has_crop_size();
34313   crop_size_ = value;
34314   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.crop_size)
34315 }
34316
34317 // optional bool mirror = 6 [default = false];
34318 bool ImageDataParameter::has_mirror() const {
34319   return (_has_bits_[0] & 0x00000400u) != 0;
34320 }
34321 void ImageDataParameter::set_has_mirror() {
34322   _has_bits_[0] |= 0x00000400u;
34323 }
34324 void ImageDataParameter::clear_has_mirror() {
34325   _has_bits_[0] &= ~0x00000400u;
34326 }
34327 void ImageDataParameter::clear_mirror() {
34328   mirror_ = false;
34329   clear_has_mirror();
34330 }
34331 bool ImageDataParameter::mirror() const {
34332   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.mirror)
34333   return mirror_;
34334 }
34335 void ImageDataParameter::set_mirror(bool value) {
34336   set_has_mirror();
34337   mirror_ = value;
34338   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.mirror)
34339 }
34340
34341 // optional string root_folder = 12 [default = ""];
34342 bool ImageDataParameter::has_root_folder() const {
34343   return (_has_bits_[0] & 0x00000800u) != 0;
34344 }
34345 void ImageDataParameter::set_has_root_folder() {
34346   _has_bits_[0] |= 0x00000800u;
34347 }
34348 void ImageDataParameter::clear_has_root_folder() {
34349   _has_bits_[0] &= ~0x00000800u;
34350 }
34351 void ImageDataParameter::clear_root_folder() {
34352   root_folder_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34353   clear_has_root_folder();
34354 }
34355 const ::std::string& ImageDataParameter::root_folder() const {
34356   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.root_folder)
34357   return root_folder_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34358 }
34359 void ImageDataParameter::set_root_folder(const ::std::string& value) {
34360   set_has_root_folder();
34361   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
34362   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.root_folder)
34363 }
34364 void ImageDataParameter::set_root_folder(const char* value) {
34365   set_has_root_folder();
34366   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
34367   // @@protoc_insertion_point(field_set_char:opencv_caffe.ImageDataParameter.root_folder)
34368 }
34369 void ImageDataParameter::set_root_folder(const char* value, size_t size) {
34370   set_has_root_folder();
34371   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
34372       ::std::string(reinterpret_cast<const char*>(value), size));
34373   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.ImageDataParameter.root_folder)
34374 }
34375 ::std::string* ImageDataParameter::mutable_root_folder() {
34376   set_has_root_folder();
34377   // @@protoc_insertion_point(field_mutable:opencv_caffe.ImageDataParameter.root_folder)
34378   return root_folder_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34379 }
34380 ::std::string* ImageDataParameter::release_root_folder() {
34381   // @@protoc_insertion_point(field_release:opencv_caffe.ImageDataParameter.root_folder)
34382   clear_has_root_folder();
34383   return root_folder_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34384 }
34385 void ImageDataParameter::set_allocated_root_folder(::std::string* root_folder) {
34386   if (root_folder != NULL) {
34387     set_has_root_folder();
34388   } else {
34389     clear_has_root_folder();
34390   }
34391   root_folder_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), root_folder);
34392   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ImageDataParameter.root_folder)
34393 }
34394
34395 inline const ImageDataParameter* ImageDataParameter::internal_default_instance() {
34396   return &ImageDataParameter_default_instance_.get();
34397 }
34398 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
34399
34400 // ===================================================================
34401
34402 #if !defined(_MSC_VER) || _MSC_VER >= 1900
34403 const int InfogainLossParameter::kSourceFieldNumber;
34404 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
34405
34406 InfogainLossParameter::InfogainLossParameter()
34407   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
34408   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
34409   SharedCtor();
34410   // @@protoc_insertion_point(constructor:opencv_caffe.InfogainLossParameter)
34411 }
34412
34413 void InfogainLossParameter::InitAsDefaultInstance() {
34414 }
34415
34416 InfogainLossParameter::InfogainLossParameter(const InfogainLossParameter& from)
34417   : ::google::protobuf::Message(),
34418     _internal_metadata_(NULL) {
34419   SharedCtor();
34420   UnsafeMergeFrom(from);
34421   // @@protoc_insertion_point(copy_constructor:opencv_caffe.InfogainLossParameter)
34422 }
34423
34424 void InfogainLossParameter::SharedCtor() {
34425   _cached_size_ = 0;
34426   source_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34427 }
34428
34429 InfogainLossParameter::~InfogainLossParameter() {
34430   // @@protoc_insertion_point(destructor:opencv_caffe.InfogainLossParameter)
34431   SharedDtor();
34432 }
34433
34434 void InfogainLossParameter::SharedDtor() {
34435   source_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34436 }
34437
34438 void InfogainLossParameter::SetCachedSize(int size) const {
34439   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
34440   _cached_size_ = size;
34441   GOOGLE_SAFE_CONCURRENT_WRITES_END();
34442 }
34443 const ::google::protobuf::Descriptor* InfogainLossParameter::descriptor() {
34444   protobuf_AssignDescriptorsOnce();
34445   return InfogainLossParameter_descriptor_;
34446 }
34447
34448 const InfogainLossParameter& InfogainLossParameter::default_instance() {
34449   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
34450   return *internal_default_instance();
34451 }
34452
34453 ::google::protobuf::internal::ExplicitlyConstructed<InfogainLossParameter> InfogainLossParameter_default_instance_;
34454
34455 InfogainLossParameter* InfogainLossParameter::New(::google::protobuf::Arena* arena) const {
34456   InfogainLossParameter* n = new InfogainLossParameter;
34457   if (arena != NULL) {
34458     arena->Own(n);
34459   }
34460   return n;
34461 }
34462
34463 void InfogainLossParameter::Clear() {
34464 // @@protoc_insertion_point(message_clear_start:opencv_caffe.InfogainLossParameter)
34465   if (has_source()) {
34466     source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34467   }
34468   _has_bits_.Clear();
34469   if (_internal_metadata_.have_unknown_fields()) {
34470     mutable_unknown_fields()->Clear();
34471   }
34472 }
34473
34474 bool InfogainLossParameter::MergePartialFromCodedStream(
34475     ::google::protobuf::io::CodedInputStream* input) {
34476 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
34477   ::google::protobuf::uint32 tag;
34478   // @@protoc_insertion_point(parse_start:opencv_caffe.InfogainLossParameter)
34479   for (;;) {
34480     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
34481     tag = p.first;
34482     if (!p.second) goto handle_unusual;
34483     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
34484       // optional string source = 1;
34485       case 1: {
34486         if (tag == 10) {
34487           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
34488                 input, this->mutable_source()));
34489           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
34490             this->source().data(), this->source().length(),
34491             ::google::protobuf::internal::WireFormat::PARSE,
34492             "opencv_caffe.InfogainLossParameter.source");
34493         } else {
34494           goto handle_unusual;
34495         }
34496         if (input->ExpectAtEnd()) goto success;
34497         break;
34498       }
34499
34500       default: {
34501       handle_unusual:
34502         if (tag == 0 ||
34503             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
34504             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
34505           goto success;
34506         }
34507         DO_(::google::protobuf::internal::WireFormat::SkipField(
34508               input, tag, mutable_unknown_fields()));
34509         break;
34510       }
34511     }
34512   }
34513 success:
34514   // @@protoc_insertion_point(parse_success:opencv_caffe.InfogainLossParameter)
34515   return true;
34516 failure:
34517   // @@protoc_insertion_point(parse_failure:opencv_caffe.InfogainLossParameter)
34518   return false;
34519 #undef DO_
34520 }
34521
34522 void InfogainLossParameter::SerializeWithCachedSizes(
34523     ::google::protobuf::io::CodedOutputStream* output) const {
34524   // @@protoc_insertion_point(serialize_start:opencv_caffe.InfogainLossParameter)
34525   // optional string source = 1;
34526   if (has_source()) {
34527     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
34528       this->source().data(), this->source().length(),
34529       ::google::protobuf::internal::WireFormat::SERIALIZE,
34530       "opencv_caffe.InfogainLossParameter.source");
34531     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
34532       1, this->source(), output);
34533   }
34534
34535   if (_internal_metadata_.have_unknown_fields()) {
34536     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
34537         unknown_fields(), output);
34538   }
34539   // @@protoc_insertion_point(serialize_end:opencv_caffe.InfogainLossParameter)
34540 }
34541
34542 ::google::protobuf::uint8* InfogainLossParameter::InternalSerializeWithCachedSizesToArray(
34543     bool deterministic, ::google::protobuf::uint8* target) const {
34544   (void)deterministic; // Unused
34545   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.InfogainLossParameter)
34546   // optional string source = 1;
34547   if (has_source()) {
34548     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
34549       this->source().data(), this->source().length(),
34550       ::google::protobuf::internal::WireFormat::SERIALIZE,
34551       "opencv_caffe.InfogainLossParameter.source");
34552     target =
34553       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
34554         1, this->source(), target);
34555   }
34556
34557   if (_internal_metadata_.have_unknown_fields()) {
34558     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
34559         unknown_fields(), target);
34560   }
34561   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.InfogainLossParameter)
34562   return target;
34563 }
34564
34565 size_t InfogainLossParameter::ByteSizeLong() const {
34566 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.InfogainLossParameter)
34567   size_t total_size = 0;
34568
34569   // optional string source = 1;
34570   if (has_source()) {
34571     total_size += 1 +
34572       ::google::protobuf::internal::WireFormatLite::StringSize(
34573         this->source());
34574   }
34575
34576   if (_internal_metadata_.have_unknown_fields()) {
34577     total_size +=
34578       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
34579         unknown_fields());
34580   }
34581   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
34582   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
34583   _cached_size_ = cached_size;
34584   GOOGLE_SAFE_CONCURRENT_WRITES_END();
34585   return total_size;
34586 }
34587
34588 void InfogainLossParameter::MergeFrom(const ::google::protobuf::Message& from) {
34589 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.InfogainLossParameter)
34590   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
34591   const InfogainLossParameter* source =
34592       ::google::protobuf::internal::DynamicCastToGenerated<const InfogainLossParameter>(
34593           &from);
34594   if (source == NULL) {
34595   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.InfogainLossParameter)
34596     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
34597   } else {
34598   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.InfogainLossParameter)
34599     UnsafeMergeFrom(*source);
34600   }
34601 }
34602
34603 void InfogainLossParameter::MergeFrom(const InfogainLossParameter& from) {
34604 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.InfogainLossParameter)
34605   if (GOOGLE_PREDICT_TRUE(&from != this)) {
34606     UnsafeMergeFrom(from);
34607   } else {
34608     MergeFromFail(__LINE__);
34609   }
34610 }
34611
34612 void InfogainLossParameter::UnsafeMergeFrom(const InfogainLossParameter& from) {
34613   GOOGLE_DCHECK(&from != this);
34614   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
34615     if (from.has_source()) {
34616       set_has_source();
34617       source_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.source_);
34618     }
34619   }
34620   if (from._internal_metadata_.have_unknown_fields()) {
34621     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
34622       from.unknown_fields(), &_internal_metadata_);
34623   }
34624 }
34625
34626 void InfogainLossParameter::CopyFrom(const ::google::protobuf::Message& from) {
34627 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.InfogainLossParameter)
34628   if (&from == this) return;
34629   Clear();
34630   MergeFrom(from);
34631 }
34632
34633 void InfogainLossParameter::CopyFrom(const InfogainLossParameter& from) {
34634 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.InfogainLossParameter)
34635   if (&from == this) return;
34636   Clear();
34637   UnsafeMergeFrom(from);
34638 }
34639
34640 bool InfogainLossParameter::IsInitialized() const {
34641
34642   return true;
34643 }
34644
34645 void InfogainLossParameter::Swap(InfogainLossParameter* other) {
34646   if (other == this) return;
34647   InternalSwap(other);
34648 }
34649 void InfogainLossParameter::InternalSwap(InfogainLossParameter* other) {
34650   source_.Swap(&other->source_);
34651   std::swap(_has_bits_[0], other->_has_bits_[0]);
34652   _internal_metadata_.Swap(&other->_internal_metadata_);
34653   std::swap(_cached_size_, other->_cached_size_);
34654 }
34655
34656 ::google::protobuf::Metadata InfogainLossParameter::GetMetadata() const {
34657   protobuf_AssignDescriptorsOnce();
34658   ::google::protobuf::Metadata metadata;
34659   metadata.descriptor = InfogainLossParameter_descriptor_;
34660   metadata.reflection = InfogainLossParameter_reflection_;
34661   return metadata;
34662 }
34663
34664 #if PROTOBUF_INLINE_NOT_IN_HEADERS
34665 // InfogainLossParameter
34666
34667 // optional string source = 1;
34668 bool InfogainLossParameter::has_source() const {
34669   return (_has_bits_[0] & 0x00000001u) != 0;
34670 }
34671 void InfogainLossParameter::set_has_source() {
34672   _has_bits_[0] |= 0x00000001u;
34673 }
34674 void InfogainLossParameter::clear_has_source() {
34675   _has_bits_[0] &= ~0x00000001u;
34676 }
34677 void InfogainLossParameter::clear_source() {
34678   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34679   clear_has_source();
34680 }
34681 const ::std::string& InfogainLossParameter::source() const {
34682   // @@protoc_insertion_point(field_get:opencv_caffe.InfogainLossParameter.source)
34683   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34684 }
34685 void InfogainLossParameter::set_source(const ::std::string& value) {
34686   set_has_source();
34687   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
34688   // @@protoc_insertion_point(field_set:opencv_caffe.InfogainLossParameter.source)
34689 }
34690 void InfogainLossParameter::set_source(const char* value) {
34691   set_has_source();
34692   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
34693   // @@protoc_insertion_point(field_set_char:opencv_caffe.InfogainLossParameter.source)
34694 }
34695 void InfogainLossParameter::set_source(const char* value, size_t size) {
34696   set_has_source();
34697   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
34698       ::std::string(reinterpret_cast<const char*>(value), size));
34699   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.InfogainLossParameter.source)
34700 }
34701 ::std::string* InfogainLossParameter::mutable_source() {
34702   set_has_source();
34703   // @@protoc_insertion_point(field_mutable:opencv_caffe.InfogainLossParameter.source)
34704   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34705 }
34706 ::std::string* InfogainLossParameter::release_source() {
34707   // @@protoc_insertion_point(field_release:opencv_caffe.InfogainLossParameter.source)
34708   clear_has_source();
34709   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34710 }
34711 void InfogainLossParameter::set_allocated_source(::std::string* source) {
34712   if (source != NULL) {
34713     set_has_source();
34714   } else {
34715     clear_has_source();
34716   }
34717   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
34718   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.InfogainLossParameter.source)
34719 }
34720
34721 inline const InfogainLossParameter* InfogainLossParameter::internal_default_instance() {
34722   return &InfogainLossParameter_default_instance_.get();
34723 }
34724 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
34725
34726 // ===================================================================
34727
34728 #if !defined(_MSC_VER) || _MSC_VER >= 1900
34729 const int InnerProductParameter::kNumOutputFieldNumber;
34730 const int InnerProductParameter::kBiasTermFieldNumber;
34731 const int InnerProductParameter::kWeightFillerFieldNumber;
34732 const int InnerProductParameter::kBiasFillerFieldNumber;
34733 const int InnerProductParameter::kAxisFieldNumber;
34734 const int InnerProductParameter::kTransposeFieldNumber;
34735 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
34736
34737 InnerProductParameter::InnerProductParameter()
34738   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
34739   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
34740   SharedCtor();
34741   // @@protoc_insertion_point(constructor:opencv_caffe.InnerProductParameter)
34742 }
34743
34744 void InnerProductParameter::InitAsDefaultInstance() {
34745   weight_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
34746       ::opencv_caffe::FillerParameter::internal_default_instance());
34747   bias_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
34748       ::opencv_caffe::FillerParameter::internal_default_instance());
34749 }
34750
34751 InnerProductParameter::InnerProductParameter(const InnerProductParameter& from)
34752   : ::google::protobuf::Message(),
34753     _internal_metadata_(NULL) {
34754   SharedCtor();
34755   UnsafeMergeFrom(from);
34756   // @@protoc_insertion_point(copy_constructor:opencv_caffe.InnerProductParameter)
34757 }
34758
34759 void InnerProductParameter::SharedCtor() {
34760   _cached_size_ = 0;
34761   weight_filler_ = NULL;
34762   bias_filler_ = NULL;
34763   ::memset(&num_output_, 0, reinterpret_cast<char*>(&transpose_) -
34764     reinterpret_cast<char*>(&num_output_) + sizeof(transpose_));
34765   bias_term_ = true;
34766   axis_ = 1;
34767 }
34768
34769 InnerProductParameter::~InnerProductParameter() {
34770   // @@protoc_insertion_point(destructor:opencv_caffe.InnerProductParameter)
34771   SharedDtor();
34772 }
34773
34774 void InnerProductParameter::SharedDtor() {
34775   if (this != &InnerProductParameter_default_instance_.get()) {
34776     delete weight_filler_;
34777     delete bias_filler_;
34778   }
34779 }
34780
34781 void InnerProductParameter::SetCachedSize(int size) const {
34782   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
34783   _cached_size_ = size;
34784   GOOGLE_SAFE_CONCURRENT_WRITES_END();
34785 }
34786 const ::google::protobuf::Descriptor* InnerProductParameter::descriptor() {
34787   protobuf_AssignDescriptorsOnce();
34788   return InnerProductParameter_descriptor_;
34789 }
34790
34791 const InnerProductParameter& InnerProductParameter::default_instance() {
34792   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
34793   return *internal_default_instance();
34794 }
34795
34796 ::google::protobuf::internal::ExplicitlyConstructed<InnerProductParameter> InnerProductParameter_default_instance_;
34797
34798 InnerProductParameter* InnerProductParameter::New(::google::protobuf::Arena* arena) const {
34799   InnerProductParameter* n = new InnerProductParameter;
34800   if (arena != NULL) {
34801     arena->Own(n);
34802   }
34803   return n;
34804 }
34805
34806 void InnerProductParameter::Clear() {
34807 // @@protoc_insertion_point(message_clear_start:opencv_caffe.InnerProductParameter)
34808 #if defined(__clang__)
34809 #define ZR_HELPER_(f) \
34810   _Pragma("clang diagnostic push") \
34811   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
34812   __builtin_offsetof(InnerProductParameter, f) \
34813   _Pragma("clang diagnostic pop")
34814 #else
34815 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
34816   &reinterpret_cast<InnerProductParameter*>(16)->f)
34817 #endif
34818
34819 #define ZR_(first, last) do {\
34820   ::memset(&(first), 0,\
34821            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
34822 } while (0)
34823
34824   if (_has_bits_[0 / 32] & 63u) {
34825     ZR_(num_output_, transpose_);
34826     bias_term_ = true;
34827     if (has_weight_filler()) {
34828       if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
34829     }
34830     if (has_bias_filler()) {
34831       if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
34832     }
34833     axis_ = 1;
34834   }
34835
34836 #undef ZR_HELPER_
34837 #undef ZR_
34838
34839   _has_bits_.Clear();
34840   if (_internal_metadata_.have_unknown_fields()) {
34841     mutable_unknown_fields()->Clear();
34842   }
34843 }
34844
34845 bool InnerProductParameter::MergePartialFromCodedStream(
34846     ::google::protobuf::io::CodedInputStream* input) {
34847 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
34848   ::google::protobuf::uint32 tag;
34849   // @@protoc_insertion_point(parse_start:opencv_caffe.InnerProductParameter)
34850   for (;;) {
34851     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
34852     tag = p.first;
34853     if (!p.second) goto handle_unusual;
34854     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
34855       // optional uint32 num_output = 1;
34856       case 1: {
34857         if (tag == 8) {
34858           set_has_num_output();
34859           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
34860                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
34861                  input, &num_output_)));
34862         } else {
34863           goto handle_unusual;
34864         }
34865         if (input->ExpectTag(16)) goto parse_bias_term;
34866         break;
34867       }
34868
34869       // optional bool bias_term = 2 [default = true];
34870       case 2: {
34871         if (tag == 16) {
34872          parse_bias_term:
34873           set_has_bias_term();
34874           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
34875                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
34876                  input, &bias_term_)));
34877         } else {
34878           goto handle_unusual;
34879         }
34880         if (input->ExpectTag(26)) goto parse_weight_filler;
34881         break;
34882       }
34883
34884       // optional .opencv_caffe.FillerParameter weight_filler = 3;
34885       case 3: {
34886         if (tag == 26) {
34887          parse_weight_filler:
34888           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
34889                input, mutable_weight_filler()));
34890         } else {
34891           goto handle_unusual;
34892         }
34893         if (input->ExpectTag(34)) goto parse_bias_filler;
34894         break;
34895       }
34896
34897       // optional .opencv_caffe.FillerParameter bias_filler = 4;
34898       case 4: {
34899         if (tag == 34) {
34900          parse_bias_filler:
34901           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
34902                input, mutable_bias_filler()));
34903         } else {
34904           goto handle_unusual;
34905         }
34906         if (input->ExpectTag(40)) goto parse_axis;
34907         break;
34908       }
34909
34910       // optional int32 axis = 5 [default = 1];
34911       case 5: {
34912         if (tag == 40) {
34913          parse_axis:
34914           set_has_axis();
34915           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
34916                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
34917                  input, &axis_)));
34918         } else {
34919           goto handle_unusual;
34920         }
34921         if (input->ExpectTag(48)) goto parse_transpose;
34922         break;
34923       }
34924
34925       // optional bool transpose = 6 [default = false];
34926       case 6: {
34927         if (tag == 48) {
34928          parse_transpose:
34929           set_has_transpose();
34930           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
34931                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
34932                  input, &transpose_)));
34933         } else {
34934           goto handle_unusual;
34935         }
34936         if (input->ExpectAtEnd()) goto success;
34937         break;
34938       }
34939
34940       default: {
34941       handle_unusual:
34942         if (tag == 0 ||
34943             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
34944             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
34945           goto success;
34946         }
34947         DO_(::google::protobuf::internal::WireFormat::SkipField(
34948               input, tag, mutable_unknown_fields()));
34949         break;
34950       }
34951     }
34952   }
34953 success:
34954   // @@protoc_insertion_point(parse_success:opencv_caffe.InnerProductParameter)
34955   return true;
34956 failure:
34957   // @@protoc_insertion_point(parse_failure:opencv_caffe.InnerProductParameter)
34958   return false;
34959 #undef DO_
34960 }
34961
34962 void InnerProductParameter::SerializeWithCachedSizes(
34963     ::google::protobuf::io::CodedOutputStream* output) const {
34964   // @@protoc_insertion_point(serialize_start:opencv_caffe.InnerProductParameter)
34965   // optional uint32 num_output = 1;
34966   if (has_num_output()) {
34967     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->num_output(), output);
34968   }
34969
34970   // optional bool bias_term = 2 [default = true];
34971   if (has_bias_term()) {
34972     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->bias_term(), output);
34973   }
34974
34975   // optional .opencv_caffe.FillerParameter weight_filler = 3;
34976   if (has_weight_filler()) {
34977     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
34978       3, *this->weight_filler_, output);
34979   }
34980
34981   // optional .opencv_caffe.FillerParameter bias_filler = 4;
34982   if (has_bias_filler()) {
34983     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
34984       4, *this->bias_filler_, output);
34985   }
34986
34987   // optional int32 axis = 5 [default = 1];
34988   if (has_axis()) {
34989     ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->axis(), output);
34990   }
34991
34992   // optional bool transpose = 6 [default = false];
34993   if (has_transpose()) {
34994     ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->transpose(), output);
34995   }
34996
34997   if (_internal_metadata_.have_unknown_fields()) {
34998     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
34999         unknown_fields(), output);
35000   }
35001   // @@protoc_insertion_point(serialize_end:opencv_caffe.InnerProductParameter)
35002 }
35003
35004 ::google::protobuf::uint8* InnerProductParameter::InternalSerializeWithCachedSizesToArray(
35005     bool deterministic, ::google::protobuf::uint8* target) const {
35006   (void)deterministic; // Unused
35007   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.InnerProductParameter)
35008   // optional uint32 num_output = 1;
35009   if (has_num_output()) {
35010     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->num_output(), target);
35011   }
35012
35013   // optional bool bias_term = 2 [default = true];
35014   if (has_bias_term()) {
35015     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->bias_term(), target);
35016   }
35017
35018   // optional .opencv_caffe.FillerParameter weight_filler = 3;
35019   if (has_weight_filler()) {
35020     target = ::google::protobuf::internal::WireFormatLite::
35021       InternalWriteMessageNoVirtualToArray(
35022         3, *this->weight_filler_, false, target);
35023   }
35024
35025   // optional .opencv_caffe.FillerParameter bias_filler = 4;
35026   if (has_bias_filler()) {
35027     target = ::google::protobuf::internal::WireFormatLite::
35028       InternalWriteMessageNoVirtualToArray(
35029         4, *this->bias_filler_, false, target);
35030   }
35031
35032   // optional int32 axis = 5 [default = 1];
35033   if (has_axis()) {
35034     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(5, this->axis(), target);
35035   }
35036
35037   // optional bool transpose = 6 [default = false];
35038   if (has_transpose()) {
35039     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(6, this->transpose(), target);
35040   }
35041
35042   if (_internal_metadata_.have_unknown_fields()) {
35043     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
35044         unknown_fields(), target);
35045   }
35046   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.InnerProductParameter)
35047   return target;
35048 }
35049
35050 size_t InnerProductParameter::ByteSizeLong() const {
35051 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.InnerProductParameter)
35052   size_t total_size = 0;
35053
35054   if (_has_bits_[0 / 32] & 63u) {
35055     // optional uint32 num_output = 1;
35056     if (has_num_output()) {
35057       total_size += 1 +
35058         ::google::protobuf::internal::WireFormatLite::UInt32Size(
35059           this->num_output());
35060     }
35061
35062     // optional bool bias_term = 2 [default = true];
35063     if (has_bias_term()) {
35064       total_size += 1 + 1;
35065     }
35066
35067     // optional .opencv_caffe.FillerParameter weight_filler = 3;
35068     if (has_weight_filler()) {
35069       total_size += 1 +
35070         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
35071           *this->weight_filler_);
35072     }
35073
35074     // optional .opencv_caffe.FillerParameter bias_filler = 4;
35075     if (has_bias_filler()) {
35076       total_size += 1 +
35077         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
35078           *this->bias_filler_);
35079     }
35080
35081     // optional int32 axis = 5 [default = 1];
35082     if (has_axis()) {
35083       total_size += 1 +
35084         ::google::protobuf::internal::WireFormatLite::Int32Size(
35085           this->axis());
35086     }
35087
35088     // optional bool transpose = 6 [default = false];
35089     if (has_transpose()) {
35090       total_size += 1 + 1;
35091     }
35092
35093   }
35094   if (_internal_metadata_.have_unknown_fields()) {
35095     total_size +=
35096       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
35097         unknown_fields());
35098   }
35099   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
35100   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
35101   _cached_size_ = cached_size;
35102   GOOGLE_SAFE_CONCURRENT_WRITES_END();
35103   return total_size;
35104 }
35105
35106 void InnerProductParameter::MergeFrom(const ::google::protobuf::Message& from) {
35107 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.InnerProductParameter)
35108   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
35109   const InnerProductParameter* source =
35110       ::google::protobuf::internal::DynamicCastToGenerated<const InnerProductParameter>(
35111           &from);
35112   if (source == NULL) {
35113   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.InnerProductParameter)
35114     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
35115   } else {
35116   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.InnerProductParameter)
35117     UnsafeMergeFrom(*source);
35118   }
35119 }
35120
35121 void InnerProductParameter::MergeFrom(const InnerProductParameter& from) {
35122 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.InnerProductParameter)
35123   if (GOOGLE_PREDICT_TRUE(&from != this)) {
35124     UnsafeMergeFrom(from);
35125   } else {
35126     MergeFromFail(__LINE__);
35127   }
35128 }
35129
35130 void InnerProductParameter::UnsafeMergeFrom(const InnerProductParameter& from) {
35131   GOOGLE_DCHECK(&from != this);
35132   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
35133     if (from.has_num_output()) {
35134       set_num_output(from.num_output());
35135     }
35136     if (from.has_bias_term()) {
35137       set_bias_term(from.bias_term());
35138     }
35139     if (from.has_weight_filler()) {
35140       mutable_weight_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.weight_filler());
35141     }
35142     if (from.has_bias_filler()) {
35143       mutable_bias_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.bias_filler());
35144     }
35145     if (from.has_axis()) {
35146       set_axis(from.axis());
35147     }
35148     if (from.has_transpose()) {
35149       set_transpose(from.transpose());
35150     }
35151   }
35152   if (from._internal_metadata_.have_unknown_fields()) {
35153     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
35154       from.unknown_fields(), &_internal_metadata_);
35155   }
35156 }
35157
35158 void InnerProductParameter::CopyFrom(const ::google::protobuf::Message& from) {
35159 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.InnerProductParameter)
35160   if (&from == this) return;
35161   Clear();
35162   MergeFrom(from);
35163 }
35164
35165 void InnerProductParameter::CopyFrom(const InnerProductParameter& from) {
35166 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.InnerProductParameter)
35167   if (&from == this) return;
35168   Clear();
35169   UnsafeMergeFrom(from);
35170 }
35171
35172 bool InnerProductParameter::IsInitialized() const {
35173
35174   return true;
35175 }
35176
35177 void InnerProductParameter::Swap(InnerProductParameter* other) {
35178   if (other == this) return;
35179   InternalSwap(other);
35180 }
35181 void InnerProductParameter::InternalSwap(InnerProductParameter* other) {
35182   std::swap(num_output_, other->num_output_);
35183   std::swap(bias_term_, other->bias_term_);
35184   std::swap(weight_filler_, other->weight_filler_);
35185   std::swap(bias_filler_, other->bias_filler_);
35186   std::swap(axis_, other->axis_);
35187   std::swap(transpose_, other->transpose_);
35188   std::swap(_has_bits_[0], other->_has_bits_[0]);
35189   _internal_metadata_.Swap(&other->_internal_metadata_);
35190   std::swap(_cached_size_, other->_cached_size_);
35191 }
35192
35193 ::google::protobuf::Metadata InnerProductParameter::GetMetadata() const {
35194   protobuf_AssignDescriptorsOnce();
35195   ::google::protobuf::Metadata metadata;
35196   metadata.descriptor = InnerProductParameter_descriptor_;
35197   metadata.reflection = InnerProductParameter_reflection_;
35198   return metadata;
35199 }
35200
35201 #if PROTOBUF_INLINE_NOT_IN_HEADERS
35202 // InnerProductParameter
35203
35204 // optional uint32 num_output = 1;
35205 bool InnerProductParameter::has_num_output() const {
35206   return (_has_bits_[0] & 0x00000001u) != 0;
35207 }
35208 void InnerProductParameter::set_has_num_output() {
35209   _has_bits_[0] |= 0x00000001u;
35210 }
35211 void InnerProductParameter::clear_has_num_output() {
35212   _has_bits_[0] &= ~0x00000001u;
35213 }
35214 void InnerProductParameter::clear_num_output() {
35215   num_output_ = 0u;
35216   clear_has_num_output();
35217 }
35218 ::google::protobuf::uint32 InnerProductParameter::num_output() const {
35219   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.num_output)
35220   return num_output_;
35221 }
35222 void InnerProductParameter::set_num_output(::google::protobuf::uint32 value) {
35223   set_has_num_output();
35224   num_output_ = value;
35225   // @@protoc_insertion_point(field_set:opencv_caffe.InnerProductParameter.num_output)
35226 }
35227
35228 // optional bool bias_term = 2 [default = true];
35229 bool InnerProductParameter::has_bias_term() const {
35230   return (_has_bits_[0] & 0x00000002u) != 0;
35231 }
35232 void InnerProductParameter::set_has_bias_term() {
35233   _has_bits_[0] |= 0x00000002u;
35234 }
35235 void InnerProductParameter::clear_has_bias_term() {
35236   _has_bits_[0] &= ~0x00000002u;
35237 }
35238 void InnerProductParameter::clear_bias_term() {
35239   bias_term_ = true;
35240   clear_has_bias_term();
35241 }
35242 bool InnerProductParameter::bias_term() const {
35243   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.bias_term)
35244   return bias_term_;
35245 }
35246 void InnerProductParameter::set_bias_term(bool value) {
35247   set_has_bias_term();
35248   bias_term_ = value;
35249   // @@protoc_insertion_point(field_set:opencv_caffe.InnerProductParameter.bias_term)
35250 }
35251
35252 // optional .opencv_caffe.FillerParameter weight_filler = 3;
35253 bool InnerProductParameter::has_weight_filler() const {
35254   return (_has_bits_[0] & 0x00000004u) != 0;
35255 }
35256 void InnerProductParameter::set_has_weight_filler() {
35257   _has_bits_[0] |= 0x00000004u;
35258 }
35259 void InnerProductParameter::clear_has_weight_filler() {
35260   _has_bits_[0] &= ~0x00000004u;
35261 }
35262 void InnerProductParameter::clear_weight_filler() {
35263   if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
35264   clear_has_weight_filler();
35265 }
35266 const ::opencv_caffe::FillerParameter& InnerProductParameter::weight_filler() const {
35267   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.weight_filler)
35268   return weight_filler_ != NULL ? *weight_filler_
35269                          : *::opencv_caffe::FillerParameter::internal_default_instance();
35270 }
35271 ::opencv_caffe::FillerParameter* InnerProductParameter::mutable_weight_filler() {
35272   set_has_weight_filler();
35273   if (weight_filler_ == NULL) {
35274     weight_filler_ = new ::opencv_caffe::FillerParameter;
35275   }
35276   // @@protoc_insertion_point(field_mutable:opencv_caffe.InnerProductParameter.weight_filler)
35277   return weight_filler_;
35278 }
35279 ::opencv_caffe::FillerParameter* InnerProductParameter::release_weight_filler() {
35280   // @@protoc_insertion_point(field_release:opencv_caffe.InnerProductParameter.weight_filler)
35281   clear_has_weight_filler();
35282   ::opencv_caffe::FillerParameter* temp = weight_filler_;
35283   weight_filler_ = NULL;
35284   return temp;
35285 }
35286 void InnerProductParameter::set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler) {
35287   delete weight_filler_;
35288   weight_filler_ = weight_filler;
35289   if (weight_filler) {
35290     set_has_weight_filler();
35291   } else {
35292     clear_has_weight_filler();
35293   }
35294   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.InnerProductParameter.weight_filler)
35295 }
35296
35297 // optional .opencv_caffe.FillerParameter bias_filler = 4;
35298 bool InnerProductParameter::has_bias_filler() const {
35299   return (_has_bits_[0] & 0x00000008u) != 0;
35300 }
35301 void InnerProductParameter::set_has_bias_filler() {
35302   _has_bits_[0] |= 0x00000008u;
35303 }
35304 void InnerProductParameter::clear_has_bias_filler() {
35305   _has_bits_[0] &= ~0x00000008u;
35306 }
35307 void InnerProductParameter::clear_bias_filler() {
35308   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
35309   clear_has_bias_filler();
35310 }
35311 const ::opencv_caffe::FillerParameter& InnerProductParameter::bias_filler() const {
35312   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.bias_filler)
35313   return bias_filler_ != NULL ? *bias_filler_
35314                          : *::opencv_caffe::FillerParameter::internal_default_instance();
35315 }
35316 ::opencv_caffe::FillerParameter* InnerProductParameter::mutable_bias_filler() {
35317   set_has_bias_filler();
35318   if (bias_filler_ == NULL) {
35319     bias_filler_ = new ::opencv_caffe::FillerParameter;
35320   }
35321   // @@protoc_insertion_point(field_mutable:opencv_caffe.InnerProductParameter.bias_filler)
35322   return bias_filler_;
35323 }
35324 ::opencv_caffe::FillerParameter* InnerProductParameter::release_bias_filler() {
35325   // @@protoc_insertion_point(field_release:opencv_caffe.InnerProductParameter.bias_filler)
35326   clear_has_bias_filler();
35327   ::opencv_caffe::FillerParameter* temp = bias_filler_;
35328   bias_filler_ = NULL;
35329   return temp;
35330 }
35331 void InnerProductParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
35332   delete bias_filler_;
35333   bias_filler_ = bias_filler;
35334   if (bias_filler) {
35335     set_has_bias_filler();
35336   } else {
35337     clear_has_bias_filler();
35338   }
35339   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.InnerProductParameter.bias_filler)
35340 }
35341
35342 // optional int32 axis = 5 [default = 1];
35343 bool InnerProductParameter::has_axis() const {
35344   return (_has_bits_[0] & 0x00000010u) != 0;
35345 }
35346 void InnerProductParameter::set_has_axis() {
35347   _has_bits_[0] |= 0x00000010u;
35348 }
35349 void InnerProductParameter::clear_has_axis() {
35350   _has_bits_[0] &= ~0x00000010u;
35351 }
35352 void InnerProductParameter::clear_axis() {
35353   axis_ = 1;
35354   clear_has_axis();
35355 }
35356 ::google::protobuf::int32 InnerProductParameter::axis() const {
35357   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.axis)
35358   return axis_;
35359 }
35360 void InnerProductParameter::set_axis(::google::protobuf::int32 value) {
35361   set_has_axis();
35362   axis_ = value;
35363   // @@protoc_insertion_point(field_set:opencv_caffe.InnerProductParameter.axis)
35364 }
35365
35366 // optional bool transpose = 6 [default = false];
35367 bool InnerProductParameter::has_transpose() const {
35368   return (_has_bits_[0] & 0x00000020u) != 0;
35369 }
35370 void InnerProductParameter::set_has_transpose() {
35371   _has_bits_[0] |= 0x00000020u;
35372 }
35373 void InnerProductParameter::clear_has_transpose() {
35374   _has_bits_[0] &= ~0x00000020u;
35375 }
35376 void InnerProductParameter::clear_transpose() {
35377   transpose_ = false;
35378   clear_has_transpose();
35379 }
35380 bool InnerProductParameter::transpose() const {
35381   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.transpose)
35382   return transpose_;
35383 }
35384 void InnerProductParameter::set_transpose(bool value) {
35385   set_has_transpose();
35386   transpose_ = value;
35387   // @@protoc_insertion_point(field_set:opencv_caffe.InnerProductParameter.transpose)
35388 }
35389
35390 inline const InnerProductParameter* InnerProductParameter::internal_default_instance() {
35391   return &InnerProductParameter_default_instance_.get();
35392 }
35393 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
35394
35395 // ===================================================================
35396
35397 #if !defined(_MSC_VER) || _MSC_VER >= 1900
35398 const int InputParameter::kShapeFieldNumber;
35399 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
35400
35401 InputParameter::InputParameter()
35402   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
35403   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
35404   SharedCtor();
35405   // @@protoc_insertion_point(constructor:opencv_caffe.InputParameter)
35406 }
35407
35408 void InputParameter::InitAsDefaultInstance() {
35409 }
35410
35411 InputParameter::InputParameter(const InputParameter& from)
35412   : ::google::protobuf::Message(),
35413     _internal_metadata_(NULL) {
35414   SharedCtor();
35415   UnsafeMergeFrom(from);
35416   // @@protoc_insertion_point(copy_constructor:opencv_caffe.InputParameter)
35417 }
35418
35419 void InputParameter::SharedCtor() {
35420   _cached_size_ = 0;
35421 }
35422
35423 InputParameter::~InputParameter() {
35424   // @@protoc_insertion_point(destructor:opencv_caffe.InputParameter)
35425   SharedDtor();
35426 }
35427
35428 void InputParameter::SharedDtor() {
35429 }
35430
35431 void InputParameter::SetCachedSize(int size) const {
35432   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
35433   _cached_size_ = size;
35434   GOOGLE_SAFE_CONCURRENT_WRITES_END();
35435 }
35436 const ::google::protobuf::Descriptor* InputParameter::descriptor() {
35437   protobuf_AssignDescriptorsOnce();
35438   return InputParameter_descriptor_;
35439 }
35440
35441 const InputParameter& InputParameter::default_instance() {
35442   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
35443   return *internal_default_instance();
35444 }
35445
35446 ::google::protobuf::internal::ExplicitlyConstructed<InputParameter> InputParameter_default_instance_;
35447
35448 InputParameter* InputParameter::New(::google::protobuf::Arena* arena) const {
35449   InputParameter* n = new InputParameter;
35450   if (arena != NULL) {
35451     arena->Own(n);
35452   }
35453   return n;
35454 }
35455
35456 void InputParameter::Clear() {
35457 // @@protoc_insertion_point(message_clear_start:opencv_caffe.InputParameter)
35458   shape_.Clear();
35459   _has_bits_.Clear();
35460   if (_internal_metadata_.have_unknown_fields()) {
35461     mutable_unknown_fields()->Clear();
35462   }
35463 }
35464
35465 bool InputParameter::MergePartialFromCodedStream(
35466     ::google::protobuf::io::CodedInputStream* input) {
35467 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
35468   ::google::protobuf::uint32 tag;
35469   // @@protoc_insertion_point(parse_start:opencv_caffe.InputParameter)
35470   for (;;) {
35471     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
35472     tag = p.first;
35473     if (!p.second) goto handle_unusual;
35474     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
35475       // repeated .opencv_caffe.BlobShape shape = 1;
35476       case 1: {
35477         if (tag == 10) {
35478           DO_(input->IncrementRecursionDepth());
35479          parse_loop_shape:
35480           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
35481                 input, add_shape()));
35482         } else {
35483           goto handle_unusual;
35484         }
35485         if (input->ExpectTag(10)) goto parse_loop_shape;
35486         input->UnsafeDecrementRecursionDepth();
35487         if (input->ExpectAtEnd()) goto success;
35488         break;
35489       }
35490
35491       default: {
35492       handle_unusual:
35493         if (tag == 0 ||
35494             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
35495             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
35496           goto success;
35497         }
35498         DO_(::google::protobuf::internal::WireFormat::SkipField(
35499               input, tag, mutable_unknown_fields()));
35500         break;
35501       }
35502     }
35503   }
35504 success:
35505   // @@protoc_insertion_point(parse_success:opencv_caffe.InputParameter)
35506   return true;
35507 failure:
35508   // @@protoc_insertion_point(parse_failure:opencv_caffe.InputParameter)
35509   return false;
35510 #undef DO_
35511 }
35512
35513 void InputParameter::SerializeWithCachedSizes(
35514     ::google::protobuf::io::CodedOutputStream* output) const {
35515   // @@protoc_insertion_point(serialize_start:opencv_caffe.InputParameter)
35516   // repeated .opencv_caffe.BlobShape shape = 1;
35517   for (unsigned int i = 0, n = this->shape_size(); i < n; i++) {
35518     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
35519       1, this->shape(i), output);
35520   }
35521
35522   if (_internal_metadata_.have_unknown_fields()) {
35523     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
35524         unknown_fields(), output);
35525   }
35526   // @@protoc_insertion_point(serialize_end:opencv_caffe.InputParameter)
35527 }
35528
35529 ::google::protobuf::uint8* InputParameter::InternalSerializeWithCachedSizesToArray(
35530     bool deterministic, ::google::protobuf::uint8* target) const {
35531   (void)deterministic; // Unused
35532   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.InputParameter)
35533   // repeated .opencv_caffe.BlobShape shape = 1;
35534   for (unsigned int i = 0, n = this->shape_size(); i < n; i++) {
35535     target = ::google::protobuf::internal::WireFormatLite::
35536       InternalWriteMessageNoVirtualToArray(
35537         1, this->shape(i), false, target);
35538   }
35539
35540   if (_internal_metadata_.have_unknown_fields()) {
35541     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
35542         unknown_fields(), target);
35543   }
35544   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.InputParameter)
35545   return target;
35546 }
35547
35548 size_t InputParameter::ByteSizeLong() const {
35549 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.InputParameter)
35550   size_t total_size = 0;
35551
35552   // repeated .opencv_caffe.BlobShape shape = 1;
35553   {
35554     unsigned int count = this->shape_size();
35555     total_size += 1UL * count;
35556     for (unsigned int i = 0; i < count; i++) {
35557       total_size +=
35558         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
35559           this->shape(i));
35560     }
35561   }
35562
35563   if (_internal_metadata_.have_unknown_fields()) {
35564     total_size +=
35565       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
35566         unknown_fields());
35567   }
35568   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
35569   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
35570   _cached_size_ = cached_size;
35571   GOOGLE_SAFE_CONCURRENT_WRITES_END();
35572   return total_size;
35573 }
35574
35575 void InputParameter::MergeFrom(const ::google::protobuf::Message& from) {
35576 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.InputParameter)
35577   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
35578   const InputParameter* source =
35579       ::google::protobuf::internal::DynamicCastToGenerated<const InputParameter>(
35580           &from);
35581   if (source == NULL) {
35582   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.InputParameter)
35583     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
35584   } else {
35585   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.InputParameter)
35586     UnsafeMergeFrom(*source);
35587   }
35588 }
35589
35590 void InputParameter::MergeFrom(const InputParameter& from) {
35591 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.InputParameter)
35592   if (GOOGLE_PREDICT_TRUE(&from != this)) {
35593     UnsafeMergeFrom(from);
35594   } else {
35595     MergeFromFail(__LINE__);
35596   }
35597 }
35598
35599 void InputParameter::UnsafeMergeFrom(const InputParameter& from) {
35600   GOOGLE_DCHECK(&from != this);
35601   shape_.MergeFrom(from.shape_);
35602   if (from._internal_metadata_.have_unknown_fields()) {
35603     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
35604       from.unknown_fields(), &_internal_metadata_);
35605   }
35606 }
35607
35608 void InputParameter::CopyFrom(const ::google::protobuf::Message& from) {
35609 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.InputParameter)
35610   if (&from == this) return;
35611   Clear();
35612   MergeFrom(from);
35613 }
35614
35615 void InputParameter::CopyFrom(const InputParameter& from) {
35616 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.InputParameter)
35617   if (&from == this) return;
35618   Clear();
35619   UnsafeMergeFrom(from);
35620 }
35621
35622 bool InputParameter::IsInitialized() const {
35623
35624   return true;
35625 }
35626
35627 void InputParameter::Swap(InputParameter* other) {
35628   if (other == this) return;
35629   InternalSwap(other);
35630 }
35631 void InputParameter::InternalSwap(InputParameter* other) {
35632   shape_.UnsafeArenaSwap(&other->shape_);
35633   std::swap(_has_bits_[0], other->_has_bits_[0]);
35634   _internal_metadata_.Swap(&other->_internal_metadata_);
35635   std::swap(_cached_size_, other->_cached_size_);
35636 }
35637
35638 ::google::protobuf::Metadata InputParameter::GetMetadata() const {
35639   protobuf_AssignDescriptorsOnce();
35640   ::google::protobuf::Metadata metadata;
35641   metadata.descriptor = InputParameter_descriptor_;
35642   metadata.reflection = InputParameter_reflection_;
35643   return metadata;
35644 }
35645
35646 #if PROTOBUF_INLINE_NOT_IN_HEADERS
35647 // InputParameter
35648
35649 // repeated .opencv_caffe.BlobShape shape = 1;
35650 int InputParameter::shape_size() const {
35651   return shape_.size();
35652 }
35653 void InputParameter::clear_shape() {
35654   shape_.Clear();
35655 }
35656 const ::opencv_caffe::BlobShape& InputParameter::shape(int index) const {
35657   // @@protoc_insertion_point(field_get:opencv_caffe.InputParameter.shape)
35658   return shape_.Get(index);
35659 }
35660 ::opencv_caffe::BlobShape* InputParameter::mutable_shape(int index) {
35661   // @@protoc_insertion_point(field_mutable:opencv_caffe.InputParameter.shape)
35662   return shape_.Mutable(index);
35663 }
35664 ::opencv_caffe::BlobShape* InputParameter::add_shape() {
35665   // @@protoc_insertion_point(field_add:opencv_caffe.InputParameter.shape)
35666   return shape_.Add();
35667 }
35668 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >*
35669 InputParameter::mutable_shape() {
35670   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.InputParameter.shape)
35671   return &shape_;
35672 }
35673 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >&
35674 InputParameter::shape() const {
35675   // @@protoc_insertion_point(field_list:opencv_caffe.InputParameter.shape)
35676   return shape_;
35677 }
35678
35679 inline const InputParameter* InputParameter::internal_default_instance() {
35680   return &InputParameter_default_instance_.get();
35681 }
35682 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
35683
35684 // ===================================================================
35685
35686 #if !defined(_MSC_VER) || _MSC_VER >= 1900
35687 const int LogParameter::kBaseFieldNumber;
35688 const int LogParameter::kScaleFieldNumber;
35689 const int LogParameter::kShiftFieldNumber;
35690 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
35691
35692 LogParameter::LogParameter()
35693   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
35694   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
35695   SharedCtor();
35696   // @@protoc_insertion_point(constructor:opencv_caffe.LogParameter)
35697 }
35698
35699 void LogParameter::InitAsDefaultInstance() {
35700 }
35701
35702 LogParameter::LogParameter(const LogParameter& from)
35703   : ::google::protobuf::Message(),
35704     _internal_metadata_(NULL) {
35705   SharedCtor();
35706   UnsafeMergeFrom(from);
35707   // @@protoc_insertion_point(copy_constructor:opencv_caffe.LogParameter)
35708 }
35709
35710 void LogParameter::SharedCtor() {
35711   _cached_size_ = 0;
35712   shift_ = 0;
35713   base_ = -1;
35714   scale_ = 1;
35715 }
35716
35717 LogParameter::~LogParameter() {
35718   // @@protoc_insertion_point(destructor:opencv_caffe.LogParameter)
35719   SharedDtor();
35720 }
35721
35722 void LogParameter::SharedDtor() {
35723 }
35724
35725 void LogParameter::SetCachedSize(int size) const {
35726   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
35727   _cached_size_ = size;
35728   GOOGLE_SAFE_CONCURRENT_WRITES_END();
35729 }
35730 const ::google::protobuf::Descriptor* LogParameter::descriptor() {
35731   protobuf_AssignDescriptorsOnce();
35732   return LogParameter_descriptor_;
35733 }
35734
35735 const LogParameter& LogParameter::default_instance() {
35736   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
35737   return *internal_default_instance();
35738 }
35739
35740 ::google::protobuf::internal::ExplicitlyConstructed<LogParameter> LogParameter_default_instance_;
35741
35742 LogParameter* LogParameter::New(::google::protobuf::Arena* arena) const {
35743   LogParameter* n = new LogParameter;
35744   if (arena != NULL) {
35745     arena->Own(n);
35746   }
35747   return n;
35748 }
35749
35750 void LogParameter::Clear() {
35751 // @@protoc_insertion_point(message_clear_start:opencv_caffe.LogParameter)
35752   if (_has_bits_[0 / 32] & 7u) {
35753     base_ = -1;
35754     scale_ = 1;
35755     shift_ = 0;
35756   }
35757   _has_bits_.Clear();
35758   if (_internal_metadata_.have_unknown_fields()) {
35759     mutable_unknown_fields()->Clear();
35760   }
35761 }
35762
35763 bool LogParameter::MergePartialFromCodedStream(
35764     ::google::protobuf::io::CodedInputStream* input) {
35765 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
35766   ::google::protobuf::uint32 tag;
35767   // @@protoc_insertion_point(parse_start:opencv_caffe.LogParameter)
35768   for (;;) {
35769     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
35770     tag = p.first;
35771     if (!p.second) goto handle_unusual;
35772     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
35773       // optional float base = 1 [default = -1];
35774       case 1: {
35775         if (tag == 13) {
35776           set_has_base();
35777           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
35778                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
35779                  input, &base_)));
35780         } else {
35781           goto handle_unusual;
35782         }
35783         if (input->ExpectTag(21)) goto parse_scale;
35784         break;
35785       }
35786
35787       // optional float scale = 2 [default = 1];
35788       case 2: {
35789         if (tag == 21) {
35790          parse_scale:
35791           set_has_scale();
35792           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
35793                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
35794                  input, &scale_)));
35795         } else {
35796           goto handle_unusual;
35797         }
35798         if (input->ExpectTag(29)) goto parse_shift;
35799         break;
35800       }
35801
35802       // optional float shift = 3 [default = 0];
35803       case 3: {
35804         if (tag == 29) {
35805          parse_shift:
35806           set_has_shift();
35807           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
35808                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
35809                  input, &shift_)));
35810         } else {
35811           goto handle_unusual;
35812         }
35813         if (input->ExpectAtEnd()) goto success;
35814         break;
35815       }
35816
35817       default: {
35818       handle_unusual:
35819         if (tag == 0 ||
35820             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
35821             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
35822           goto success;
35823         }
35824         DO_(::google::protobuf::internal::WireFormat::SkipField(
35825               input, tag, mutable_unknown_fields()));
35826         break;
35827       }
35828     }
35829   }
35830 success:
35831   // @@protoc_insertion_point(parse_success:opencv_caffe.LogParameter)
35832   return true;
35833 failure:
35834   // @@protoc_insertion_point(parse_failure:opencv_caffe.LogParameter)
35835   return false;
35836 #undef DO_
35837 }
35838
35839 void LogParameter::SerializeWithCachedSizes(
35840     ::google::protobuf::io::CodedOutputStream* output) const {
35841   // @@protoc_insertion_point(serialize_start:opencv_caffe.LogParameter)
35842   // optional float base = 1 [default = -1];
35843   if (has_base()) {
35844     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->base(), output);
35845   }
35846
35847   // optional float scale = 2 [default = 1];
35848   if (has_scale()) {
35849     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->scale(), output);
35850   }
35851
35852   // optional float shift = 3 [default = 0];
35853   if (has_shift()) {
35854     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->shift(), output);
35855   }
35856
35857   if (_internal_metadata_.have_unknown_fields()) {
35858     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
35859         unknown_fields(), output);
35860   }
35861   // @@protoc_insertion_point(serialize_end:opencv_caffe.LogParameter)
35862 }
35863
35864 ::google::protobuf::uint8* LogParameter::InternalSerializeWithCachedSizesToArray(
35865     bool deterministic, ::google::protobuf::uint8* target) const {
35866   (void)deterministic; // Unused
35867   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.LogParameter)
35868   // optional float base = 1 [default = -1];
35869   if (has_base()) {
35870     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->base(), target);
35871   }
35872
35873   // optional float scale = 2 [default = 1];
35874   if (has_scale()) {
35875     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->scale(), target);
35876   }
35877
35878   // optional float shift = 3 [default = 0];
35879   if (has_shift()) {
35880     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->shift(), target);
35881   }
35882
35883   if (_internal_metadata_.have_unknown_fields()) {
35884     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
35885         unknown_fields(), target);
35886   }
35887   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.LogParameter)
35888   return target;
35889 }
35890
35891 size_t LogParameter::ByteSizeLong() const {
35892 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.LogParameter)
35893   size_t total_size = 0;
35894
35895   if (_has_bits_[0 / 32] & 7u) {
35896     // optional float base = 1 [default = -1];
35897     if (has_base()) {
35898       total_size += 1 + 4;
35899     }
35900
35901     // optional float scale = 2 [default = 1];
35902     if (has_scale()) {
35903       total_size += 1 + 4;
35904     }
35905
35906     // optional float shift = 3 [default = 0];
35907     if (has_shift()) {
35908       total_size += 1 + 4;
35909     }
35910
35911   }
35912   if (_internal_metadata_.have_unknown_fields()) {
35913     total_size +=
35914       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
35915         unknown_fields());
35916   }
35917   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
35918   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
35919   _cached_size_ = cached_size;
35920   GOOGLE_SAFE_CONCURRENT_WRITES_END();
35921   return total_size;
35922 }
35923
35924 void LogParameter::MergeFrom(const ::google::protobuf::Message& from) {
35925 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.LogParameter)
35926   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
35927   const LogParameter* source =
35928       ::google::protobuf::internal::DynamicCastToGenerated<const LogParameter>(
35929           &from);
35930   if (source == NULL) {
35931   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.LogParameter)
35932     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
35933   } else {
35934   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.LogParameter)
35935     UnsafeMergeFrom(*source);
35936   }
35937 }
35938
35939 void LogParameter::MergeFrom(const LogParameter& from) {
35940 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.LogParameter)
35941   if (GOOGLE_PREDICT_TRUE(&from != this)) {
35942     UnsafeMergeFrom(from);
35943   } else {
35944     MergeFromFail(__LINE__);
35945   }
35946 }
35947
35948 void LogParameter::UnsafeMergeFrom(const LogParameter& from) {
35949   GOOGLE_DCHECK(&from != this);
35950   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
35951     if (from.has_base()) {
35952       set_base(from.base());
35953     }
35954     if (from.has_scale()) {
35955       set_scale(from.scale());
35956     }
35957     if (from.has_shift()) {
35958       set_shift(from.shift());
35959     }
35960   }
35961   if (from._internal_metadata_.have_unknown_fields()) {
35962     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
35963       from.unknown_fields(), &_internal_metadata_);
35964   }
35965 }
35966
35967 void LogParameter::CopyFrom(const ::google::protobuf::Message& from) {
35968 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.LogParameter)
35969   if (&from == this) return;
35970   Clear();
35971   MergeFrom(from);
35972 }
35973
35974 void LogParameter::CopyFrom(const LogParameter& from) {
35975 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.LogParameter)
35976   if (&from == this) return;
35977   Clear();
35978   UnsafeMergeFrom(from);
35979 }
35980
35981 bool LogParameter::IsInitialized() const {
35982
35983   return true;
35984 }
35985
35986 void LogParameter::Swap(LogParameter* other) {
35987   if (other == this) return;
35988   InternalSwap(other);
35989 }
35990 void LogParameter::InternalSwap(LogParameter* other) {
35991   std::swap(base_, other->base_);
35992   std::swap(scale_, other->scale_);
35993   std::swap(shift_, other->shift_);
35994   std::swap(_has_bits_[0], other->_has_bits_[0]);
35995   _internal_metadata_.Swap(&other->_internal_metadata_);
35996   std::swap(_cached_size_, other->_cached_size_);
35997 }
35998
35999 ::google::protobuf::Metadata LogParameter::GetMetadata() const {
36000   protobuf_AssignDescriptorsOnce();
36001   ::google::protobuf::Metadata metadata;
36002   metadata.descriptor = LogParameter_descriptor_;
36003   metadata.reflection = LogParameter_reflection_;
36004   return metadata;
36005 }
36006
36007 #if PROTOBUF_INLINE_NOT_IN_HEADERS
36008 // LogParameter
36009
36010 // optional float base = 1 [default = -1];
36011 bool LogParameter::has_base() const {
36012   return (_has_bits_[0] & 0x00000001u) != 0;
36013 }
36014 void LogParameter::set_has_base() {
36015   _has_bits_[0] |= 0x00000001u;
36016 }
36017 void LogParameter::clear_has_base() {
36018   _has_bits_[0] &= ~0x00000001u;
36019 }
36020 void LogParameter::clear_base() {
36021   base_ = -1;
36022   clear_has_base();
36023 }
36024 float LogParameter::base() const {
36025   // @@protoc_insertion_point(field_get:opencv_caffe.LogParameter.base)
36026   return base_;
36027 }
36028 void LogParameter::set_base(float value) {
36029   set_has_base();
36030   base_ = value;
36031   // @@protoc_insertion_point(field_set:opencv_caffe.LogParameter.base)
36032 }
36033
36034 // optional float scale = 2 [default = 1];
36035 bool LogParameter::has_scale() const {
36036   return (_has_bits_[0] & 0x00000002u) != 0;
36037 }
36038 void LogParameter::set_has_scale() {
36039   _has_bits_[0] |= 0x00000002u;
36040 }
36041 void LogParameter::clear_has_scale() {
36042   _has_bits_[0] &= ~0x00000002u;
36043 }
36044 void LogParameter::clear_scale() {
36045   scale_ = 1;
36046   clear_has_scale();
36047 }
36048 float LogParameter::scale() const {
36049   // @@protoc_insertion_point(field_get:opencv_caffe.LogParameter.scale)
36050   return scale_;
36051 }
36052 void LogParameter::set_scale(float value) {
36053   set_has_scale();
36054   scale_ = value;
36055   // @@protoc_insertion_point(field_set:opencv_caffe.LogParameter.scale)
36056 }
36057
36058 // optional float shift = 3 [default = 0];
36059 bool LogParameter::has_shift() const {
36060   return (_has_bits_[0] & 0x00000004u) != 0;
36061 }
36062 void LogParameter::set_has_shift() {
36063   _has_bits_[0] |= 0x00000004u;
36064 }
36065 void LogParameter::clear_has_shift() {
36066   _has_bits_[0] &= ~0x00000004u;
36067 }
36068 void LogParameter::clear_shift() {
36069   shift_ = 0;
36070   clear_has_shift();
36071 }
36072 float LogParameter::shift() const {
36073   // @@protoc_insertion_point(field_get:opencv_caffe.LogParameter.shift)
36074   return shift_;
36075 }
36076 void LogParameter::set_shift(float value) {
36077   set_has_shift();
36078   shift_ = value;
36079   // @@protoc_insertion_point(field_set:opencv_caffe.LogParameter.shift)
36080 }
36081
36082 inline const LogParameter* LogParameter::internal_default_instance() {
36083   return &LogParameter_default_instance_.get();
36084 }
36085 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
36086
36087 // ===================================================================
36088
36089 const ::google::protobuf::EnumDescriptor* LRNParameter_NormRegion_descriptor() {
36090   protobuf_AssignDescriptorsOnce();
36091   return LRNParameter_NormRegion_descriptor_;
36092 }
36093 bool LRNParameter_NormRegion_IsValid(int value) {
36094   switch (value) {
36095     case 0:
36096     case 1:
36097       return true;
36098     default:
36099       return false;
36100   }
36101 }
36102
36103 #if !defined(_MSC_VER) || _MSC_VER >= 1900
36104 const LRNParameter_NormRegion LRNParameter::ACROSS_CHANNELS;
36105 const LRNParameter_NormRegion LRNParameter::WITHIN_CHANNEL;
36106 const LRNParameter_NormRegion LRNParameter::NormRegion_MIN;
36107 const LRNParameter_NormRegion LRNParameter::NormRegion_MAX;
36108 const int LRNParameter::NormRegion_ARRAYSIZE;
36109 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
36110 const ::google::protobuf::EnumDescriptor* LRNParameter_Engine_descriptor() {
36111   protobuf_AssignDescriptorsOnce();
36112   return LRNParameter_Engine_descriptor_;
36113 }
36114 bool LRNParameter_Engine_IsValid(int value) {
36115   switch (value) {
36116     case 0:
36117     case 1:
36118     case 2:
36119       return true;
36120     default:
36121       return false;
36122   }
36123 }
36124
36125 #if !defined(_MSC_VER) || _MSC_VER >= 1900
36126 const LRNParameter_Engine LRNParameter::DEFAULT;
36127 const LRNParameter_Engine LRNParameter::CAFFE;
36128 const LRNParameter_Engine LRNParameter::CUDNN;
36129 const LRNParameter_Engine LRNParameter::Engine_MIN;
36130 const LRNParameter_Engine LRNParameter::Engine_MAX;
36131 const int LRNParameter::Engine_ARRAYSIZE;
36132 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
36133 #if !defined(_MSC_VER) || _MSC_VER >= 1900
36134 const int LRNParameter::kLocalSizeFieldNumber;
36135 const int LRNParameter::kAlphaFieldNumber;
36136 const int LRNParameter::kBetaFieldNumber;
36137 const int LRNParameter::kNormRegionFieldNumber;
36138 const int LRNParameter::kKFieldNumber;
36139 const int LRNParameter::kEngineFieldNumber;
36140 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
36141
36142 LRNParameter::LRNParameter()
36143   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
36144   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
36145   SharedCtor();
36146   // @@protoc_insertion_point(constructor:opencv_caffe.LRNParameter)
36147 }
36148
36149 void LRNParameter::InitAsDefaultInstance() {
36150 }
36151
36152 LRNParameter::LRNParameter(const LRNParameter& from)
36153   : ::google::protobuf::Message(),
36154     _internal_metadata_(NULL) {
36155   SharedCtor();
36156   UnsafeMergeFrom(from);
36157   // @@protoc_insertion_point(copy_constructor:opencv_caffe.LRNParameter)
36158 }
36159
36160 void LRNParameter::SharedCtor() {
36161   _cached_size_ = 0;
36162   ::memset(&norm_region_, 0, reinterpret_cast<char*>(&engine_) -
36163     reinterpret_cast<char*>(&norm_region_) + sizeof(engine_));
36164   local_size_ = 5u;
36165   alpha_ = 1;
36166   beta_ = 0.75f;
36167   k_ = 1;
36168 }
36169
36170 LRNParameter::~LRNParameter() {
36171   // @@protoc_insertion_point(destructor:opencv_caffe.LRNParameter)
36172   SharedDtor();
36173 }
36174
36175 void LRNParameter::SharedDtor() {
36176 }
36177
36178 void LRNParameter::SetCachedSize(int size) const {
36179   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
36180   _cached_size_ = size;
36181   GOOGLE_SAFE_CONCURRENT_WRITES_END();
36182 }
36183 const ::google::protobuf::Descriptor* LRNParameter::descriptor() {
36184   protobuf_AssignDescriptorsOnce();
36185   return LRNParameter_descriptor_;
36186 }
36187
36188 const LRNParameter& LRNParameter::default_instance() {
36189   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
36190   return *internal_default_instance();
36191 }
36192
36193 ::google::protobuf::internal::ExplicitlyConstructed<LRNParameter> LRNParameter_default_instance_;
36194
36195 LRNParameter* LRNParameter::New(::google::protobuf::Arena* arena) const {
36196   LRNParameter* n = new LRNParameter;
36197   if (arena != NULL) {
36198     arena->Own(n);
36199   }
36200   return n;
36201 }
36202
36203 void LRNParameter::Clear() {
36204 // @@protoc_insertion_point(message_clear_start:opencv_caffe.LRNParameter)
36205 #if defined(__clang__)
36206 #define ZR_HELPER_(f) \
36207   _Pragma("clang diagnostic push") \
36208   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
36209   __builtin_offsetof(LRNParameter, f) \
36210   _Pragma("clang diagnostic pop")
36211 #else
36212 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
36213   &reinterpret_cast<LRNParameter*>(16)->f)
36214 #endif
36215
36216 #define ZR_(first, last) do {\
36217   ::memset(&(first), 0,\
36218            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
36219 } while (0)
36220
36221   if (_has_bits_[0 / 32] & 63u) {
36222     ZR_(norm_region_, engine_);
36223     local_size_ = 5u;
36224     alpha_ = 1;
36225     beta_ = 0.75f;
36226     k_ = 1;
36227   }
36228
36229 #undef ZR_HELPER_
36230 #undef ZR_
36231
36232   _has_bits_.Clear();
36233   if (_internal_metadata_.have_unknown_fields()) {
36234     mutable_unknown_fields()->Clear();
36235   }
36236 }
36237
36238 bool LRNParameter::MergePartialFromCodedStream(
36239     ::google::protobuf::io::CodedInputStream* input) {
36240 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
36241   ::google::protobuf::uint32 tag;
36242   // @@protoc_insertion_point(parse_start:opencv_caffe.LRNParameter)
36243   for (;;) {
36244     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
36245     tag = p.first;
36246     if (!p.second) goto handle_unusual;
36247     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
36248       // optional uint32 local_size = 1 [default = 5];
36249       case 1: {
36250         if (tag == 8) {
36251           set_has_local_size();
36252           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
36253                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
36254                  input, &local_size_)));
36255         } else {
36256           goto handle_unusual;
36257         }
36258         if (input->ExpectTag(21)) goto parse_alpha;
36259         break;
36260       }
36261
36262       // optional float alpha = 2 [default = 1];
36263       case 2: {
36264         if (tag == 21) {
36265          parse_alpha:
36266           set_has_alpha();
36267           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
36268                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
36269                  input, &alpha_)));
36270         } else {
36271           goto handle_unusual;
36272         }
36273         if (input->ExpectTag(29)) goto parse_beta;
36274         break;
36275       }
36276
36277       // optional float beta = 3 [default = 0.75];
36278       case 3: {
36279         if (tag == 29) {
36280          parse_beta:
36281           set_has_beta();
36282           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
36283                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
36284                  input, &beta_)));
36285         } else {
36286           goto handle_unusual;
36287         }
36288         if (input->ExpectTag(32)) goto parse_norm_region;
36289         break;
36290       }
36291
36292       // optional .opencv_caffe.LRNParameter.NormRegion norm_region = 4 [default = ACROSS_CHANNELS];
36293       case 4: {
36294         if (tag == 32) {
36295          parse_norm_region:
36296           int value;
36297           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
36298                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
36299                  input, &value)));
36300           if (::opencv_caffe::LRNParameter_NormRegion_IsValid(value)) {
36301             set_norm_region(static_cast< ::opencv_caffe::LRNParameter_NormRegion >(value));
36302           } else {
36303             mutable_unknown_fields()->AddVarint(4, value);
36304           }
36305         } else {
36306           goto handle_unusual;
36307         }
36308         if (input->ExpectTag(45)) goto parse_k;
36309         break;
36310       }
36311
36312       // optional float k = 5 [default = 1];
36313       case 5: {
36314         if (tag == 45) {
36315          parse_k:
36316           set_has_k();
36317           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
36318                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
36319                  input, &k_)));
36320         } else {
36321           goto handle_unusual;
36322         }
36323         if (input->ExpectTag(48)) goto parse_engine;
36324         break;
36325       }
36326
36327       // optional .opencv_caffe.LRNParameter.Engine engine = 6 [default = DEFAULT];
36328       case 6: {
36329         if (tag == 48) {
36330          parse_engine:
36331           int value;
36332           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
36333                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
36334                  input, &value)));
36335           if (::opencv_caffe::LRNParameter_Engine_IsValid(value)) {
36336             set_engine(static_cast< ::opencv_caffe::LRNParameter_Engine >(value));
36337           } else {
36338             mutable_unknown_fields()->AddVarint(6, value);
36339           }
36340         } else {
36341           goto handle_unusual;
36342         }
36343         if (input->ExpectAtEnd()) goto success;
36344         break;
36345       }
36346
36347       default: {
36348       handle_unusual:
36349         if (tag == 0 ||
36350             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
36351             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
36352           goto success;
36353         }
36354         DO_(::google::protobuf::internal::WireFormat::SkipField(
36355               input, tag, mutable_unknown_fields()));
36356         break;
36357       }
36358     }
36359   }
36360 success:
36361   // @@protoc_insertion_point(parse_success:opencv_caffe.LRNParameter)
36362   return true;
36363 failure:
36364   // @@protoc_insertion_point(parse_failure:opencv_caffe.LRNParameter)
36365   return false;
36366 #undef DO_
36367 }
36368
36369 void LRNParameter::SerializeWithCachedSizes(
36370     ::google::protobuf::io::CodedOutputStream* output) const {
36371   // @@protoc_insertion_point(serialize_start:opencv_caffe.LRNParameter)
36372   // optional uint32 local_size = 1 [default = 5];
36373   if (has_local_size()) {
36374     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->local_size(), output);
36375   }
36376
36377   // optional float alpha = 2 [default = 1];
36378   if (has_alpha()) {
36379     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->alpha(), output);
36380   }
36381
36382   // optional float beta = 3 [default = 0.75];
36383   if (has_beta()) {
36384     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->beta(), output);
36385   }
36386
36387   // optional .opencv_caffe.LRNParameter.NormRegion norm_region = 4 [default = ACROSS_CHANNELS];
36388   if (has_norm_region()) {
36389     ::google::protobuf::internal::WireFormatLite::WriteEnum(
36390       4, this->norm_region(), output);
36391   }
36392
36393   // optional float k = 5 [default = 1];
36394   if (has_k()) {
36395     ::google::protobuf::internal::WireFormatLite::WriteFloat(5, this->k(), output);
36396   }
36397
36398   // optional .opencv_caffe.LRNParameter.Engine engine = 6 [default = DEFAULT];
36399   if (has_engine()) {
36400     ::google::protobuf::internal::WireFormatLite::WriteEnum(
36401       6, this->engine(), output);
36402   }
36403
36404   if (_internal_metadata_.have_unknown_fields()) {
36405     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
36406         unknown_fields(), output);
36407   }
36408   // @@protoc_insertion_point(serialize_end:opencv_caffe.LRNParameter)
36409 }
36410
36411 ::google::protobuf::uint8* LRNParameter::InternalSerializeWithCachedSizesToArray(
36412     bool deterministic, ::google::protobuf::uint8* target) const {
36413   (void)deterministic; // Unused
36414   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.LRNParameter)
36415   // optional uint32 local_size = 1 [default = 5];
36416   if (has_local_size()) {
36417     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->local_size(), target);
36418   }
36419
36420   // optional float alpha = 2 [default = 1];
36421   if (has_alpha()) {
36422     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->alpha(), target);
36423   }
36424
36425   // optional float beta = 3 [default = 0.75];
36426   if (has_beta()) {
36427     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->beta(), target);
36428   }
36429
36430   // optional .opencv_caffe.LRNParameter.NormRegion norm_region = 4 [default = ACROSS_CHANNELS];
36431   if (has_norm_region()) {
36432     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
36433       4, this->norm_region(), target);
36434   }
36435
36436   // optional float k = 5 [default = 1];
36437   if (has_k()) {
36438     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(5, this->k(), target);
36439   }
36440
36441   // optional .opencv_caffe.LRNParameter.Engine engine = 6 [default = DEFAULT];
36442   if (has_engine()) {
36443     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
36444       6, this->engine(), target);
36445   }
36446
36447   if (_internal_metadata_.have_unknown_fields()) {
36448     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
36449         unknown_fields(), target);
36450   }
36451   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.LRNParameter)
36452   return target;
36453 }
36454
36455 size_t LRNParameter::ByteSizeLong() const {
36456 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.LRNParameter)
36457   size_t total_size = 0;
36458
36459   if (_has_bits_[0 / 32] & 63u) {
36460     // optional uint32 local_size = 1 [default = 5];
36461     if (has_local_size()) {
36462       total_size += 1 +
36463         ::google::protobuf::internal::WireFormatLite::UInt32Size(
36464           this->local_size());
36465     }
36466
36467     // optional float alpha = 2 [default = 1];
36468     if (has_alpha()) {
36469       total_size += 1 + 4;
36470     }
36471
36472     // optional float beta = 3 [default = 0.75];
36473     if (has_beta()) {
36474       total_size += 1 + 4;
36475     }
36476
36477     // optional .opencv_caffe.LRNParameter.NormRegion norm_region = 4 [default = ACROSS_CHANNELS];
36478     if (has_norm_region()) {
36479       total_size += 1 +
36480         ::google::protobuf::internal::WireFormatLite::EnumSize(this->norm_region());
36481     }
36482
36483     // optional float k = 5 [default = 1];
36484     if (has_k()) {
36485       total_size += 1 + 4;
36486     }
36487
36488     // optional .opencv_caffe.LRNParameter.Engine engine = 6 [default = DEFAULT];
36489     if (has_engine()) {
36490       total_size += 1 +
36491         ::google::protobuf::internal::WireFormatLite::EnumSize(this->engine());
36492     }
36493
36494   }
36495   if (_internal_metadata_.have_unknown_fields()) {
36496     total_size +=
36497       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
36498         unknown_fields());
36499   }
36500   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
36501   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
36502   _cached_size_ = cached_size;
36503   GOOGLE_SAFE_CONCURRENT_WRITES_END();
36504   return total_size;
36505 }
36506
36507 void LRNParameter::MergeFrom(const ::google::protobuf::Message& from) {
36508 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.LRNParameter)
36509   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
36510   const LRNParameter* source =
36511       ::google::protobuf::internal::DynamicCastToGenerated<const LRNParameter>(
36512           &from);
36513   if (source == NULL) {
36514   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.LRNParameter)
36515     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
36516   } else {
36517   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.LRNParameter)
36518     UnsafeMergeFrom(*source);
36519   }
36520 }
36521
36522 void LRNParameter::MergeFrom(const LRNParameter& from) {
36523 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.LRNParameter)
36524   if (GOOGLE_PREDICT_TRUE(&from != this)) {
36525     UnsafeMergeFrom(from);
36526   } else {
36527     MergeFromFail(__LINE__);
36528   }
36529 }
36530
36531 void LRNParameter::UnsafeMergeFrom(const LRNParameter& from) {
36532   GOOGLE_DCHECK(&from != this);
36533   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
36534     if (from.has_local_size()) {
36535       set_local_size(from.local_size());
36536     }
36537     if (from.has_alpha()) {
36538       set_alpha(from.alpha());
36539     }
36540     if (from.has_beta()) {
36541       set_beta(from.beta());
36542     }
36543     if (from.has_norm_region()) {
36544       set_norm_region(from.norm_region());
36545     }
36546     if (from.has_k()) {
36547       set_k(from.k());
36548     }
36549     if (from.has_engine()) {
36550       set_engine(from.engine());
36551     }
36552   }
36553   if (from._internal_metadata_.have_unknown_fields()) {
36554     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
36555       from.unknown_fields(), &_internal_metadata_);
36556   }
36557 }
36558
36559 void LRNParameter::CopyFrom(const ::google::protobuf::Message& from) {
36560 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.LRNParameter)
36561   if (&from == this) return;
36562   Clear();
36563   MergeFrom(from);
36564 }
36565
36566 void LRNParameter::CopyFrom(const LRNParameter& from) {
36567 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.LRNParameter)
36568   if (&from == this) return;
36569   Clear();
36570   UnsafeMergeFrom(from);
36571 }
36572
36573 bool LRNParameter::IsInitialized() const {
36574
36575   return true;
36576 }
36577
36578 void LRNParameter::Swap(LRNParameter* other) {
36579   if (other == this) return;
36580   InternalSwap(other);
36581 }
36582 void LRNParameter::InternalSwap(LRNParameter* other) {
36583   std::swap(local_size_, other->local_size_);
36584   std::swap(alpha_, other->alpha_);
36585   std::swap(beta_, other->beta_);
36586   std::swap(norm_region_, other->norm_region_);
36587   std::swap(k_, other->k_);
36588   std::swap(engine_, other->engine_);
36589   std::swap(_has_bits_[0], other->_has_bits_[0]);
36590   _internal_metadata_.Swap(&other->_internal_metadata_);
36591   std::swap(_cached_size_, other->_cached_size_);
36592 }
36593
36594 ::google::protobuf::Metadata LRNParameter::GetMetadata() const {
36595   protobuf_AssignDescriptorsOnce();
36596   ::google::protobuf::Metadata metadata;
36597   metadata.descriptor = LRNParameter_descriptor_;
36598   metadata.reflection = LRNParameter_reflection_;
36599   return metadata;
36600 }
36601
36602 #if PROTOBUF_INLINE_NOT_IN_HEADERS
36603 // LRNParameter
36604
36605 // optional uint32 local_size = 1 [default = 5];
36606 bool LRNParameter::has_local_size() const {
36607   return (_has_bits_[0] & 0x00000001u) != 0;
36608 }
36609 void LRNParameter::set_has_local_size() {
36610   _has_bits_[0] |= 0x00000001u;
36611 }
36612 void LRNParameter::clear_has_local_size() {
36613   _has_bits_[0] &= ~0x00000001u;
36614 }
36615 void LRNParameter::clear_local_size() {
36616   local_size_ = 5u;
36617   clear_has_local_size();
36618 }
36619 ::google::protobuf::uint32 LRNParameter::local_size() const {
36620   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.local_size)
36621   return local_size_;
36622 }
36623 void LRNParameter::set_local_size(::google::protobuf::uint32 value) {
36624   set_has_local_size();
36625   local_size_ = value;
36626   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.local_size)
36627 }
36628
36629 // optional float alpha = 2 [default = 1];
36630 bool LRNParameter::has_alpha() const {
36631   return (_has_bits_[0] & 0x00000002u) != 0;
36632 }
36633 void LRNParameter::set_has_alpha() {
36634   _has_bits_[0] |= 0x00000002u;
36635 }
36636 void LRNParameter::clear_has_alpha() {
36637   _has_bits_[0] &= ~0x00000002u;
36638 }
36639 void LRNParameter::clear_alpha() {
36640   alpha_ = 1;
36641   clear_has_alpha();
36642 }
36643 float LRNParameter::alpha() const {
36644   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.alpha)
36645   return alpha_;
36646 }
36647 void LRNParameter::set_alpha(float value) {
36648   set_has_alpha();
36649   alpha_ = value;
36650   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.alpha)
36651 }
36652
36653 // optional float beta = 3 [default = 0.75];
36654 bool LRNParameter::has_beta() const {
36655   return (_has_bits_[0] & 0x00000004u) != 0;
36656 }
36657 void LRNParameter::set_has_beta() {
36658   _has_bits_[0] |= 0x00000004u;
36659 }
36660 void LRNParameter::clear_has_beta() {
36661   _has_bits_[0] &= ~0x00000004u;
36662 }
36663 void LRNParameter::clear_beta() {
36664   beta_ = 0.75f;
36665   clear_has_beta();
36666 }
36667 float LRNParameter::beta() const {
36668   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.beta)
36669   return beta_;
36670 }
36671 void LRNParameter::set_beta(float value) {
36672   set_has_beta();
36673   beta_ = value;
36674   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.beta)
36675 }
36676
36677 // optional .opencv_caffe.LRNParameter.NormRegion norm_region = 4 [default = ACROSS_CHANNELS];
36678 bool LRNParameter::has_norm_region() const {
36679   return (_has_bits_[0] & 0x00000008u) != 0;
36680 }
36681 void LRNParameter::set_has_norm_region() {
36682   _has_bits_[0] |= 0x00000008u;
36683 }
36684 void LRNParameter::clear_has_norm_region() {
36685   _has_bits_[0] &= ~0x00000008u;
36686 }
36687 void LRNParameter::clear_norm_region() {
36688   norm_region_ = 0;
36689   clear_has_norm_region();
36690 }
36691 ::opencv_caffe::LRNParameter_NormRegion LRNParameter::norm_region() const {
36692   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.norm_region)
36693   return static_cast< ::opencv_caffe::LRNParameter_NormRegion >(norm_region_);
36694 }
36695 void LRNParameter::set_norm_region(::opencv_caffe::LRNParameter_NormRegion value) {
36696   assert(::opencv_caffe::LRNParameter_NormRegion_IsValid(value));
36697   set_has_norm_region();
36698   norm_region_ = value;
36699   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.norm_region)
36700 }
36701
36702 // optional float k = 5 [default = 1];
36703 bool LRNParameter::has_k() const {
36704   return (_has_bits_[0] & 0x00000010u) != 0;
36705 }
36706 void LRNParameter::set_has_k() {
36707   _has_bits_[0] |= 0x00000010u;
36708 }
36709 void LRNParameter::clear_has_k() {
36710   _has_bits_[0] &= ~0x00000010u;
36711 }
36712 void LRNParameter::clear_k() {
36713   k_ = 1;
36714   clear_has_k();
36715 }
36716 float LRNParameter::k() const {
36717   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.k)
36718   return k_;
36719 }
36720 void LRNParameter::set_k(float value) {
36721   set_has_k();
36722   k_ = value;
36723   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.k)
36724 }
36725
36726 // optional .opencv_caffe.LRNParameter.Engine engine = 6 [default = DEFAULT];
36727 bool LRNParameter::has_engine() const {
36728   return (_has_bits_[0] & 0x00000020u) != 0;
36729 }
36730 void LRNParameter::set_has_engine() {
36731   _has_bits_[0] |= 0x00000020u;
36732 }
36733 void LRNParameter::clear_has_engine() {
36734   _has_bits_[0] &= ~0x00000020u;
36735 }
36736 void LRNParameter::clear_engine() {
36737   engine_ = 0;
36738   clear_has_engine();
36739 }
36740 ::opencv_caffe::LRNParameter_Engine LRNParameter::engine() const {
36741   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.engine)
36742   return static_cast< ::opencv_caffe::LRNParameter_Engine >(engine_);
36743 }
36744 void LRNParameter::set_engine(::opencv_caffe::LRNParameter_Engine value) {
36745   assert(::opencv_caffe::LRNParameter_Engine_IsValid(value));
36746   set_has_engine();
36747   engine_ = value;
36748   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.engine)
36749 }
36750
36751 inline const LRNParameter* LRNParameter::internal_default_instance() {
36752   return &LRNParameter_default_instance_.get();
36753 }
36754 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
36755
36756 // ===================================================================
36757
36758 #if !defined(_MSC_VER) || _MSC_VER >= 1900
36759 const int MemoryDataParameter::kBatchSizeFieldNumber;
36760 const int MemoryDataParameter::kChannelsFieldNumber;
36761 const int MemoryDataParameter::kHeightFieldNumber;
36762 const int MemoryDataParameter::kWidthFieldNumber;
36763 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
36764
36765 MemoryDataParameter::MemoryDataParameter()
36766   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
36767   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
36768   SharedCtor();
36769   // @@protoc_insertion_point(constructor:opencv_caffe.MemoryDataParameter)
36770 }
36771
36772 void MemoryDataParameter::InitAsDefaultInstance() {
36773 }
36774
36775 MemoryDataParameter::MemoryDataParameter(const MemoryDataParameter& from)
36776   : ::google::protobuf::Message(),
36777     _internal_metadata_(NULL) {
36778   SharedCtor();
36779   UnsafeMergeFrom(from);
36780   // @@protoc_insertion_point(copy_constructor:opencv_caffe.MemoryDataParameter)
36781 }
36782
36783 void MemoryDataParameter::SharedCtor() {
36784   _cached_size_ = 0;
36785   ::memset(&batch_size_, 0, reinterpret_cast<char*>(&width_) -
36786     reinterpret_cast<char*>(&batch_size_) + sizeof(width_));
36787 }
36788
36789 MemoryDataParameter::~MemoryDataParameter() {
36790   // @@protoc_insertion_point(destructor:opencv_caffe.MemoryDataParameter)
36791   SharedDtor();
36792 }
36793
36794 void MemoryDataParameter::SharedDtor() {
36795 }
36796
36797 void MemoryDataParameter::SetCachedSize(int size) const {
36798   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
36799   _cached_size_ = size;
36800   GOOGLE_SAFE_CONCURRENT_WRITES_END();
36801 }
36802 const ::google::protobuf::Descriptor* MemoryDataParameter::descriptor() {
36803   protobuf_AssignDescriptorsOnce();
36804   return MemoryDataParameter_descriptor_;
36805 }
36806
36807 const MemoryDataParameter& MemoryDataParameter::default_instance() {
36808   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
36809   return *internal_default_instance();
36810 }
36811
36812 ::google::protobuf::internal::ExplicitlyConstructed<MemoryDataParameter> MemoryDataParameter_default_instance_;
36813
36814 MemoryDataParameter* MemoryDataParameter::New(::google::protobuf::Arena* arena) const {
36815   MemoryDataParameter* n = new MemoryDataParameter;
36816   if (arena != NULL) {
36817     arena->Own(n);
36818   }
36819   return n;
36820 }
36821
36822 void MemoryDataParameter::Clear() {
36823 // @@protoc_insertion_point(message_clear_start:opencv_caffe.MemoryDataParameter)
36824 #if defined(__clang__)
36825 #define ZR_HELPER_(f) \
36826   _Pragma("clang diagnostic push") \
36827   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
36828   __builtin_offsetof(MemoryDataParameter, f) \
36829   _Pragma("clang diagnostic pop")
36830 #else
36831 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
36832   &reinterpret_cast<MemoryDataParameter*>(16)->f)
36833 #endif
36834
36835 #define ZR_(first, last) do {\
36836   ::memset(&(first), 0,\
36837            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
36838 } while (0)
36839
36840   ZR_(batch_size_, width_);
36841
36842 #undef ZR_HELPER_
36843 #undef ZR_
36844
36845   _has_bits_.Clear();
36846   if (_internal_metadata_.have_unknown_fields()) {
36847     mutable_unknown_fields()->Clear();
36848   }
36849 }
36850
36851 bool MemoryDataParameter::MergePartialFromCodedStream(
36852     ::google::protobuf::io::CodedInputStream* input) {
36853 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
36854   ::google::protobuf::uint32 tag;
36855   // @@protoc_insertion_point(parse_start:opencv_caffe.MemoryDataParameter)
36856   for (;;) {
36857     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
36858     tag = p.first;
36859     if (!p.second) goto handle_unusual;
36860     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
36861       // optional uint32 batch_size = 1;
36862       case 1: {
36863         if (tag == 8) {
36864           set_has_batch_size();
36865           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
36866                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
36867                  input, &batch_size_)));
36868         } else {
36869           goto handle_unusual;
36870         }
36871         if (input->ExpectTag(16)) goto parse_channels;
36872         break;
36873       }
36874
36875       // optional uint32 channels = 2;
36876       case 2: {
36877         if (tag == 16) {
36878          parse_channels:
36879           set_has_channels();
36880           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
36881                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
36882                  input, &channels_)));
36883         } else {
36884           goto handle_unusual;
36885         }
36886         if (input->ExpectTag(24)) goto parse_height;
36887         break;
36888       }
36889
36890       // optional uint32 height = 3;
36891       case 3: {
36892         if (tag == 24) {
36893          parse_height:
36894           set_has_height();
36895           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
36896                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
36897                  input, &height_)));
36898         } else {
36899           goto handle_unusual;
36900         }
36901         if (input->ExpectTag(32)) goto parse_width;
36902         break;
36903       }
36904
36905       // optional uint32 width = 4;
36906       case 4: {
36907         if (tag == 32) {
36908          parse_width:
36909           set_has_width();
36910           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
36911                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
36912                  input, &width_)));
36913         } else {
36914           goto handle_unusual;
36915         }
36916         if (input->ExpectAtEnd()) goto success;
36917         break;
36918       }
36919
36920       default: {
36921       handle_unusual:
36922         if (tag == 0 ||
36923             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
36924             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
36925           goto success;
36926         }
36927         DO_(::google::protobuf::internal::WireFormat::SkipField(
36928               input, tag, mutable_unknown_fields()));
36929         break;
36930       }
36931     }
36932   }
36933 success:
36934   // @@protoc_insertion_point(parse_success:opencv_caffe.MemoryDataParameter)
36935   return true;
36936 failure:
36937   // @@protoc_insertion_point(parse_failure:opencv_caffe.MemoryDataParameter)
36938   return false;
36939 #undef DO_
36940 }
36941
36942 void MemoryDataParameter::SerializeWithCachedSizes(
36943     ::google::protobuf::io::CodedOutputStream* output) const {
36944   // @@protoc_insertion_point(serialize_start:opencv_caffe.MemoryDataParameter)
36945   // optional uint32 batch_size = 1;
36946   if (has_batch_size()) {
36947     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->batch_size(), output);
36948   }
36949
36950   // optional uint32 channels = 2;
36951   if (has_channels()) {
36952     ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->channels(), output);
36953   }
36954
36955   // optional uint32 height = 3;
36956   if (has_height()) {
36957     ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->height(), output);
36958   }
36959
36960   // optional uint32 width = 4;
36961   if (has_width()) {
36962     ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->width(), output);
36963   }
36964
36965   if (_internal_metadata_.have_unknown_fields()) {
36966     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
36967         unknown_fields(), output);
36968   }
36969   // @@protoc_insertion_point(serialize_end:opencv_caffe.MemoryDataParameter)
36970 }
36971
36972 ::google::protobuf::uint8* MemoryDataParameter::InternalSerializeWithCachedSizesToArray(
36973     bool deterministic, ::google::protobuf::uint8* target) const {
36974   (void)deterministic; // Unused
36975   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.MemoryDataParameter)
36976   // optional uint32 batch_size = 1;
36977   if (has_batch_size()) {
36978     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->batch_size(), target);
36979   }
36980
36981   // optional uint32 channels = 2;
36982   if (has_channels()) {
36983     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->channels(), target);
36984   }
36985
36986   // optional uint32 height = 3;
36987   if (has_height()) {
36988     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(3, this->height(), target);
36989   }
36990
36991   // optional uint32 width = 4;
36992   if (has_width()) {
36993     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(4, this->width(), target);
36994   }
36995
36996   if (_internal_metadata_.have_unknown_fields()) {
36997     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
36998         unknown_fields(), target);
36999   }
37000   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.MemoryDataParameter)
37001   return target;
37002 }
37003
37004 size_t MemoryDataParameter::ByteSizeLong() const {
37005 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.MemoryDataParameter)
37006   size_t total_size = 0;
37007
37008   if (_has_bits_[0 / 32] & 15u) {
37009     // optional uint32 batch_size = 1;
37010     if (has_batch_size()) {
37011       total_size += 1 +
37012         ::google::protobuf::internal::WireFormatLite::UInt32Size(
37013           this->batch_size());
37014     }
37015
37016     // optional uint32 channels = 2;
37017     if (has_channels()) {
37018       total_size += 1 +
37019         ::google::protobuf::internal::WireFormatLite::UInt32Size(
37020           this->channels());
37021     }
37022
37023     // optional uint32 height = 3;
37024     if (has_height()) {
37025       total_size += 1 +
37026         ::google::protobuf::internal::WireFormatLite::UInt32Size(
37027           this->height());
37028     }
37029
37030     // optional uint32 width = 4;
37031     if (has_width()) {
37032       total_size += 1 +
37033         ::google::protobuf::internal::WireFormatLite::UInt32Size(
37034           this->width());
37035     }
37036
37037   }
37038   if (_internal_metadata_.have_unknown_fields()) {
37039     total_size +=
37040       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
37041         unknown_fields());
37042   }
37043   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
37044   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
37045   _cached_size_ = cached_size;
37046   GOOGLE_SAFE_CONCURRENT_WRITES_END();
37047   return total_size;
37048 }
37049
37050 void MemoryDataParameter::MergeFrom(const ::google::protobuf::Message& from) {
37051 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.MemoryDataParameter)
37052   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
37053   const MemoryDataParameter* source =
37054       ::google::protobuf::internal::DynamicCastToGenerated<const MemoryDataParameter>(
37055           &from);
37056   if (source == NULL) {
37057   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.MemoryDataParameter)
37058     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
37059   } else {
37060   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.MemoryDataParameter)
37061     UnsafeMergeFrom(*source);
37062   }
37063 }
37064
37065 void MemoryDataParameter::MergeFrom(const MemoryDataParameter& from) {
37066 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.MemoryDataParameter)
37067   if (GOOGLE_PREDICT_TRUE(&from != this)) {
37068     UnsafeMergeFrom(from);
37069   } else {
37070     MergeFromFail(__LINE__);
37071   }
37072 }
37073
37074 void MemoryDataParameter::UnsafeMergeFrom(const MemoryDataParameter& from) {
37075   GOOGLE_DCHECK(&from != this);
37076   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
37077     if (from.has_batch_size()) {
37078       set_batch_size(from.batch_size());
37079     }
37080     if (from.has_channels()) {
37081       set_channels(from.channels());
37082     }
37083     if (from.has_height()) {
37084       set_height(from.height());
37085     }
37086     if (from.has_width()) {
37087       set_width(from.width());
37088     }
37089   }
37090   if (from._internal_metadata_.have_unknown_fields()) {
37091     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
37092       from.unknown_fields(), &_internal_metadata_);
37093   }
37094 }
37095
37096 void MemoryDataParameter::CopyFrom(const ::google::protobuf::Message& from) {
37097 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.MemoryDataParameter)
37098   if (&from == this) return;
37099   Clear();
37100   MergeFrom(from);
37101 }
37102
37103 void MemoryDataParameter::CopyFrom(const MemoryDataParameter& from) {
37104 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.MemoryDataParameter)
37105   if (&from == this) return;
37106   Clear();
37107   UnsafeMergeFrom(from);
37108 }
37109
37110 bool MemoryDataParameter::IsInitialized() const {
37111
37112   return true;
37113 }
37114
37115 void MemoryDataParameter::Swap(MemoryDataParameter* other) {
37116   if (other == this) return;
37117   InternalSwap(other);
37118 }
37119 void MemoryDataParameter::InternalSwap(MemoryDataParameter* other) {
37120   std::swap(batch_size_, other->batch_size_);
37121   std::swap(channels_, other->channels_);
37122   std::swap(height_, other->height_);
37123   std::swap(width_, other->width_);
37124   std::swap(_has_bits_[0], other->_has_bits_[0]);
37125   _internal_metadata_.Swap(&other->_internal_metadata_);
37126   std::swap(_cached_size_, other->_cached_size_);
37127 }
37128
37129 ::google::protobuf::Metadata MemoryDataParameter::GetMetadata() const {
37130   protobuf_AssignDescriptorsOnce();
37131   ::google::protobuf::Metadata metadata;
37132   metadata.descriptor = MemoryDataParameter_descriptor_;
37133   metadata.reflection = MemoryDataParameter_reflection_;
37134   return metadata;
37135 }
37136
37137 #if PROTOBUF_INLINE_NOT_IN_HEADERS
37138 // MemoryDataParameter
37139
37140 // optional uint32 batch_size = 1;
37141 bool MemoryDataParameter::has_batch_size() const {
37142   return (_has_bits_[0] & 0x00000001u) != 0;
37143 }
37144 void MemoryDataParameter::set_has_batch_size() {
37145   _has_bits_[0] |= 0x00000001u;
37146 }
37147 void MemoryDataParameter::clear_has_batch_size() {
37148   _has_bits_[0] &= ~0x00000001u;
37149 }
37150 void MemoryDataParameter::clear_batch_size() {
37151   batch_size_ = 0u;
37152   clear_has_batch_size();
37153 }
37154 ::google::protobuf::uint32 MemoryDataParameter::batch_size() const {
37155   // @@protoc_insertion_point(field_get:opencv_caffe.MemoryDataParameter.batch_size)
37156   return batch_size_;
37157 }
37158 void MemoryDataParameter::set_batch_size(::google::protobuf::uint32 value) {
37159   set_has_batch_size();
37160   batch_size_ = value;
37161   // @@protoc_insertion_point(field_set:opencv_caffe.MemoryDataParameter.batch_size)
37162 }
37163
37164 // optional uint32 channels = 2;
37165 bool MemoryDataParameter::has_channels() const {
37166   return (_has_bits_[0] & 0x00000002u) != 0;
37167 }
37168 void MemoryDataParameter::set_has_channels() {
37169   _has_bits_[0] |= 0x00000002u;
37170 }
37171 void MemoryDataParameter::clear_has_channels() {
37172   _has_bits_[0] &= ~0x00000002u;
37173 }
37174 void MemoryDataParameter::clear_channels() {
37175   channels_ = 0u;
37176   clear_has_channels();
37177 }
37178 ::google::protobuf::uint32 MemoryDataParameter::channels() const {
37179   // @@protoc_insertion_point(field_get:opencv_caffe.MemoryDataParameter.channels)
37180   return channels_;
37181 }
37182 void MemoryDataParameter::set_channels(::google::protobuf::uint32 value) {
37183   set_has_channels();
37184   channels_ = value;
37185   // @@protoc_insertion_point(field_set:opencv_caffe.MemoryDataParameter.channels)
37186 }
37187
37188 // optional uint32 height = 3;
37189 bool MemoryDataParameter::has_height() const {
37190   return (_has_bits_[0] & 0x00000004u) != 0;
37191 }
37192 void MemoryDataParameter::set_has_height() {
37193   _has_bits_[0] |= 0x00000004u;
37194 }
37195 void MemoryDataParameter::clear_has_height() {
37196   _has_bits_[0] &= ~0x00000004u;
37197 }
37198 void MemoryDataParameter::clear_height() {
37199   height_ = 0u;
37200   clear_has_height();
37201 }
37202 ::google::protobuf::uint32 MemoryDataParameter::height() const {
37203   // @@protoc_insertion_point(field_get:opencv_caffe.MemoryDataParameter.height)
37204   return height_;
37205 }
37206 void MemoryDataParameter::set_height(::google::protobuf::uint32 value) {
37207   set_has_height();
37208   height_ = value;
37209   // @@protoc_insertion_point(field_set:opencv_caffe.MemoryDataParameter.height)
37210 }
37211
37212 // optional uint32 width = 4;
37213 bool MemoryDataParameter::has_width() const {
37214   return (_has_bits_[0] & 0x00000008u) != 0;
37215 }
37216 void MemoryDataParameter::set_has_width() {
37217   _has_bits_[0] |= 0x00000008u;
37218 }
37219 void MemoryDataParameter::clear_has_width() {
37220   _has_bits_[0] &= ~0x00000008u;
37221 }
37222 void MemoryDataParameter::clear_width() {
37223   width_ = 0u;
37224   clear_has_width();
37225 }
37226 ::google::protobuf::uint32 MemoryDataParameter::width() const {
37227   // @@protoc_insertion_point(field_get:opencv_caffe.MemoryDataParameter.width)
37228   return width_;
37229 }
37230 void MemoryDataParameter::set_width(::google::protobuf::uint32 value) {
37231   set_has_width();
37232   width_ = value;
37233   // @@protoc_insertion_point(field_set:opencv_caffe.MemoryDataParameter.width)
37234 }
37235
37236 inline const MemoryDataParameter* MemoryDataParameter::internal_default_instance() {
37237   return &MemoryDataParameter_default_instance_.get();
37238 }
37239 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
37240
37241 // ===================================================================
37242
37243 #if !defined(_MSC_VER) || _MSC_VER >= 1900
37244 const int MVNParameter::kNormalizeVarianceFieldNumber;
37245 const int MVNParameter::kAcrossChannelsFieldNumber;
37246 const int MVNParameter::kEpsFieldNumber;
37247 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
37248
37249 MVNParameter::MVNParameter()
37250   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
37251   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
37252   SharedCtor();
37253   // @@protoc_insertion_point(constructor:opencv_caffe.MVNParameter)
37254 }
37255
37256 void MVNParameter::InitAsDefaultInstance() {
37257 }
37258
37259 MVNParameter::MVNParameter(const MVNParameter& from)
37260   : ::google::protobuf::Message(),
37261     _internal_metadata_(NULL) {
37262   SharedCtor();
37263   UnsafeMergeFrom(from);
37264   // @@protoc_insertion_point(copy_constructor:opencv_caffe.MVNParameter)
37265 }
37266
37267 void MVNParameter::SharedCtor() {
37268   _cached_size_ = 0;
37269   across_channels_ = false;
37270   normalize_variance_ = true;
37271   eps_ = 1e-09f;
37272 }
37273
37274 MVNParameter::~MVNParameter() {
37275   // @@protoc_insertion_point(destructor:opencv_caffe.MVNParameter)
37276   SharedDtor();
37277 }
37278
37279 void MVNParameter::SharedDtor() {
37280 }
37281
37282 void MVNParameter::SetCachedSize(int size) const {
37283   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
37284   _cached_size_ = size;
37285   GOOGLE_SAFE_CONCURRENT_WRITES_END();
37286 }
37287 const ::google::protobuf::Descriptor* MVNParameter::descriptor() {
37288   protobuf_AssignDescriptorsOnce();
37289   return MVNParameter_descriptor_;
37290 }
37291
37292 const MVNParameter& MVNParameter::default_instance() {
37293   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
37294   return *internal_default_instance();
37295 }
37296
37297 ::google::protobuf::internal::ExplicitlyConstructed<MVNParameter> MVNParameter_default_instance_;
37298
37299 MVNParameter* MVNParameter::New(::google::protobuf::Arena* arena) const {
37300   MVNParameter* n = new MVNParameter;
37301   if (arena != NULL) {
37302     arena->Own(n);
37303   }
37304   return n;
37305 }
37306
37307 void MVNParameter::Clear() {
37308 // @@protoc_insertion_point(message_clear_start:opencv_caffe.MVNParameter)
37309   if (_has_bits_[0 / 32] & 7u) {
37310     normalize_variance_ = true;
37311     across_channels_ = false;
37312     eps_ = 1e-09f;
37313   }
37314   _has_bits_.Clear();
37315   if (_internal_metadata_.have_unknown_fields()) {
37316     mutable_unknown_fields()->Clear();
37317   }
37318 }
37319
37320 bool MVNParameter::MergePartialFromCodedStream(
37321     ::google::protobuf::io::CodedInputStream* input) {
37322 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
37323   ::google::protobuf::uint32 tag;
37324   // @@protoc_insertion_point(parse_start:opencv_caffe.MVNParameter)
37325   for (;;) {
37326     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
37327     tag = p.first;
37328     if (!p.second) goto handle_unusual;
37329     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
37330       // optional bool normalize_variance = 1 [default = true];
37331       case 1: {
37332         if (tag == 8) {
37333           set_has_normalize_variance();
37334           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
37335                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
37336                  input, &normalize_variance_)));
37337         } else {
37338           goto handle_unusual;
37339         }
37340         if (input->ExpectTag(16)) goto parse_across_channels;
37341         break;
37342       }
37343
37344       // optional bool across_channels = 2 [default = false];
37345       case 2: {
37346         if (tag == 16) {
37347          parse_across_channels:
37348           set_has_across_channels();
37349           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
37350                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
37351                  input, &across_channels_)));
37352         } else {
37353           goto handle_unusual;
37354         }
37355         if (input->ExpectTag(29)) goto parse_eps;
37356         break;
37357       }
37358
37359       // optional float eps = 3 [default = 1e-09];
37360       case 3: {
37361         if (tag == 29) {
37362          parse_eps:
37363           set_has_eps();
37364           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
37365                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
37366                  input, &eps_)));
37367         } else {
37368           goto handle_unusual;
37369         }
37370         if (input->ExpectAtEnd()) goto success;
37371         break;
37372       }
37373
37374       default: {
37375       handle_unusual:
37376         if (tag == 0 ||
37377             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
37378             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
37379           goto success;
37380         }
37381         DO_(::google::protobuf::internal::WireFormat::SkipField(
37382               input, tag, mutable_unknown_fields()));
37383         break;
37384       }
37385     }
37386   }
37387 success:
37388   // @@protoc_insertion_point(parse_success:opencv_caffe.MVNParameter)
37389   return true;
37390 failure:
37391   // @@protoc_insertion_point(parse_failure:opencv_caffe.MVNParameter)
37392   return false;
37393 #undef DO_
37394 }
37395
37396 void MVNParameter::SerializeWithCachedSizes(
37397     ::google::protobuf::io::CodedOutputStream* output) const {
37398   // @@protoc_insertion_point(serialize_start:opencv_caffe.MVNParameter)
37399   // optional bool normalize_variance = 1 [default = true];
37400   if (has_normalize_variance()) {
37401     ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->normalize_variance(), output);
37402   }
37403
37404   // optional bool across_channels = 2 [default = false];
37405   if (has_across_channels()) {
37406     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->across_channels(), output);
37407   }
37408
37409   // optional float eps = 3 [default = 1e-09];
37410   if (has_eps()) {
37411     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->eps(), output);
37412   }
37413
37414   if (_internal_metadata_.have_unknown_fields()) {
37415     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
37416         unknown_fields(), output);
37417   }
37418   // @@protoc_insertion_point(serialize_end:opencv_caffe.MVNParameter)
37419 }
37420
37421 ::google::protobuf::uint8* MVNParameter::InternalSerializeWithCachedSizesToArray(
37422     bool deterministic, ::google::protobuf::uint8* target) const {
37423   (void)deterministic; // Unused
37424   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.MVNParameter)
37425   // optional bool normalize_variance = 1 [default = true];
37426   if (has_normalize_variance()) {
37427     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->normalize_variance(), target);
37428   }
37429
37430   // optional bool across_channels = 2 [default = false];
37431   if (has_across_channels()) {
37432     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->across_channels(), target);
37433   }
37434
37435   // optional float eps = 3 [default = 1e-09];
37436   if (has_eps()) {
37437     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->eps(), target);
37438   }
37439
37440   if (_internal_metadata_.have_unknown_fields()) {
37441     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
37442         unknown_fields(), target);
37443   }
37444   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.MVNParameter)
37445   return target;
37446 }
37447
37448 size_t MVNParameter::ByteSizeLong() const {
37449 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.MVNParameter)
37450   size_t total_size = 0;
37451
37452   if (_has_bits_[0 / 32] & 7u) {
37453     // optional bool normalize_variance = 1 [default = true];
37454     if (has_normalize_variance()) {
37455       total_size += 1 + 1;
37456     }
37457
37458     // optional bool across_channels = 2 [default = false];
37459     if (has_across_channels()) {
37460       total_size += 1 + 1;
37461     }
37462
37463     // optional float eps = 3 [default = 1e-09];
37464     if (has_eps()) {
37465       total_size += 1 + 4;
37466     }
37467
37468   }
37469   if (_internal_metadata_.have_unknown_fields()) {
37470     total_size +=
37471       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
37472         unknown_fields());
37473   }
37474   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
37475   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
37476   _cached_size_ = cached_size;
37477   GOOGLE_SAFE_CONCURRENT_WRITES_END();
37478   return total_size;
37479 }
37480
37481 void MVNParameter::MergeFrom(const ::google::protobuf::Message& from) {
37482 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.MVNParameter)
37483   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
37484   const MVNParameter* source =
37485       ::google::protobuf::internal::DynamicCastToGenerated<const MVNParameter>(
37486           &from);
37487   if (source == NULL) {
37488   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.MVNParameter)
37489     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
37490   } else {
37491   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.MVNParameter)
37492     UnsafeMergeFrom(*source);
37493   }
37494 }
37495
37496 void MVNParameter::MergeFrom(const MVNParameter& from) {
37497 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.MVNParameter)
37498   if (GOOGLE_PREDICT_TRUE(&from != this)) {
37499     UnsafeMergeFrom(from);
37500   } else {
37501     MergeFromFail(__LINE__);
37502   }
37503 }
37504
37505 void MVNParameter::UnsafeMergeFrom(const MVNParameter& from) {
37506   GOOGLE_DCHECK(&from != this);
37507   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
37508     if (from.has_normalize_variance()) {
37509       set_normalize_variance(from.normalize_variance());
37510     }
37511     if (from.has_across_channels()) {
37512       set_across_channels(from.across_channels());
37513     }
37514     if (from.has_eps()) {
37515       set_eps(from.eps());
37516     }
37517   }
37518   if (from._internal_metadata_.have_unknown_fields()) {
37519     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
37520       from.unknown_fields(), &_internal_metadata_);
37521   }
37522 }
37523
37524 void MVNParameter::CopyFrom(const ::google::protobuf::Message& from) {
37525 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.MVNParameter)
37526   if (&from == this) return;
37527   Clear();
37528   MergeFrom(from);
37529 }
37530
37531 void MVNParameter::CopyFrom(const MVNParameter& from) {
37532 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.MVNParameter)
37533   if (&from == this) return;
37534   Clear();
37535   UnsafeMergeFrom(from);
37536 }
37537
37538 bool MVNParameter::IsInitialized() const {
37539
37540   return true;
37541 }
37542
37543 void MVNParameter::Swap(MVNParameter* other) {
37544   if (other == this) return;
37545   InternalSwap(other);
37546 }
37547 void MVNParameter::InternalSwap(MVNParameter* other) {
37548   std::swap(normalize_variance_, other->normalize_variance_);
37549   std::swap(across_channels_, other->across_channels_);
37550   std::swap(eps_, other->eps_);
37551   std::swap(_has_bits_[0], other->_has_bits_[0]);
37552   _internal_metadata_.Swap(&other->_internal_metadata_);
37553   std::swap(_cached_size_, other->_cached_size_);
37554 }
37555
37556 ::google::protobuf::Metadata MVNParameter::GetMetadata() const {
37557   protobuf_AssignDescriptorsOnce();
37558   ::google::protobuf::Metadata metadata;
37559   metadata.descriptor = MVNParameter_descriptor_;
37560   metadata.reflection = MVNParameter_reflection_;
37561   return metadata;
37562 }
37563
37564 #if PROTOBUF_INLINE_NOT_IN_HEADERS
37565 // MVNParameter
37566
37567 // optional bool normalize_variance = 1 [default = true];
37568 bool MVNParameter::has_normalize_variance() const {
37569   return (_has_bits_[0] & 0x00000001u) != 0;
37570 }
37571 void MVNParameter::set_has_normalize_variance() {
37572   _has_bits_[0] |= 0x00000001u;
37573 }
37574 void MVNParameter::clear_has_normalize_variance() {
37575   _has_bits_[0] &= ~0x00000001u;
37576 }
37577 void MVNParameter::clear_normalize_variance() {
37578   normalize_variance_ = true;
37579   clear_has_normalize_variance();
37580 }
37581 bool MVNParameter::normalize_variance() const {
37582   // @@protoc_insertion_point(field_get:opencv_caffe.MVNParameter.normalize_variance)
37583   return normalize_variance_;
37584 }
37585 void MVNParameter::set_normalize_variance(bool value) {
37586   set_has_normalize_variance();
37587   normalize_variance_ = value;
37588   // @@protoc_insertion_point(field_set:opencv_caffe.MVNParameter.normalize_variance)
37589 }
37590
37591 // optional bool across_channels = 2 [default = false];
37592 bool MVNParameter::has_across_channels() const {
37593   return (_has_bits_[0] & 0x00000002u) != 0;
37594 }
37595 void MVNParameter::set_has_across_channels() {
37596   _has_bits_[0] |= 0x00000002u;
37597 }
37598 void MVNParameter::clear_has_across_channels() {
37599   _has_bits_[0] &= ~0x00000002u;
37600 }
37601 void MVNParameter::clear_across_channels() {
37602   across_channels_ = false;
37603   clear_has_across_channels();
37604 }
37605 bool MVNParameter::across_channels() const {
37606   // @@protoc_insertion_point(field_get:opencv_caffe.MVNParameter.across_channels)
37607   return across_channels_;
37608 }
37609 void MVNParameter::set_across_channels(bool value) {
37610   set_has_across_channels();
37611   across_channels_ = value;
37612   // @@protoc_insertion_point(field_set:opencv_caffe.MVNParameter.across_channels)
37613 }
37614
37615 // optional float eps = 3 [default = 1e-09];
37616 bool MVNParameter::has_eps() const {
37617   return (_has_bits_[0] & 0x00000004u) != 0;
37618 }
37619 void MVNParameter::set_has_eps() {
37620   _has_bits_[0] |= 0x00000004u;
37621 }
37622 void MVNParameter::clear_has_eps() {
37623   _has_bits_[0] &= ~0x00000004u;
37624 }
37625 void MVNParameter::clear_eps() {
37626   eps_ = 1e-09f;
37627   clear_has_eps();
37628 }
37629 float MVNParameter::eps() const {
37630   // @@protoc_insertion_point(field_get:opencv_caffe.MVNParameter.eps)
37631   return eps_;
37632 }
37633 void MVNParameter::set_eps(float value) {
37634   set_has_eps();
37635   eps_ = value;
37636   // @@protoc_insertion_point(field_set:opencv_caffe.MVNParameter.eps)
37637 }
37638
37639 inline const MVNParameter* MVNParameter::internal_default_instance() {
37640   return &MVNParameter_default_instance_.get();
37641 }
37642 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
37643
37644 // ===================================================================
37645
37646 #if !defined(_MSC_VER) || _MSC_VER >= 1900
37647 const int ParameterParameter::kShapeFieldNumber;
37648 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
37649
37650 ParameterParameter::ParameterParameter()
37651   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
37652   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
37653   SharedCtor();
37654   // @@protoc_insertion_point(constructor:opencv_caffe.ParameterParameter)
37655 }
37656
37657 void ParameterParameter::InitAsDefaultInstance() {
37658   shape_ = const_cast< ::opencv_caffe::BlobShape*>(
37659       ::opencv_caffe::BlobShape::internal_default_instance());
37660 }
37661
37662 ParameterParameter::ParameterParameter(const ParameterParameter& from)
37663   : ::google::protobuf::Message(),
37664     _internal_metadata_(NULL) {
37665   SharedCtor();
37666   UnsafeMergeFrom(from);
37667   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ParameterParameter)
37668 }
37669
37670 void ParameterParameter::SharedCtor() {
37671   _cached_size_ = 0;
37672   shape_ = NULL;
37673 }
37674
37675 ParameterParameter::~ParameterParameter() {
37676   // @@protoc_insertion_point(destructor:opencv_caffe.ParameterParameter)
37677   SharedDtor();
37678 }
37679
37680 void ParameterParameter::SharedDtor() {
37681   if (this != &ParameterParameter_default_instance_.get()) {
37682     delete shape_;
37683   }
37684 }
37685
37686 void ParameterParameter::SetCachedSize(int size) const {
37687   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
37688   _cached_size_ = size;
37689   GOOGLE_SAFE_CONCURRENT_WRITES_END();
37690 }
37691 const ::google::protobuf::Descriptor* ParameterParameter::descriptor() {
37692   protobuf_AssignDescriptorsOnce();
37693   return ParameterParameter_descriptor_;
37694 }
37695
37696 const ParameterParameter& ParameterParameter::default_instance() {
37697   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
37698   return *internal_default_instance();
37699 }
37700
37701 ::google::protobuf::internal::ExplicitlyConstructed<ParameterParameter> ParameterParameter_default_instance_;
37702
37703 ParameterParameter* ParameterParameter::New(::google::protobuf::Arena* arena) const {
37704   ParameterParameter* n = new ParameterParameter;
37705   if (arena != NULL) {
37706     arena->Own(n);
37707   }
37708   return n;
37709 }
37710
37711 void ParameterParameter::Clear() {
37712 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ParameterParameter)
37713   if (has_shape()) {
37714     if (shape_ != NULL) shape_->::opencv_caffe::BlobShape::Clear();
37715   }
37716   _has_bits_.Clear();
37717   if (_internal_metadata_.have_unknown_fields()) {
37718     mutable_unknown_fields()->Clear();
37719   }
37720 }
37721
37722 bool ParameterParameter::MergePartialFromCodedStream(
37723     ::google::protobuf::io::CodedInputStream* input) {
37724 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
37725   ::google::protobuf::uint32 tag;
37726   // @@protoc_insertion_point(parse_start:opencv_caffe.ParameterParameter)
37727   for (;;) {
37728     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
37729     tag = p.first;
37730     if (!p.second) goto handle_unusual;
37731     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
37732       // optional .opencv_caffe.BlobShape shape = 1;
37733       case 1: {
37734         if (tag == 10) {
37735           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
37736                input, mutable_shape()));
37737         } else {
37738           goto handle_unusual;
37739         }
37740         if (input->ExpectAtEnd()) goto success;
37741         break;
37742       }
37743
37744       default: {
37745       handle_unusual:
37746         if (tag == 0 ||
37747             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
37748             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
37749           goto success;
37750         }
37751         DO_(::google::protobuf::internal::WireFormat::SkipField(
37752               input, tag, mutable_unknown_fields()));
37753         break;
37754       }
37755     }
37756   }
37757 success:
37758   // @@protoc_insertion_point(parse_success:opencv_caffe.ParameterParameter)
37759   return true;
37760 failure:
37761   // @@protoc_insertion_point(parse_failure:opencv_caffe.ParameterParameter)
37762   return false;
37763 #undef DO_
37764 }
37765
37766 void ParameterParameter::SerializeWithCachedSizes(
37767     ::google::protobuf::io::CodedOutputStream* output) const {
37768   // @@protoc_insertion_point(serialize_start:opencv_caffe.ParameterParameter)
37769   // optional .opencv_caffe.BlobShape shape = 1;
37770   if (has_shape()) {
37771     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
37772       1, *this->shape_, output);
37773   }
37774
37775   if (_internal_metadata_.have_unknown_fields()) {
37776     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
37777         unknown_fields(), output);
37778   }
37779   // @@protoc_insertion_point(serialize_end:opencv_caffe.ParameterParameter)
37780 }
37781
37782 ::google::protobuf::uint8* ParameterParameter::InternalSerializeWithCachedSizesToArray(
37783     bool deterministic, ::google::protobuf::uint8* target) const {
37784   (void)deterministic; // Unused
37785   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ParameterParameter)
37786   // optional .opencv_caffe.BlobShape shape = 1;
37787   if (has_shape()) {
37788     target = ::google::protobuf::internal::WireFormatLite::
37789       InternalWriteMessageNoVirtualToArray(
37790         1, *this->shape_, false, target);
37791   }
37792
37793   if (_internal_metadata_.have_unknown_fields()) {
37794     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
37795         unknown_fields(), target);
37796   }
37797   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ParameterParameter)
37798   return target;
37799 }
37800
37801 size_t ParameterParameter::ByteSizeLong() const {
37802 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ParameterParameter)
37803   size_t total_size = 0;
37804
37805   // optional .opencv_caffe.BlobShape shape = 1;
37806   if (has_shape()) {
37807     total_size += 1 +
37808       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
37809         *this->shape_);
37810   }
37811
37812   if (_internal_metadata_.have_unknown_fields()) {
37813     total_size +=
37814       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
37815         unknown_fields());
37816   }
37817   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
37818   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
37819   _cached_size_ = cached_size;
37820   GOOGLE_SAFE_CONCURRENT_WRITES_END();
37821   return total_size;
37822 }
37823
37824 void ParameterParameter::MergeFrom(const ::google::protobuf::Message& from) {
37825 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ParameterParameter)
37826   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
37827   const ParameterParameter* source =
37828       ::google::protobuf::internal::DynamicCastToGenerated<const ParameterParameter>(
37829           &from);
37830   if (source == NULL) {
37831   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ParameterParameter)
37832     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
37833   } else {
37834   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ParameterParameter)
37835     UnsafeMergeFrom(*source);
37836   }
37837 }
37838
37839 void ParameterParameter::MergeFrom(const ParameterParameter& from) {
37840 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ParameterParameter)
37841   if (GOOGLE_PREDICT_TRUE(&from != this)) {
37842     UnsafeMergeFrom(from);
37843   } else {
37844     MergeFromFail(__LINE__);
37845   }
37846 }
37847
37848 void ParameterParameter::UnsafeMergeFrom(const ParameterParameter& from) {
37849   GOOGLE_DCHECK(&from != this);
37850   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
37851     if (from.has_shape()) {
37852       mutable_shape()->::opencv_caffe::BlobShape::MergeFrom(from.shape());
37853     }
37854   }
37855   if (from._internal_metadata_.have_unknown_fields()) {
37856     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
37857       from.unknown_fields(), &_internal_metadata_);
37858   }
37859 }
37860
37861 void ParameterParameter::CopyFrom(const ::google::protobuf::Message& from) {
37862 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ParameterParameter)
37863   if (&from == this) return;
37864   Clear();
37865   MergeFrom(from);
37866 }
37867
37868 void ParameterParameter::CopyFrom(const ParameterParameter& from) {
37869 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ParameterParameter)
37870   if (&from == this) return;
37871   Clear();
37872   UnsafeMergeFrom(from);
37873 }
37874
37875 bool ParameterParameter::IsInitialized() const {
37876
37877   return true;
37878 }
37879
37880 void ParameterParameter::Swap(ParameterParameter* other) {
37881   if (other == this) return;
37882   InternalSwap(other);
37883 }
37884 void ParameterParameter::InternalSwap(ParameterParameter* other) {
37885   std::swap(shape_, other->shape_);
37886   std::swap(_has_bits_[0], other->_has_bits_[0]);
37887   _internal_metadata_.Swap(&other->_internal_metadata_);
37888   std::swap(_cached_size_, other->_cached_size_);
37889 }
37890
37891 ::google::protobuf::Metadata ParameterParameter::GetMetadata() const {
37892   protobuf_AssignDescriptorsOnce();
37893   ::google::protobuf::Metadata metadata;
37894   metadata.descriptor = ParameterParameter_descriptor_;
37895   metadata.reflection = ParameterParameter_reflection_;
37896   return metadata;
37897 }
37898
37899 #if PROTOBUF_INLINE_NOT_IN_HEADERS
37900 // ParameterParameter
37901
37902 // optional .opencv_caffe.BlobShape shape = 1;
37903 bool ParameterParameter::has_shape() const {
37904   return (_has_bits_[0] & 0x00000001u) != 0;
37905 }
37906 void ParameterParameter::set_has_shape() {
37907   _has_bits_[0] |= 0x00000001u;
37908 }
37909 void ParameterParameter::clear_has_shape() {
37910   _has_bits_[0] &= ~0x00000001u;
37911 }
37912 void ParameterParameter::clear_shape() {
37913   if (shape_ != NULL) shape_->::opencv_caffe::BlobShape::Clear();
37914   clear_has_shape();
37915 }
37916 const ::opencv_caffe::BlobShape& ParameterParameter::shape() const {
37917   // @@protoc_insertion_point(field_get:opencv_caffe.ParameterParameter.shape)
37918   return shape_ != NULL ? *shape_
37919                          : *::opencv_caffe::BlobShape::internal_default_instance();
37920 }
37921 ::opencv_caffe::BlobShape* ParameterParameter::mutable_shape() {
37922   set_has_shape();
37923   if (shape_ == NULL) {
37924     shape_ = new ::opencv_caffe::BlobShape;
37925   }
37926   // @@protoc_insertion_point(field_mutable:opencv_caffe.ParameterParameter.shape)
37927   return shape_;
37928 }
37929 ::opencv_caffe::BlobShape* ParameterParameter::release_shape() {
37930   // @@protoc_insertion_point(field_release:opencv_caffe.ParameterParameter.shape)
37931   clear_has_shape();
37932   ::opencv_caffe::BlobShape* temp = shape_;
37933   shape_ = NULL;
37934   return temp;
37935 }
37936 void ParameterParameter::set_allocated_shape(::opencv_caffe::BlobShape* shape) {
37937   delete shape_;
37938   shape_ = shape;
37939   if (shape) {
37940     set_has_shape();
37941   } else {
37942     clear_has_shape();
37943   }
37944   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ParameterParameter.shape)
37945 }
37946
37947 inline const ParameterParameter* ParameterParameter::internal_default_instance() {
37948   return &ParameterParameter_default_instance_.get();
37949 }
37950 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
37951
37952 // ===================================================================
37953
37954 const ::google::protobuf::EnumDescriptor* PoolingParameter_PoolMethod_descriptor() {
37955   protobuf_AssignDescriptorsOnce();
37956   return PoolingParameter_PoolMethod_descriptor_;
37957 }
37958 bool PoolingParameter_PoolMethod_IsValid(int value) {
37959   switch (value) {
37960     case 0:
37961     case 1:
37962     case 2:
37963       return true;
37964     default:
37965       return false;
37966   }
37967 }
37968
37969 #if !defined(_MSC_VER) || _MSC_VER >= 1900
37970 const PoolingParameter_PoolMethod PoolingParameter::MAX;
37971 const PoolingParameter_PoolMethod PoolingParameter::AVE;
37972 const PoolingParameter_PoolMethod PoolingParameter::STOCHASTIC;
37973 const PoolingParameter_PoolMethod PoolingParameter::PoolMethod_MIN;
37974 const PoolingParameter_PoolMethod PoolingParameter::PoolMethod_MAX;
37975 const int PoolingParameter::PoolMethod_ARRAYSIZE;
37976 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
37977 const ::google::protobuf::EnumDescriptor* PoolingParameter_Engine_descriptor() {
37978   protobuf_AssignDescriptorsOnce();
37979   return PoolingParameter_Engine_descriptor_;
37980 }
37981 bool PoolingParameter_Engine_IsValid(int value) {
37982   switch (value) {
37983     case 0:
37984     case 1:
37985     case 2:
37986       return true;
37987     default:
37988       return false;
37989   }
37990 }
37991
37992 #if !defined(_MSC_VER) || _MSC_VER >= 1900
37993 const PoolingParameter_Engine PoolingParameter::DEFAULT;
37994 const PoolingParameter_Engine PoolingParameter::CAFFE;
37995 const PoolingParameter_Engine PoolingParameter::CUDNN;
37996 const PoolingParameter_Engine PoolingParameter::Engine_MIN;
37997 const PoolingParameter_Engine PoolingParameter::Engine_MAX;
37998 const int PoolingParameter::Engine_ARRAYSIZE;
37999 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
38000 #if !defined(_MSC_VER) || _MSC_VER >= 1900
38001 const int PoolingParameter::kPoolFieldNumber;
38002 const int PoolingParameter::kPadFieldNumber;
38003 const int PoolingParameter::kPadHFieldNumber;
38004 const int PoolingParameter::kPadWFieldNumber;
38005 const int PoolingParameter::kKernelSizeFieldNumber;
38006 const int PoolingParameter::kKernelHFieldNumber;
38007 const int PoolingParameter::kKernelWFieldNumber;
38008 const int PoolingParameter::kStrideFieldNumber;
38009 const int PoolingParameter::kStrideHFieldNumber;
38010 const int PoolingParameter::kStrideWFieldNumber;
38011 const int PoolingParameter::kEngineFieldNumber;
38012 const int PoolingParameter::kGlobalPoolingFieldNumber;
38013 const int PoolingParameter::kCeilModeFieldNumber;
38014 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
38015
38016 PoolingParameter::PoolingParameter()
38017   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
38018   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
38019   SharedCtor();
38020   // @@protoc_insertion_point(constructor:opencv_caffe.PoolingParameter)
38021 }
38022
38023 void PoolingParameter::InitAsDefaultInstance() {
38024 }
38025
38026 PoolingParameter::PoolingParameter(const PoolingParameter& from)
38027   : ::google::protobuf::Message(),
38028     _internal_metadata_(NULL) {
38029   SharedCtor();
38030   UnsafeMergeFrom(from);
38031   // @@protoc_insertion_point(copy_constructor:opencv_caffe.PoolingParameter)
38032 }
38033
38034 void PoolingParameter::SharedCtor() {
38035   _cached_size_ = 0;
38036   ::memset(&pool_, 0, reinterpret_cast<char*>(&global_pooling_) -
38037     reinterpret_cast<char*>(&pool_) + sizeof(global_pooling_));
38038   stride_ = 1u;
38039   ceil_mode_ = true;
38040 }
38041
38042 PoolingParameter::~PoolingParameter() {
38043   // @@protoc_insertion_point(destructor:opencv_caffe.PoolingParameter)
38044   SharedDtor();
38045 }
38046
38047 void PoolingParameter::SharedDtor() {
38048 }
38049
38050 void PoolingParameter::SetCachedSize(int size) const {
38051   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
38052   _cached_size_ = size;
38053   GOOGLE_SAFE_CONCURRENT_WRITES_END();
38054 }
38055 const ::google::protobuf::Descriptor* PoolingParameter::descriptor() {
38056   protobuf_AssignDescriptorsOnce();
38057   return PoolingParameter_descriptor_;
38058 }
38059
38060 const PoolingParameter& PoolingParameter::default_instance() {
38061   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
38062   return *internal_default_instance();
38063 }
38064
38065 ::google::protobuf::internal::ExplicitlyConstructed<PoolingParameter> PoolingParameter_default_instance_;
38066
38067 PoolingParameter* PoolingParameter::New(::google::protobuf::Arena* arena) const {
38068   PoolingParameter* n = new PoolingParameter;
38069   if (arena != NULL) {
38070     arena->Own(n);
38071   }
38072   return n;
38073 }
38074
38075 void PoolingParameter::Clear() {
38076 // @@protoc_insertion_point(message_clear_start:opencv_caffe.PoolingParameter)
38077 #if defined(__clang__)
38078 #define ZR_HELPER_(f) \
38079   _Pragma("clang diagnostic push") \
38080   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
38081   __builtin_offsetof(PoolingParameter, f) \
38082   _Pragma("clang diagnostic pop")
38083 #else
38084 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
38085   &reinterpret_cast<PoolingParameter*>(16)->f)
38086 #endif
38087
38088 #define ZR_(first, last) do {\
38089   ::memset(&(first), 0,\
38090            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
38091 } while (0)
38092
38093   if (_has_bits_[0 / 32] & 255u) {
38094     ZR_(pool_, kernel_w_);
38095     stride_ = 1u;
38096   }
38097   if (_has_bits_[8 / 32] & 7936u) {
38098     ZR_(stride_h_, global_pooling_);
38099     ceil_mode_ = true;
38100   }
38101
38102 #undef ZR_HELPER_
38103 #undef ZR_
38104
38105   _has_bits_.Clear();
38106   if (_internal_metadata_.have_unknown_fields()) {
38107     mutable_unknown_fields()->Clear();
38108   }
38109 }
38110
38111 bool PoolingParameter::MergePartialFromCodedStream(
38112     ::google::protobuf::io::CodedInputStream* input) {
38113 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
38114   ::google::protobuf::uint32 tag;
38115   // @@protoc_insertion_point(parse_start:opencv_caffe.PoolingParameter)
38116   for (;;) {
38117     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
38118     tag = p.first;
38119     if (!p.second) goto handle_unusual;
38120     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
38121       // optional .opencv_caffe.PoolingParameter.PoolMethod pool = 1 [default = MAX];
38122       case 1: {
38123         if (tag == 8) {
38124           int value;
38125           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38126                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
38127                  input, &value)));
38128           if (::opencv_caffe::PoolingParameter_PoolMethod_IsValid(value)) {
38129             set_pool(static_cast< ::opencv_caffe::PoolingParameter_PoolMethod >(value));
38130           } else {
38131             mutable_unknown_fields()->AddVarint(1, value);
38132           }
38133         } else {
38134           goto handle_unusual;
38135         }
38136         if (input->ExpectTag(16)) goto parse_kernel_size;
38137         break;
38138       }
38139
38140       // optional uint32 kernel_size = 2;
38141       case 2: {
38142         if (tag == 16) {
38143          parse_kernel_size:
38144           set_has_kernel_size();
38145           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38146                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
38147                  input, &kernel_size_)));
38148         } else {
38149           goto handle_unusual;
38150         }
38151         if (input->ExpectTag(24)) goto parse_stride;
38152         break;
38153       }
38154
38155       // optional uint32 stride = 3 [default = 1];
38156       case 3: {
38157         if (tag == 24) {
38158          parse_stride:
38159           set_has_stride();
38160           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38161                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
38162                  input, &stride_)));
38163         } else {
38164           goto handle_unusual;
38165         }
38166         if (input->ExpectTag(32)) goto parse_pad;
38167         break;
38168       }
38169
38170       // optional uint32 pad = 4 [default = 0];
38171       case 4: {
38172         if (tag == 32) {
38173          parse_pad:
38174           set_has_pad();
38175           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38176                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
38177                  input, &pad_)));
38178         } else {
38179           goto handle_unusual;
38180         }
38181         if (input->ExpectTag(40)) goto parse_kernel_h;
38182         break;
38183       }
38184
38185       // optional uint32 kernel_h = 5;
38186       case 5: {
38187         if (tag == 40) {
38188          parse_kernel_h:
38189           set_has_kernel_h();
38190           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38191                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
38192                  input, &kernel_h_)));
38193         } else {
38194           goto handle_unusual;
38195         }
38196         if (input->ExpectTag(48)) goto parse_kernel_w;
38197         break;
38198       }
38199
38200       // optional uint32 kernel_w = 6;
38201       case 6: {
38202         if (tag == 48) {
38203          parse_kernel_w:
38204           set_has_kernel_w();
38205           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38206                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
38207                  input, &kernel_w_)));
38208         } else {
38209           goto handle_unusual;
38210         }
38211         if (input->ExpectTag(56)) goto parse_stride_h;
38212         break;
38213       }
38214
38215       // optional uint32 stride_h = 7;
38216       case 7: {
38217         if (tag == 56) {
38218          parse_stride_h:
38219           set_has_stride_h();
38220           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38221                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
38222                  input, &stride_h_)));
38223         } else {
38224           goto handle_unusual;
38225         }
38226         if (input->ExpectTag(64)) goto parse_stride_w;
38227         break;
38228       }
38229
38230       // optional uint32 stride_w = 8;
38231       case 8: {
38232         if (tag == 64) {
38233          parse_stride_w:
38234           set_has_stride_w();
38235           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38236                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
38237                  input, &stride_w_)));
38238         } else {
38239           goto handle_unusual;
38240         }
38241         if (input->ExpectTag(72)) goto parse_pad_h;
38242         break;
38243       }
38244
38245       // optional uint32 pad_h = 9 [default = 0];
38246       case 9: {
38247         if (tag == 72) {
38248          parse_pad_h:
38249           set_has_pad_h();
38250           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38251                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
38252                  input, &pad_h_)));
38253         } else {
38254           goto handle_unusual;
38255         }
38256         if (input->ExpectTag(80)) goto parse_pad_w;
38257         break;
38258       }
38259
38260       // optional uint32 pad_w = 10 [default = 0];
38261       case 10: {
38262         if (tag == 80) {
38263          parse_pad_w:
38264           set_has_pad_w();
38265           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38266                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
38267                  input, &pad_w_)));
38268         } else {
38269           goto handle_unusual;
38270         }
38271         if (input->ExpectTag(88)) goto parse_engine;
38272         break;
38273       }
38274
38275       // optional .opencv_caffe.PoolingParameter.Engine engine = 11 [default = DEFAULT];
38276       case 11: {
38277         if (tag == 88) {
38278          parse_engine:
38279           int value;
38280           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38281                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
38282                  input, &value)));
38283           if (::opencv_caffe::PoolingParameter_Engine_IsValid(value)) {
38284             set_engine(static_cast< ::opencv_caffe::PoolingParameter_Engine >(value));
38285           } else {
38286             mutable_unknown_fields()->AddVarint(11, value);
38287           }
38288         } else {
38289           goto handle_unusual;
38290         }
38291         if (input->ExpectTag(96)) goto parse_global_pooling;
38292         break;
38293       }
38294
38295       // optional bool global_pooling = 12 [default = false];
38296       case 12: {
38297         if (tag == 96) {
38298          parse_global_pooling:
38299           set_has_global_pooling();
38300           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38301                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
38302                  input, &global_pooling_)));
38303         } else {
38304           goto handle_unusual;
38305         }
38306         if (input->ExpectTag(104)) goto parse_ceil_mode;
38307         break;
38308       }
38309
38310       // optional bool ceil_mode = 13 [default = true];
38311       case 13: {
38312         if (tag == 104) {
38313          parse_ceil_mode:
38314           set_has_ceil_mode();
38315           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38316                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
38317                  input, &ceil_mode_)));
38318         } else {
38319           goto handle_unusual;
38320         }
38321         if (input->ExpectAtEnd()) goto success;
38322         break;
38323       }
38324
38325       default: {
38326       handle_unusual:
38327         if (tag == 0 ||
38328             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
38329             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
38330           goto success;
38331         }
38332         DO_(::google::protobuf::internal::WireFormat::SkipField(
38333               input, tag, mutable_unknown_fields()));
38334         break;
38335       }
38336     }
38337   }
38338 success:
38339   // @@protoc_insertion_point(parse_success:opencv_caffe.PoolingParameter)
38340   return true;
38341 failure:
38342   // @@protoc_insertion_point(parse_failure:opencv_caffe.PoolingParameter)
38343   return false;
38344 #undef DO_
38345 }
38346
38347 void PoolingParameter::SerializeWithCachedSizes(
38348     ::google::protobuf::io::CodedOutputStream* output) const {
38349   // @@protoc_insertion_point(serialize_start:opencv_caffe.PoolingParameter)
38350   // optional .opencv_caffe.PoolingParameter.PoolMethod pool = 1 [default = MAX];
38351   if (has_pool()) {
38352     ::google::protobuf::internal::WireFormatLite::WriteEnum(
38353       1, this->pool(), output);
38354   }
38355
38356   // optional uint32 kernel_size = 2;
38357   if (has_kernel_size()) {
38358     ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->kernel_size(), output);
38359   }
38360
38361   // optional uint32 stride = 3 [default = 1];
38362   if (has_stride()) {
38363     ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->stride(), output);
38364   }
38365
38366   // optional uint32 pad = 4 [default = 0];
38367   if (has_pad()) {
38368     ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->pad(), output);
38369   }
38370
38371   // optional uint32 kernel_h = 5;
38372   if (has_kernel_h()) {
38373     ::google::protobuf::internal::WireFormatLite::WriteUInt32(5, this->kernel_h(), output);
38374   }
38375
38376   // optional uint32 kernel_w = 6;
38377   if (has_kernel_w()) {
38378     ::google::protobuf::internal::WireFormatLite::WriteUInt32(6, this->kernel_w(), output);
38379   }
38380
38381   // optional uint32 stride_h = 7;
38382   if (has_stride_h()) {
38383     ::google::protobuf::internal::WireFormatLite::WriteUInt32(7, this->stride_h(), output);
38384   }
38385
38386   // optional uint32 stride_w = 8;
38387   if (has_stride_w()) {
38388     ::google::protobuf::internal::WireFormatLite::WriteUInt32(8, this->stride_w(), output);
38389   }
38390
38391   // optional uint32 pad_h = 9 [default = 0];
38392   if (has_pad_h()) {
38393     ::google::protobuf::internal::WireFormatLite::WriteUInt32(9, this->pad_h(), output);
38394   }
38395
38396   // optional uint32 pad_w = 10 [default = 0];
38397   if (has_pad_w()) {
38398     ::google::protobuf::internal::WireFormatLite::WriteUInt32(10, this->pad_w(), output);
38399   }
38400
38401   // optional .opencv_caffe.PoolingParameter.Engine engine = 11 [default = DEFAULT];
38402   if (has_engine()) {
38403     ::google::protobuf::internal::WireFormatLite::WriteEnum(
38404       11, this->engine(), output);
38405   }
38406
38407   // optional bool global_pooling = 12 [default = false];
38408   if (has_global_pooling()) {
38409     ::google::protobuf::internal::WireFormatLite::WriteBool(12, this->global_pooling(), output);
38410   }
38411
38412   // optional bool ceil_mode = 13 [default = true];
38413   if (has_ceil_mode()) {
38414     ::google::protobuf::internal::WireFormatLite::WriteBool(13, this->ceil_mode(), output);
38415   }
38416
38417   if (_internal_metadata_.have_unknown_fields()) {
38418     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
38419         unknown_fields(), output);
38420   }
38421   // @@protoc_insertion_point(serialize_end:opencv_caffe.PoolingParameter)
38422 }
38423
38424 ::google::protobuf::uint8* PoolingParameter::InternalSerializeWithCachedSizesToArray(
38425     bool deterministic, ::google::protobuf::uint8* target) const {
38426   (void)deterministic; // Unused
38427   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.PoolingParameter)
38428   // optional .opencv_caffe.PoolingParameter.PoolMethod pool = 1 [default = MAX];
38429   if (has_pool()) {
38430     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
38431       1, this->pool(), target);
38432   }
38433
38434   // optional uint32 kernel_size = 2;
38435   if (has_kernel_size()) {
38436     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->kernel_size(), target);
38437   }
38438
38439   // optional uint32 stride = 3 [default = 1];
38440   if (has_stride()) {
38441     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(3, this->stride(), target);
38442   }
38443
38444   // optional uint32 pad = 4 [default = 0];
38445   if (has_pad()) {
38446     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(4, this->pad(), target);
38447   }
38448
38449   // optional uint32 kernel_h = 5;
38450   if (has_kernel_h()) {
38451     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(5, this->kernel_h(), target);
38452   }
38453
38454   // optional uint32 kernel_w = 6;
38455   if (has_kernel_w()) {
38456     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(6, this->kernel_w(), target);
38457   }
38458
38459   // optional uint32 stride_h = 7;
38460   if (has_stride_h()) {
38461     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(7, this->stride_h(), target);
38462   }
38463
38464   // optional uint32 stride_w = 8;
38465   if (has_stride_w()) {
38466     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(8, this->stride_w(), target);
38467   }
38468
38469   // optional uint32 pad_h = 9 [default = 0];
38470   if (has_pad_h()) {
38471     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(9, this->pad_h(), target);
38472   }
38473
38474   // optional uint32 pad_w = 10 [default = 0];
38475   if (has_pad_w()) {
38476     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(10, this->pad_w(), target);
38477   }
38478
38479   // optional .opencv_caffe.PoolingParameter.Engine engine = 11 [default = DEFAULT];
38480   if (has_engine()) {
38481     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
38482       11, this->engine(), target);
38483   }
38484
38485   // optional bool global_pooling = 12 [default = false];
38486   if (has_global_pooling()) {
38487     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(12, this->global_pooling(), target);
38488   }
38489
38490   // optional bool ceil_mode = 13 [default = true];
38491   if (has_ceil_mode()) {
38492     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(13, this->ceil_mode(), target);
38493   }
38494
38495   if (_internal_metadata_.have_unknown_fields()) {
38496     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
38497         unknown_fields(), target);
38498   }
38499   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.PoolingParameter)
38500   return target;
38501 }
38502
38503 size_t PoolingParameter::ByteSizeLong() const {
38504 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.PoolingParameter)
38505   size_t total_size = 0;
38506
38507   if (_has_bits_[0 / 32] & 255u) {
38508     // optional .opencv_caffe.PoolingParameter.PoolMethod pool = 1 [default = MAX];
38509     if (has_pool()) {
38510       total_size += 1 +
38511         ::google::protobuf::internal::WireFormatLite::EnumSize(this->pool());
38512     }
38513
38514     // optional uint32 pad = 4 [default = 0];
38515     if (has_pad()) {
38516       total_size += 1 +
38517         ::google::protobuf::internal::WireFormatLite::UInt32Size(
38518           this->pad());
38519     }
38520
38521     // optional uint32 pad_h = 9 [default = 0];
38522     if (has_pad_h()) {
38523       total_size += 1 +
38524         ::google::protobuf::internal::WireFormatLite::UInt32Size(
38525           this->pad_h());
38526     }
38527
38528     // optional uint32 pad_w = 10 [default = 0];
38529     if (has_pad_w()) {
38530       total_size += 1 +
38531         ::google::protobuf::internal::WireFormatLite::UInt32Size(
38532           this->pad_w());
38533     }
38534
38535     // optional uint32 kernel_size = 2;
38536     if (has_kernel_size()) {
38537       total_size += 1 +
38538         ::google::protobuf::internal::WireFormatLite::UInt32Size(
38539           this->kernel_size());
38540     }
38541
38542     // optional uint32 kernel_h = 5;
38543     if (has_kernel_h()) {
38544       total_size += 1 +
38545         ::google::protobuf::internal::WireFormatLite::UInt32Size(
38546           this->kernel_h());
38547     }
38548
38549     // optional uint32 kernel_w = 6;
38550     if (has_kernel_w()) {
38551       total_size += 1 +
38552         ::google::protobuf::internal::WireFormatLite::UInt32Size(
38553           this->kernel_w());
38554     }
38555
38556     // optional uint32 stride = 3 [default = 1];
38557     if (has_stride()) {
38558       total_size += 1 +
38559         ::google::protobuf::internal::WireFormatLite::UInt32Size(
38560           this->stride());
38561     }
38562
38563   }
38564   if (_has_bits_[8 / 32] & 7936u) {
38565     // optional uint32 stride_h = 7;
38566     if (has_stride_h()) {
38567       total_size += 1 +
38568         ::google::protobuf::internal::WireFormatLite::UInt32Size(
38569           this->stride_h());
38570     }
38571
38572     // optional uint32 stride_w = 8;
38573     if (has_stride_w()) {
38574       total_size += 1 +
38575         ::google::protobuf::internal::WireFormatLite::UInt32Size(
38576           this->stride_w());
38577     }
38578
38579     // optional .opencv_caffe.PoolingParameter.Engine engine = 11 [default = DEFAULT];
38580     if (has_engine()) {
38581       total_size += 1 +
38582         ::google::protobuf::internal::WireFormatLite::EnumSize(this->engine());
38583     }
38584
38585     // optional bool global_pooling = 12 [default = false];
38586     if (has_global_pooling()) {
38587       total_size += 1 + 1;
38588     }
38589
38590     // optional bool ceil_mode = 13 [default = true];
38591     if (has_ceil_mode()) {
38592       total_size += 1 + 1;
38593     }
38594
38595   }
38596   if (_internal_metadata_.have_unknown_fields()) {
38597     total_size +=
38598       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
38599         unknown_fields());
38600   }
38601   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
38602   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
38603   _cached_size_ = cached_size;
38604   GOOGLE_SAFE_CONCURRENT_WRITES_END();
38605   return total_size;
38606 }
38607
38608 void PoolingParameter::MergeFrom(const ::google::protobuf::Message& from) {
38609 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.PoolingParameter)
38610   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
38611   const PoolingParameter* source =
38612       ::google::protobuf::internal::DynamicCastToGenerated<const PoolingParameter>(
38613           &from);
38614   if (source == NULL) {
38615   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.PoolingParameter)
38616     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
38617   } else {
38618   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.PoolingParameter)
38619     UnsafeMergeFrom(*source);
38620   }
38621 }
38622
38623 void PoolingParameter::MergeFrom(const PoolingParameter& from) {
38624 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.PoolingParameter)
38625   if (GOOGLE_PREDICT_TRUE(&from != this)) {
38626     UnsafeMergeFrom(from);
38627   } else {
38628     MergeFromFail(__LINE__);
38629   }
38630 }
38631
38632 void PoolingParameter::UnsafeMergeFrom(const PoolingParameter& from) {
38633   GOOGLE_DCHECK(&from != this);
38634   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
38635     if (from.has_pool()) {
38636       set_pool(from.pool());
38637     }
38638     if (from.has_pad()) {
38639       set_pad(from.pad());
38640     }
38641     if (from.has_pad_h()) {
38642       set_pad_h(from.pad_h());
38643     }
38644     if (from.has_pad_w()) {
38645       set_pad_w(from.pad_w());
38646     }
38647     if (from.has_kernel_size()) {
38648       set_kernel_size(from.kernel_size());
38649     }
38650     if (from.has_kernel_h()) {
38651       set_kernel_h(from.kernel_h());
38652     }
38653     if (from.has_kernel_w()) {
38654       set_kernel_w(from.kernel_w());
38655     }
38656     if (from.has_stride()) {
38657       set_stride(from.stride());
38658     }
38659   }
38660   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
38661     if (from.has_stride_h()) {
38662       set_stride_h(from.stride_h());
38663     }
38664     if (from.has_stride_w()) {
38665       set_stride_w(from.stride_w());
38666     }
38667     if (from.has_engine()) {
38668       set_engine(from.engine());
38669     }
38670     if (from.has_global_pooling()) {
38671       set_global_pooling(from.global_pooling());
38672     }
38673     if (from.has_ceil_mode()) {
38674       set_ceil_mode(from.ceil_mode());
38675     }
38676   }
38677   if (from._internal_metadata_.have_unknown_fields()) {
38678     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
38679       from.unknown_fields(), &_internal_metadata_);
38680   }
38681 }
38682
38683 void PoolingParameter::CopyFrom(const ::google::protobuf::Message& from) {
38684 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.PoolingParameter)
38685   if (&from == this) return;
38686   Clear();
38687   MergeFrom(from);
38688 }
38689
38690 void PoolingParameter::CopyFrom(const PoolingParameter& from) {
38691 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.PoolingParameter)
38692   if (&from == this) return;
38693   Clear();
38694   UnsafeMergeFrom(from);
38695 }
38696
38697 bool PoolingParameter::IsInitialized() const {
38698
38699   return true;
38700 }
38701
38702 void PoolingParameter::Swap(PoolingParameter* other) {
38703   if (other == this) return;
38704   InternalSwap(other);
38705 }
38706 void PoolingParameter::InternalSwap(PoolingParameter* other) {
38707   std::swap(pool_, other->pool_);
38708   std::swap(pad_, other->pad_);
38709   std::swap(pad_h_, other->pad_h_);
38710   std::swap(pad_w_, other->pad_w_);
38711   std::swap(kernel_size_, other->kernel_size_);
38712   std::swap(kernel_h_, other->kernel_h_);
38713   std::swap(kernel_w_, other->kernel_w_);
38714   std::swap(stride_, other->stride_);
38715   std::swap(stride_h_, other->stride_h_);
38716   std::swap(stride_w_, other->stride_w_);
38717   std::swap(engine_, other->engine_);
38718   std::swap(global_pooling_, other->global_pooling_);
38719   std::swap(ceil_mode_, other->ceil_mode_);
38720   std::swap(_has_bits_[0], other->_has_bits_[0]);
38721   _internal_metadata_.Swap(&other->_internal_metadata_);
38722   std::swap(_cached_size_, other->_cached_size_);
38723 }
38724
38725 ::google::protobuf::Metadata PoolingParameter::GetMetadata() const {
38726   protobuf_AssignDescriptorsOnce();
38727   ::google::protobuf::Metadata metadata;
38728   metadata.descriptor = PoolingParameter_descriptor_;
38729   metadata.reflection = PoolingParameter_reflection_;
38730   return metadata;
38731 }
38732
38733 #if PROTOBUF_INLINE_NOT_IN_HEADERS
38734 // PoolingParameter
38735
38736 // optional .opencv_caffe.PoolingParameter.PoolMethod pool = 1 [default = MAX];
38737 bool PoolingParameter::has_pool() const {
38738   return (_has_bits_[0] & 0x00000001u) != 0;
38739 }
38740 void PoolingParameter::set_has_pool() {
38741   _has_bits_[0] |= 0x00000001u;
38742 }
38743 void PoolingParameter::clear_has_pool() {
38744   _has_bits_[0] &= ~0x00000001u;
38745 }
38746 void PoolingParameter::clear_pool() {
38747   pool_ = 0;
38748   clear_has_pool();
38749 }
38750 ::opencv_caffe::PoolingParameter_PoolMethod PoolingParameter::pool() const {
38751   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.pool)
38752   return static_cast< ::opencv_caffe::PoolingParameter_PoolMethod >(pool_);
38753 }
38754 void PoolingParameter::set_pool(::opencv_caffe::PoolingParameter_PoolMethod value) {
38755   assert(::opencv_caffe::PoolingParameter_PoolMethod_IsValid(value));
38756   set_has_pool();
38757   pool_ = value;
38758   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.pool)
38759 }
38760
38761 // optional uint32 pad = 4 [default = 0];
38762 bool PoolingParameter::has_pad() const {
38763   return (_has_bits_[0] & 0x00000002u) != 0;
38764 }
38765 void PoolingParameter::set_has_pad() {
38766   _has_bits_[0] |= 0x00000002u;
38767 }
38768 void PoolingParameter::clear_has_pad() {
38769   _has_bits_[0] &= ~0x00000002u;
38770 }
38771 void PoolingParameter::clear_pad() {
38772   pad_ = 0u;
38773   clear_has_pad();
38774 }
38775 ::google::protobuf::uint32 PoolingParameter::pad() const {
38776   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.pad)
38777   return pad_;
38778 }
38779 void PoolingParameter::set_pad(::google::protobuf::uint32 value) {
38780   set_has_pad();
38781   pad_ = value;
38782   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.pad)
38783 }
38784
38785 // optional uint32 pad_h = 9 [default = 0];
38786 bool PoolingParameter::has_pad_h() const {
38787   return (_has_bits_[0] & 0x00000004u) != 0;
38788 }
38789 void PoolingParameter::set_has_pad_h() {
38790   _has_bits_[0] |= 0x00000004u;
38791 }
38792 void PoolingParameter::clear_has_pad_h() {
38793   _has_bits_[0] &= ~0x00000004u;
38794 }
38795 void PoolingParameter::clear_pad_h() {
38796   pad_h_ = 0u;
38797   clear_has_pad_h();
38798 }
38799 ::google::protobuf::uint32 PoolingParameter::pad_h() const {
38800   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.pad_h)
38801   return pad_h_;
38802 }
38803 void PoolingParameter::set_pad_h(::google::protobuf::uint32 value) {
38804   set_has_pad_h();
38805   pad_h_ = value;
38806   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.pad_h)
38807 }
38808
38809 // optional uint32 pad_w = 10 [default = 0];
38810 bool PoolingParameter::has_pad_w() const {
38811   return (_has_bits_[0] & 0x00000008u) != 0;
38812 }
38813 void PoolingParameter::set_has_pad_w() {
38814   _has_bits_[0] |= 0x00000008u;
38815 }
38816 void PoolingParameter::clear_has_pad_w() {
38817   _has_bits_[0] &= ~0x00000008u;
38818 }
38819 void PoolingParameter::clear_pad_w() {
38820   pad_w_ = 0u;
38821   clear_has_pad_w();
38822 }
38823 ::google::protobuf::uint32 PoolingParameter::pad_w() const {
38824   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.pad_w)
38825   return pad_w_;
38826 }
38827 void PoolingParameter::set_pad_w(::google::protobuf::uint32 value) {
38828   set_has_pad_w();
38829   pad_w_ = value;
38830   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.pad_w)
38831 }
38832
38833 // optional uint32 kernel_size = 2;
38834 bool PoolingParameter::has_kernel_size() const {
38835   return (_has_bits_[0] & 0x00000010u) != 0;
38836 }
38837 void PoolingParameter::set_has_kernel_size() {
38838   _has_bits_[0] |= 0x00000010u;
38839 }
38840 void PoolingParameter::clear_has_kernel_size() {
38841   _has_bits_[0] &= ~0x00000010u;
38842 }
38843 void PoolingParameter::clear_kernel_size() {
38844   kernel_size_ = 0u;
38845   clear_has_kernel_size();
38846 }
38847 ::google::protobuf::uint32 PoolingParameter::kernel_size() const {
38848   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.kernel_size)
38849   return kernel_size_;
38850 }
38851 void PoolingParameter::set_kernel_size(::google::protobuf::uint32 value) {
38852   set_has_kernel_size();
38853   kernel_size_ = value;
38854   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.kernel_size)
38855 }
38856
38857 // optional uint32 kernel_h = 5;
38858 bool PoolingParameter::has_kernel_h() const {
38859   return (_has_bits_[0] & 0x00000020u) != 0;
38860 }
38861 void PoolingParameter::set_has_kernel_h() {
38862   _has_bits_[0] |= 0x00000020u;
38863 }
38864 void PoolingParameter::clear_has_kernel_h() {
38865   _has_bits_[0] &= ~0x00000020u;
38866 }
38867 void PoolingParameter::clear_kernel_h() {
38868   kernel_h_ = 0u;
38869   clear_has_kernel_h();
38870 }
38871 ::google::protobuf::uint32 PoolingParameter::kernel_h() const {
38872   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.kernel_h)
38873   return kernel_h_;
38874 }
38875 void PoolingParameter::set_kernel_h(::google::protobuf::uint32 value) {
38876   set_has_kernel_h();
38877   kernel_h_ = value;
38878   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.kernel_h)
38879 }
38880
38881 // optional uint32 kernel_w = 6;
38882 bool PoolingParameter::has_kernel_w() const {
38883   return (_has_bits_[0] & 0x00000040u) != 0;
38884 }
38885 void PoolingParameter::set_has_kernel_w() {
38886   _has_bits_[0] |= 0x00000040u;
38887 }
38888 void PoolingParameter::clear_has_kernel_w() {
38889   _has_bits_[0] &= ~0x00000040u;
38890 }
38891 void PoolingParameter::clear_kernel_w() {
38892   kernel_w_ = 0u;
38893   clear_has_kernel_w();
38894 }
38895 ::google::protobuf::uint32 PoolingParameter::kernel_w() const {
38896   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.kernel_w)
38897   return kernel_w_;
38898 }
38899 void PoolingParameter::set_kernel_w(::google::protobuf::uint32 value) {
38900   set_has_kernel_w();
38901   kernel_w_ = value;
38902   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.kernel_w)
38903 }
38904
38905 // optional uint32 stride = 3 [default = 1];
38906 bool PoolingParameter::has_stride() const {
38907   return (_has_bits_[0] & 0x00000080u) != 0;
38908 }
38909 void PoolingParameter::set_has_stride() {
38910   _has_bits_[0] |= 0x00000080u;
38911 }
38912 void PoolingParameter::clear_has_stride() {
38913   _has_bits_[0] &= ~0x00000080u;
38914 }
38915 void PoolingParameter::clear_stride() {
38916   stride_ = 1u;
38917   clear_has_stride();
38918 }
38919 ::google::protobuf::uint32 PoolingParameter::stride() const {
38920   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.stride)
38921   return stride_;
38922 }
38923 void PoolingParameter::set_stride(::google::protobuf::uint32 value) {
38924   set_has_stride();
38925   stride_ = value;
38926   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.stride)
38927 }
38928
38929 // optional uint32 stride_h = 7;
38930 bool PoolingParameter::has_stride_h() const {
38931   return (_has_bits_[0] & 0x00000100u) != 0;
38932 }
38933 void PoolingParameter::set_has_stride_h() {
38934   _has_bits_[0] |= 0x00000100u;
38935 }
38936 void PoolingParameter::clear_has_stride_h() {
38937   _has_bits_[0] &= ~0x00000100u;
38938 }
38939 void PoolingParameter::clear_stride_h() {
38940   stride_h_ = 0u;
38941   clear_has_stride_h();
38942 }
38943 ::google::protobuf::uint32 PoolingParameter::stride_h() const {
38944   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.stride_h)
38945   return stride_h_;
38946 }
38947 void PoolingParameter::set_stride_h(::google::protobuf::uint32 value) {
38948   set_has_stride_h();
38949   stride_h_ = value;
38950   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.stride_h)
38951 }
38952
38953 // optional uint32 stride_w = 8;
38954 bool PoolingParameter::has_stride_w() const {
38955   return (_has_bits_[0] & 0x00000200u) != 0;
38956 }
38957 void PoolingParameter::set_has_stride_w() {
38958   _has_bits_[0] |= 0x00000200u;
38959 }
38960 void PoolingParameter::clear_has_stride_w() {
38961   _has_bits_[0] &= ~0x00000200u;
38962 }
38963 void PoolingParameter::clear_stride_w() {
38964   stride_w_ = 0u;
38965   clear_has_stride_w();
38966 }
38967 ::google::protobuf::uint32 PoolingParameter::stride_w() const {
38968   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.stride_w)
38969   return stride_w_;
38970 }
38971 void PoolingParameter::set_stride_w(::google::protobuf::uint32 value) {
38972   set_has_stride_w();
38973   stride_w_ = value;
38974   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.stride_w)
38975 }
38976
38977 // optional .opencv_caffe.PoolingParameter.Engine engine = 11 [default = DEFAULT];
38978 bool PoolingParameter::has_engine() const {
38979   return (_has_bits_[0] & 0x00000400u) != 0;
38980 }
38981 void PoolingParameter::set_has_engine() {
38982   _has_bits_[0] |= 0x00000400u;
38983 }
38984 void PoolingParameter::clear_has_engine() {
38985   _has_bits_[0] &= ~0x00000400u;
38986 }
38987 void PoolingParameter::clear_engine() {
38988   engine_ = 0;
38989   clear_has_engine();
38990 }
38991 ::opencv_caffe::PoolingParameter_Engine PoolingParameter::engine() const {
38992   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.engine)
38993   return static_cast< ::opencv_caffe::PoolingParameter_Engine >(engine_);
38994 }
38995 void PoolingParameter::set_engine(::opencv_caffe::PoolingParameter_Engine value) {
38996   assert(::opencv_caffe::PoolingParameter_Engine_IsValid(value));
38997   set_has_engine();
38998   engine_ = value;
38999   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.engine)
39000 }
39001
39002 // optional bool global_pooling = 12 [default = false];
39003 bool PoolingParameter::has_global_pooling() const {
39004   return (_has_bits_[0] & 0x00000800u) != 0;
39005 }
39006 void PoolingParameter::set_has_global_pooling() {
39007   _has_bits_[0] |= 0x00000800u;
39008 }
39009 void PoolingParameter::clear_has_global_pooling() {
39010   _has_bits_[0] &= ~0x00000800u;
39011 }
39012 void PoolingParameter::clear_global_pooling() {
39013   global_pooling_ = false;
39014   clear_has_global_pooling();
39015 }
39016 bool PoolingParameter::global_pooling() const {
39017   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.global_pooling)
39018   return global_pooling_;
39019 }
39020 void PoolingParameter::set_global_pooling(bool value) {
39021   set_has_global_pooling();
39022   global_pooling_ = value;
39023   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.global_pooling)
39024 }
39025
39026 // optional bool ceil_mode = 13 [default = true];
39027 bool PoolingParameter::has_ceil_mode() const {
39028   return (_has_bits_[0] & 0x00001000u) != 0;
39029 }
39030 void PoolingParameter::set_has_ceil_mode() {
39031   _has_bits_[0] |= 0x00001000u;
39032 }
39033 void PoolingParameter::clear_has_ceil_mode() {
39034   _has_bits_[0] &= ~0x00001000u;
39035 }
39036 void PoolingParameter::clear_ceil_mode() {
39037   ceil_mode_ = true;
39038   clear_has_ceil_mode();
39039 }
39040 bool PoolingParameter::ceil_mode() const {
39041   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.ceil_mode)
39042   return ceil_mode_;
39043 }
39044 void PoolingParameter::set_ceil_mode(bool value) {
39045   set_has_ceil_mode();
39046   ceil_mode_ = value;
39047   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.ceil_mode)
39048 }
39049
39050 inline const PoolingParameter* PoolingParameter::internal_default_instance() {
39051   return &PoolingParameter_default_instance_.get();
39052 }
39053 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
39054
39055 // ===================================================================
39056
39057 #if !defined(_MSC_VER) || _MSC_VER >= 1900
39058 const int PowerParameter::kPowerFieldNumber;
39059 const int PowerParameter::kScaleFieldNumber;
39060 const int PowerParameter::kShiftFieldNumber;
39061 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
39062
39063 PowerParameter::PowerParameter()
39064   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
39065   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
39066   SharedCtor();
39067   // @@protoc_insertion_point(constructor:opencv_caffe.PowerParameter)
39068 }
39069
39070 void PowerParameter::InitAsDefaultInstance() {
39071 }
39072
39073 PowerParameter::PowerParameter(const PowerParameter& from)
39074   : ::google::protobuf::Message(),
39075     _internal_metadata_(NULL) {
39076   SharedCtor();
39077   UnsafeMergeFrom(from);
39078   // @@protoc_insertion_point(copy_constructor:opencv_caffe.PowerParameter)
39079 }
39080
39081 void PowerParameter::SharedCtor() {
39082   _cached_size_ = 0;
39083   shift_ = 0;
39084   power_ = 1;
39085   scale_ = 1;
39086 }
39087
39088 PowerParameter::~PowerParameter() {
39089   // @@protoc_insertion_point(destructor:opencv_caffe.PowerParameter)
39090   SharedDtor();
39091 }
39092
39093 void PowerParameter::SharedDtor() {
39094 }
39095
39096 void PowerParameter::SetCachedSize(int size) const {
39097   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
39098   _cached_size_ = size;
39099   GOOGLE_SAFE_CONCURRENT_WRITES_END();
39100 }
39101 const ::google::protobuf::Descriptor* PowerParameter::descriptor() {
39102   protobuf_AssignDescriptorsOnce();
39103   return PowerParameter_descriptor_;
39104 }
39105
39106 const PowerParameter& PowerParameter::default_instance() {
39107   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
39108   return *internal_default_instance();
39109 }
39110
39111 ::google::protobuf::internal::ExplicitlyConstructed<PowerParameter> PowerParameter_default_instance_;
39112
39113 PowerParameter* PowerParameter::New(::google::protobuf::Arena* arena) const {
39114   PowerParameter* n = new PowerParameter;
39115   if (arena != NULL) {
39116     arena->Own(n);
39117   }
39118   return n;
39119 }
39120
39121 void PowerParameter::Clear() {
39122 // @@protoc_insertion_point(message_clear_start:opencv_caffe.PowerParameter)
39123   if (_has_bits_[0 / 32] & 7u) {
39124     power_ = 1;
39125     scale_ = 1;
39126     shift_ = 0;
39127   }
39128   _has_bits_.Clear();
39129   if (_internal_metadata_.have_unknown_fields()) {
39130     mutable_unknown_fields()->Clear();
39131   }
39132 }
39133
39134 bool PowerParameter::MergePartialFromCodedStream(
39135     ::google::protobuf::io::CodedInputStream* input) {
39136 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
39137   ::google::protobuf::uint32 tag;
39138   // @@protoc_insertion_point(parse_start:opencv_caffe.PowerParameter)
39139   for (;;) {
39140     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
39141     tag = p.first;
39142     if (!p.second) goto handle_unusual;
39143     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
39144       // optional float power = 1 [default = 1];
39145       case 1: {
39146         if (tag == 13) {
39147           set_has_power();
39148           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
39149                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
39150                  input, &power_)));
39151         } else {
39152           goto handle_unusual;
39153         }
39154         if (input->ExpectTag(21)) goto parse_scale;
39155         break;
39156       }
39157
39158       // optional float scale = 2 [default = 1];
39159       case 2: {
39160         if (tag == 21) {
39161          parse_scale:
39162           set_has_scale();
39163           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
39164                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
39165                  input, &scale_)));
39166         } else {
39167           goto handle_unusual;
39168         }
39169         if (input->ExpectTag(29)) goto parse_shift;
39170         break;
39171       }
39172
39173       // optional float shift = 3 [default = 0];
39174       case 3: {
39175         if (tag == 29) {
39176          parse_shift:
39177           set_has_shift();
39178           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
39179                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
39180                  input, &shift_)));
39181         } else {
39182           goto handle_unusual;
39183         }
39184         if (input->ExpectAtEnd()) goto success;
39185         break;
39186       }
39187
39188       default: {
39189       handle_unusual:
39190         if (tag == 0 ||
39191             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
39192             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
39193           goto success;
39194         }
39195         DO_(::google::protobuf::internal::WireFormat::SkipField(
39196               input, tag, mutable_unknown_fields()));
39197         break;
39198       }
39199     }
39200   }
39201 success:
39202   // @@protoc_insertion_point(parse_success:opencv_caffe.PowerParameter)
39203   return true;
39204 failure:
39205   // @@protoc_insertion_point(parse_failure:opencv_caffe.PowerParameter)
39206   return false;
39207 #undef DO_
39208 }
39209
39210 void PowerParameter::SerializeWithCachedSizes(
39211     ::google::protobuf::io::CodedOutputStream* output) const {
39212   // @@protoc_insertion_point(serialize_start:opencv_caffe.PowerParameter)
39213   // optional float power = 1 [default = 1];
39214   if (has_power()) {
39215     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->power(), output);
39216   }
39217
39218   // optional float scale = 2 [default = 1];
39219   if (has_scale()) {
39220     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->scale(), output);
39221   }
39222
39223   // optional float shift = 3 [default = 0];
39224   if (has_shift()) {
39225     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->shift(), output);
39226   }
39227
39228   if (_internal_metadata_.have_unknown_fields()) {
39229     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
39230         unknown_fields(), output);
39231   }
39232   // @@protoc_insertion_point(serialize_end:opencv_caffe.PowerParameter)
39233 }
39234
39235 ::google::protobuf::uint8* PowerParameter::InternalSerializeWithCachedSizesToArray(
39236     bool deterministic, ::google::protobuf::uint8* target) const {
39237   (void)deterministic; // Unused
39238   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.PowerParameter)
39239   // optional float power = 1 [default = 1];
39240   if (has_power()) {
39241     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->power(), target);
39242   }
39243
39244   // optional float scale = 2 [default = 1];
39245   if (has_scale()) {
39246     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->scale(), target);
39247   }
39248
39249   // optional float shift = 3 [default = 0];
39250   if (has_shift()) {
39251     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->shift(), target);
39252   }
39253
39254   if (_internal_metadata_.have_unknown_fields()) {
39255     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
39256         unknown_fields(), target);
39257   }
39258   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.PowerParameter)
39259   return target;
39260 }
39261
39262 size_t PowerParameter::ByteSizeLong() const {
39263 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.PowerParameter)
39264   size_t total_size = 0;
39265
39266   if (_has_bits_[0 / 32] & 7u) {
39267     // optional float power = 1 [default = 1];
39268     if (has_power()) {
39269       total_size += 1 + 4;
39270     }
39271
39272     // optional float scale = 2 [default = 1];
39273     if (has_scale()) {
39274       total_size += 1 + 4;
39275     }
39276
39277     // optional float shift = 3 [default = 0];
39278     if (has_shift()) {
39279       total_size += 1 + 4;
39280     }
39281
39282   }
39283   if (_internal_metadata_.have_unknown_fields()) {
39284     total_size +=
39285       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
39286         unknown_fields());
39287   }
39288   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
39289   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
39290   _cached_size_ = cached_size;
39291   GOOGLE_SAFE_CONCURRENT_WRITES_END();
39292   return total_size;
39293 }
39294
39295 void PowerParameter::MergeFrom(const ::google::protobuf::Message& from) {
39296 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.PowerParameter)
39297   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
39298   const PowerParameter* source =
39299       ::google::protobuf::internal::DynamicCastToGenerated<const PowerParameter>(
39300           &from);
39301   if (source == NULL) {
39302   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.PowerParameter)
39303     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
39304   } else {
39305   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.PowerParameter)
39306     UnsafeMergeFrom(*source);
39307   }
39308 }
39309
39310 void PowerParameter::MergeFrom(const PowerParameter& from) {
39311 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.PowerParameter)
39312   if (GOOGLE_PREDICT_TRUE(&from != this)) {
39313     UnsafeMergeFrom(from);
39314   } else {
39315     MergeFromFail(__LINE__);
39316   }
39317 }
39318
39319 void PowerParameter::UnsafeMergeFrom(const PowerParameter& from) {
39320   GOOGLE_DCHECK(&from != this);
39321   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
39322     if (from.has_power()) {
39323       set_power(from.power());
39324     }
39325     if (from.has_scale()) {
39326       set_scale(from.scale());
39327     }
39328     if (from.has_shift()) {
39329       set_shift(from.shift());
39330     }
39331   }
39332   if (from._internal_metadata_.have_unknown_fields()) {
39333     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
39334       from.unknown_fields(), &_internal_metadata_);
39335   }
39336 }
39337
39338 void PowerParameter::CopyFrom(const ::google::protobuf::Message& from) {
39339 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.PowerParameter)
39340   if (&from == this) return;
39341   Clear();
39342   MergeFrom(from);
39343 }
39344
39345 void PowerParameter::CopyFrom(const PowerParameter& from) {
39346 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.PowerParameter)
39347   if (&from == this) return;
39348   Clear();
39349   UnsafeMergeFrom(from);
39350 }
39351
39352 bool PowerParameter::IsInitialized() const {
39353
39354   return true;
39355 }
39356
39357 void PowerParameter::Swap(PowerParameter* other) {
39358   if (other == this) return;
39359   InternalSwap(other);
39360 }
39361 void PowerParameter::InternalSwap(PowerParameter* other) {
39362   std::swap(power_, other->power_);
39363   std::swap(scale_, other->scale_);
39364   std::swap(shift_, other->shift_);
39365   std::swap(_has_bits_[0], other->_has_bits_[0]);
39366   _internal_metadata_.Swap(&other->_internal_metadata_);
39367   std::swap(_cached_size_, other->_cached_size_);
39368 }
39369
39370 ::google::protobuf::Metadata PowerParameter::GetMetadata() const {
39371   protobuf_AssignDescriptorsOnce();
39372   ::google::protobuf::Metadata metadata;
39373   metadata.descriptor = PowerParameter_descriptor_;
39374   metadata.reflection = PowerParameter_reflection_;
39375   return metadata;
39376 }
39377
39378 #if PROTOBUF_INLINE_NOT_IN_HEADERS
39379 // PowerParameter
39380
39381 // optional float power = 1 [default = 1];
39382 bool PowerParameter::has_power() const {
39383   return (_has_bits_[0] & 0x00000001u) != 0;
39384 }
39385 void PowerParameter::set_has_power() {
39386   _has_bits_[0] |= 0x00000001u;
39387 }
39388 void PowerParameter::clear_has_power() {
39389   _has_bits_[0] &= ~0x00000001u;
39390 }
39391 void PowerParameter::clear_power() {
39392   power_ = 1;
39393   clear_has_power();
39394 }
39395 float PowerParameter::power() const {
39396   // @@protoc_insertion_point(field_get:opencv_caffe.PowerParameter.power)
39397   return power_;
39398 }
39399 void PowerParameter::set_power(float value) {
39400   set_has_power();
39401   power_ = value;
39402   // @@protoc_insertion_point(field_set:opencv_caffe.PowerParameter.power)
39403 }
39404
39405 // optional float scale = 2 [default = 1];
39406 bool PowerParameter::has_scale() const {
39407   return (_has_bits_[0] & 0x00000002u) != 0;
39408 }
39409 void PowerParameter::set_has_scale() {
39410   _has_bits_[0] |= 0x00000002u;
39411 }
39412 void PowerParameter::clear_has_scale() {
39413   _has_bits_[0] &= ~0x00000002u;
39414 }
39415 void PowerParameter::clear_scale() {
39416   scale_ = 1;
39417   clear_has_scale();
39418 }
39419 float PowerParameter::scale() const {
39420   // @@protoc_insertion_point(field_get:opencv_caffe.PowerParameter.scale)
39421   return scale_;
39422 }
39423 void PowerParameter::set_scale(float value) {
39424   set_has_scale();
39425   scale_ = value;
39426   // @@protoc_insertion_point(field_set:opencv_caffe.PowerParameter.scale)
39427 }
39428
39429 // optional float shift = 3 [default = 0];
39430 bool PowerParameter::has_shift() const {
39431   return (_has_bits_[0] & 0x00000004u) != 0;
39432 }
39433 void PowerParameter::set_has_shift() {
39434   _has_bits_[0] |= 0x00000004u;
39435 }
39436 void PowerParameter::clear_has_shift() {
39437   _has_bits_[0] &= ~0x00000004u;
39438 }
39439 void PowerParameter::clear_shift() {
39440   shift_ = 0;
39441   clear_has_shift();
39442 }
39443 float PowerParameter::shift() const {
39444   // @@protoc_insertion_point(field_get:opencv_caffe.PowerParameter.shift)
39445   return shift_;
39446 }
39447 void PowerParameter::set_shift(float value) {
39448   set_has_shift();
39449   shift_ = value;
39450   // @@protoc_insertion_point(field_set:opencv_caffe.PowerParameter.shift)
39451 }
39452
39453 inline const PowerParameter* PowerParameter::internal_default_instance() {
39454   return &PowerParameter_default_instance_.get();
39455 }
39456 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
39457
39458 // ===================================================================
39459
39460 #if !defined(_MSC_VER) || _MSC_VER >= 1900
39461 const int PythonParameter::kModuleFieldNumber;
39462 const int PythonParameter::kLayerFieldNumber;
39463 const int PythonParameter::kParamStrFieldNumber;
39464 const int PythonParameter::kShareInParallelFieldNumber;
39465 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
39466
39467 PythonParameter::PythonParameter()
39468   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
39469   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
39470   SharedCtor();
39471   // @@protoc_insertion_point(constructor:opencv_caffe.PythonParameter)
39472 }
39473
39474 void PythonParameter::InitAsDefaultInstance() {
39475 }
39476
39477 PythonParameter::PythonParameter(const PythonParameter& from)
39478   : ::google::protobuf::Message(),
39479     _internal_metadata_(NULL) {
39480   SharedCtor();
39481   UnsafeMergeFrom(from);
39482   // @@protoc_insertion_point(copy_constructor:opencv_caffe.PythonParameter)
39483 }
39484
39485 void PythonParameter::SharedCtor() {
39486   _cached_size_ = 0;
39487   module_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39488   layer_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39489   param_str_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39490   share_in_parallel_ = false;
39491 }
39492
39493 PythonParameter::~PythonParameter() {
39494   // @@protoc_insertion_point(destructor:opencv_caffe.PythonParameter)
39495   SharedDtor();
39496 }
39497
39498 void PythonParameter::SharedDtor() {
39499   module_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39500   layer_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39501   param_str_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39502 }
39503
39504 void PythonParameter::SetCachedSize(int size) const {
39505   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
39506   _cached_size_ = size;
39507   GOOGLE_SAFE_CONCURRENT_WRITES_END();
39508 }
39509 const ::google::protobuf::Descriptor* PythonParameter::descriptor() {
39510   protobuf_AssignDescriptorsOnce();
39511   return PythonParameter_descriptor_;
39512 }
39513
39514 const PythonParameter& PythonParameter::default_instance() {
39515   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
39516   return *internal_default_instance();
39517 }
39518
39519 ::google::protobuf::internal::ExplicitlyConstructed<PythonParameter> PythonParameter_default_instance_;
39520
39521 PythonParameter* PythonParameter::New(::google::protobuf::Arena* arena) const {
39522   PythonParameter* n = new PythonParameter;
39523   if (arena != NULL) {
39524     arena->Own(n);
39525   }
39526   return n;
39527 }
39528
39529 void PythonParameter::Clear() {
39530 // @@protoc_insertion_point(message_clear_start:opencv_caffe.PythonParameter)
39531   if (_has_bits_[0 / 32] & 15u) {
39532     if (has_module()) {
39533       module_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39534     }
39535     if (has_layer()) {
39536       layer_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39537     }
39538     if (has_param_str()) {
39539       param_str_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39540     }
39541     share_in_parallel_ = false;
39542   }
39543   _has_bits_.Clear();
39544   if (_internal_metadata_.have_unknown_fields()) {
39545     mutable_unknown_fields()->Clear();
39546   }
39547 }
39548
39549 bool PythonParameter::MergePartialFromCodedStream(
39550     ::google::protobuf::io::CodedInputStream* input) {
39551 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
39552   ::google::protobuf::uint32 tag;
39553   // @@protoc_insertion_point(parse_start:opencv_caffe.PythonParameter)
39554   for (;;) {
39555     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
39556     tag = p.first;
39557     if (!p.second) goto handle_unusual;
39558     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
39559       // optional string module = 1;
39560       case 1: {
39561         if (tag == 10) {
39562           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
39563                 input, this->mutable_module()));
39564           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
39565             this->module().data(), this->module().length(),
39566             ::google::protobuf::internal::WireFormat::PARSE,
39567             "opencv_caffe.PythonParameter.module");
39568         } else {
39569           goto handle_unusual;
39570         }
39571         if (input->ExpectTag(18)) goto parse_layer;
39572         break;
39573       }
39574
39575       // optional string layer = 2;
39576       case 2: {
39577         if (tag == 18) {
39578          parse_layer:
39579           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
39580                 input, this->mutable_layer()));
39581           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
39582             this->layer().data(), this->layer().length(),
39583             ::google::protobuf::internal::WireFormat::PARSE,
39584             "opencv_caffe.PythonParameter.layer");
39585         } else {
39586           goto handle_unusual;
39587         }
39588         if (input->ExpectTag(26)) goto parse_param_str;
39589         break;
39590       }
39591
39592       // optional string param_str = 3 [default = ""];
39593       case 3: {
39594         if (tag == 26) {
39595          parse_param_str:
39596           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
39597                 input, this->mutable_param_str()));
39598           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
39599             this->param_str().data(), this->param_str().length(),
39600             ::google::protobuf::internal::WireFormat::PARSE,
39601             "opencv_caffe.PythonParameter.param_str");
39602         } else {
39603           goto handle_unusual;
39604         }
39605         if (input->ExpectTag(32)) goto parse_share_in_parallel;
39606         break;
39607       }
39608
39609       // optional bool share_in_parallel = 4 [default = false];
39610       case 4: {
39611         if (tag == 32) {
39612          parse_share_in_parallel:
39613           set_has_share_in_parallel();
39614           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
39615                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
39616                  input, &share_in_parallel_)));
39617         } else {
39618           goto handle_unusual;
39619         }
39620         if (input->ExpectAtEnd()) goto success;
39621         break;
39622       }
39623
39624       default: {
39625       handle_unusual:
39626         if (tag == 0 ||
39627             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
39628             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
39629           goto success;
39630         }
39631         DO_(::google::protobuf::internal::WireFormat::SkipField(
39632               input, tag, mutable_unknown_fields()));
39633         break;
39634       }
39635     }
39636   }
39637 success:
39638   // @@protoc_insertion_point(parse_success:opencv_caffe.PythonParameter)
39639   return true;
39640 failure:
39641   // @@protoc_insertion_point(parse_failure:opencv_caffe.PythonParameter)
39642   return false;
39643 #undef DO_
39644 }
39645
39646 void PythonParameter::SerializeWithCachedSizes(
39647     ::google::protobuf::io::CodedOutputStream* output) const {
39648   // @@protoc_insertion_point(serialize_start:opencv_caffe.PythonParameter)
39649   // optional string module = 1;
39650   if (has_module()) {
39651     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
39652       this->module().data(), this->module().length(),
39653       ::google::protobuf::internal::WireFormat::SERIALIZE,
39654       "opencv_caffe.PythonParameter.module");
39655     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
39656       1, this->module(), output);
39657   }
39658
39659   // optional string layer = 2;
39660   if (has_layer()) {
39661     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
39662       this->layer().data(), this->layer().length(),
39663       ::google::protobuf::internal::WireFormat::SERIALIZE,
39664       "opencv_caffe.PythonParameter.layer");
39665     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
39666       2, this->layer(), output);
39667   }
39668
39669   // optional string param_str = 3 [default = ""];
39670   if (has_param_str()) {
39671     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
39672       this->param_str().data(), this->param_str().length(),
39673       ::google::protobuf::internal::WireFormat::SERIALIZE,
39674       "opencv_caffe.PythonParameter.param_str");
39675     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
39676       3, this->param_str(), output);
39677   }
39678
39679   // optional bool share_in_parallel = 4 [default = false];
39680   if (has_share_in_parallel()) {
39681     ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->share_in_parallel(), output);
39682   }
39683
39684   if (_internal_metadata_.have_unknown_fields()) {
39685     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
39686         unknown_fields(), output);
39687   }
39688   // @@protoc_insertion_point(serialize_end:opencv_caffe.PythonParameter)
39689 }
39690
39691 ::google::protobuf::uint8* PythonParameter::InternalSerializeWithCachedSizesToArray(
39692     bool deterministic, ::google::protobuf::uint8* target) const {
39693   (void)deterministic; // Unused
39694   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.PythonParameter)
39695   // optional string module = 1;
39696   if (has_module()) {
39697     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
39698       this->module().data(), this->module().length(),
39699       ::google::protobuf::internal::WireFormat::SERIALIZE,
39700       "opencv_caffe.PythonParameter.module");
39701     target =
39702       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
39703         1, this->module(), target);
39704   }
39705
39706   // optional string layer = 2;
39707   if (has_layer()) {
39708     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
39709       this->layer().data(), this->layer().length(),
39710       ::google::protobuf::internal::WireFormat::SERIALIZE,
39711       "opencv_caffe.PythonParameter.layer");
39712     target =
39713       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
39714         2, this->layer(), target);
39715   }
39716
39717   // optional string param_str = 3 [default = ""];
39718   if (has_param_str()) {
39719     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
39720       this->param_str().data(), this->param_str().length(),
39721       ::google::protobuf::internal::WireFormat::SERIALIZE,
39722       "opencv_caffe.PythonParameter.param_str");
39723     target =
39724       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
39725         3, this->param_str(), target);
39726   }
39727
39728   // optional bool share_in_parallel = 4 [default = false];
39729   if (has_share_in_parallel()) {
39730     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(4, this->share_in_parallel(), target);
39731   }
39732
39733   if (_internal_metadata_.have_unknown_fields()) {
39734     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
39735         unknown_fields(), target);
39736   }
39737   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.PythonParameter)
39738   return target;
39739 }
39740
39741 size_t PythonParameter::ByteSizeLong() const {
39742 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.PythonParameter)
39743   size_t total_size = 0;
39744
39745   if (_has_bits_[0 / 32] & 15u) {
39746     // optional string module = 1;
39747     if (has_module()) {
39748       total_size += 1 +
39749         ::google::protobuf::internal::WireFormatLite::StringSize(
39750           this->module());
39751     }
39752
39753     // optional string layer = 2;
39754     if (has_layer()) {
39755       total_size += 1 +
39756         ::google::protobuf::internal::WireFormatLite::StringSize(
39757           this->layer());
39758     }
39759
39760     // optional string param_str = 3 [default = ""];
39761     if (has_param_str()) {
39762       total_size += 1 +
39763         ::google::protobuf::internal::WireFormatLite::StringSize(
39764           this->param_str());
39765     }
39766
39767     // optional bool share_in_parallel = 4 [default = false];
39768     if (has_share_in_parallel()) {
39769       total_size += 1 + 1;
39770     }
39771
39772   }
39773   if (_internal_metadata_.have_unknown_fields()) {
39774     total_size +=
39775       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
39776         unknown_fields());
39777   }
39778   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
39779   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
39780   _cached_size_ = cached_size;
39781   GOOGLE_SAFE_CONCURRENT_WRITES_END();
39782   return total_size;
39783 }
39784
39785 void PythonParameter::MergeFrom(const ::google::protobuf::Message& from) {
39786 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.PythonParameter)
39787   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
39788   const PythonParameter* source =
39789       ::google::protobuf::internal::DynamicCastToGenerated<const PythonParameter>(
39790           &from);
39791   if (source == NULL) {
39792   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.PythonParameter)
39793     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
39794   } else {
39795   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.PythonParameter)
39796     UnsafeMergeFrom(*source);
39797   }
39798 }
39799
39800 void PythonParameter::MergeFrom(const PythonParameter& from) {
39801 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.PythonParameter)
39802   if (GOOGLE_PREDICT_TRUE(&from != this)) {
39803     UnsafeMergeFrom(from);
39804   } else {
39805     MergeFromFail(__LINE__);
39806   }
39807 }
39808
39809 void PythonParameter::UnsafeMergeFrom(const PythonParameter& from) {
39810   GOOGLE_DCHECK(&from != this);
39811   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
39812     if (from.has_module()) {
39813       set_has_module();
39814       module_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.module_);
39815     }
39816     if (from.has_layer()) {
39817       set_has_layer();
39818       layer_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.layer_);
39819     }
39820     if (from.has_param_str()) {
39821       set_has_param_str();
39822       param_str_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.param_str_);
39823     }
39824     if (from.has_share_in_parallel()) {
39825       set_share_in_parallel(from.share_in_parallel());
39826     }
39827   }
39828   if (from._internal_metadata_.have_unknown_fields()) {
39829     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
39830       from.unknown_fields(), &_internal_metadata_);
39831   }
39832 }
39833
39834 void PythonParameter::CopyFrom(const ::google::protobuf::Message& from) {
39835 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.PythonParameter)
39836   if (&from == this) return;
39837   Clear();
39838   MergeFrom(from);
39839 }
39840
39841 void PythonParameter::CopyFrom(const PythonParameter& from) {
39842 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.PythonParameter)
39843   if (&from == this) return;
39844   Clear();
39845   UnsafeMergeFrom(from);
39846 }
39847
39848 bool PythonParameter::IsInitialized() const {
39849
39850   return true;
39851 }
39852
39853 void PythonParameter::Swap(PythonParameter* other) {
39854   if (other == this) return;
39855   InternalSwap(other);
39856 }
39857 void PythonParameter::InternalSwap(PythonParameter* other) {
39858   module_.Swap(&other->module_);
39859   layer_.Swap(&other->layer_);
39860   param_str_.Swap(&other->param_str_);
39861   std::swap(share_in_parallel_, other->share_in_parallel_);
39862   std::swap(_has_bits_[0], other->_has_bits_[0]);
39863   _internal_metadata_.Swap(&other->_internal_metadata_);
39864   std::swap(_cached_size_, other->_cached_size_);
39865 }
39866
39867 ::google::protobuf::Metadata PythonParameter::GetMetadata() const {
39868   protobuf_AssignDescriptorsOnce();
39869   ::google::protobuf::Metadata metadata;
39870   metadata.descriptor = PythonParameter_descriptor_;
39871   metadata.reflection = PythonParameter_reflection_;
39872   return metadata;
39873 }
39874
39875 #if PROTOBUF_INLINE_NOT_IN_HEADERS
39876 // PythonParameter
39877
39878 // optional string module = 1;
39879 bool PythonParameter::has_module() const {
39880   return (_has_bits_[0] & 0x00000001u) != 0;
39881 }
39882 void PythonParameter::set_has_module() {
39883   _has_bits_[0] |= 0x00000001u;
39884 }
39885 void PythonParameter::clear_has_module() {
39886   _has_bits_[0] &= ~0x00000001u;
39887 }
39888 void PythonParameter::clear_module() {
39889   module_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39890   clear_has_module();
39891 }
39892 const ::std::string& PythonParameter::module() const {
39893   // @@protoc_insertion_point(field_get:opencv_caffe.PythonParameter.module)
39894   return module_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39895 }
39896 void PythonParameter::set_module(const ::std::string& value) {
39897   set_has_module();
39898   module_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
39899   // @@protoc_insertion_point(field_set:opencv_caffe.PythonParameter.module)
39900 }
39901 void PythonParameter::set_module(const char* value) {
39902   set_has_module();
39903   module_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
39904   // @@protoc_insertion_point(field_set_char:opencv_caffe.PythonParameter.module)
39905 }
39906 void PythonParameter::set_module(const char* value, size_t size) {
39907   set_has_module();
39908   module_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
39909       ::std::string(reinterpret_cast<const char*>(value), size));
39910   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.PythonParameter.module)
39911 }
39912 ::std::string* PythonParameter::mutable_module() {
39913   set_has_module();
39914   // @@protoc_insertion_point(field_mutable:opencv_caffe.PythonParameter.module)
39915   return module_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39916 }
39917 ::std::string* PythonParameter::release_module() {
39918   // @@protoc_insertion_point(field_release:opencv_caffe.PythonParameter.module)
39919   clear_has_module();
39920   return module_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39921 }
39922 void PythonParameter::set_allocated_module(::std::string* module) {
39923   if (module != NULL) {
39924     set_has_module();
39925   } else {
39926     clear_has_module();
39927   }
39928   module_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), module);
39929   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.PythonParameter.module)
39930 }
39931
39932 // optional string layer = 2;
39933 bool PythonParameter::has_layer() const {
39934   return (_has_bits_[0] & 0x00000002u) != 0;
39935 }
39936 void PythonParameter::set_has_layer() {
39937   _has_bits_[0] |= 0x00000002u;
39938 }
39939 void PythonParameter::clear_has_layer() {
39940   _has_bits_[0] &= ~0x00000002u;
39941 }
39942 void PythonParameter::clear_layer() {
39943   layer_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39944   clear_has_layer();
39945 }
39946 const ::std::string& PythonParameter::layer() const {
39947   // @@protoc_insertion_point(field_get:opencv_caffe.PythonParameter.layer)
39948   return layer_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39949 }
39950 void PythonParameter::set_layer(const ::std::string& value) {
39951   set_has_layer();
39952   layer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
39953   // @@protoc_insertion_point(field_set:opencv_caffe.PythonParameter.layer)
39954 }
39955 void PythonParameter::set_layer(const char* value) {
39956   set_has_layer();
39957   layer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
39958   // @@protoc_insertion_point(field_set_char:opencv_caffe.PythonParameter.layer)
39959 }
39960 void PythonParameter::set_layer(const char* value, size_t size) {
39961   set_has_layer();
39962   layer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
39963       ::std::string(reinterpret_cast<const char*>(value), size));
39964   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.PythonParameter.layer)
39965 }
39966 ::std::string* PythonParameter::mutable_layer() {
39967   set_has_layer();
39968   // @@protoc_insertion_point(field_mutable:opencv_caffe.PythonParameter.layer)
39969   return layer_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39970 }
39971 ::std::string* PythonParameter::release_layer() {
39972   // @@protoc_insertion_point(field_release:opencv_caffe.PythonParameter.layer)
39973   clear_has_layer();
39974   return layer_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39975 }
39976 void PythonParameter::set_allocated_layer(::std::string* layer) {
39977   if (layer != NULL) {
39978     set_has_layer();
39979   } else {
39980     clear_has_layer();
39981   }
39982   layer_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), layer);
39983   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.PythonParameter.layer)
39984 }
39985
39986 // optional string param_str = 3 [default = ""];
39987 bool PythonParameter::has_param_str() const {
39988   return (_has_bits_[0] & 0x00000004u) != 0;
39989 }
39990 void PythonParameter::set_has_param_str() {
39991   _has_bits_[0] |= 0x00000004u;
39992 }
39993 void PythonParameter::clear_has_param_str() {
39994   _has_bits_[0] &= ~0x00000004u;
39995 }
39996 void PythonParameter::clear_param_str() {
39997   param_str_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39998   clear_has_param_str();
39999 }
40000 const ::std::string& PythonParameter::param_str() const {
40001   // @@protoc_insertion_point(field_get:opencv_caffe.PythonParameter.param_str)
40002   return param_str_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
40003 }
40004 void PythonParameter::set_param_str(const ::std::string& value) {
40005   set_has_param_str();
40006   param_str_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
40007   // @@protoc_insertion_point(field_set:opencv_caffe.PythonParameter.param_str)
40008 }
40009 void PythonParameter::set_param_str(const char* value) {
40010   set_has_param_str();
40011   param_str_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
40012   // @@protoc_insertion_point(field_set_char:opencv_caffe.PythonParameter.param_str)
40013 }
40014 void PythonParameter::set_param_str(const char* value, size_t size) {
40015   set_has_param_str();
40016   param_str_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
40017       ::std::string(reinterpret_cast<const char*>(value), size));
40018   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.PythonParameter.param_str)
40019 }
40020 ::std::string* PythonParameter::mutable_param_str() {
40021   set_has_param_str();
40022   // @@protoc_insertion_point(field_mutable:opencv_caffe.PythonParameter.param_str)
40023   return param_str_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
40024 }
40025 ::std::string* PythonParameter::release_param_str() {
40026   // @@protoc_insertion_point(field_release:opencv_caffe.PythonParameter.param_str)
40027   clear_has_param_str();
40028   return param_str_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
40029 }
40030 void PythonParameter::set_allocated_param_str(::std::string* param_str) {
40031   if (param_str != NULL) {
40032     set_has_param_str();
40033   } else {
40034     clear_has_param_str();
40035   }
40036   param_str_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), param_str);
40037   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.PythonParameter.param_str)
40038 }
40039
40040 // optional bool share_in_parallel = 4 [default = false];
40041 bool PythonParameter::has_share_in_parallel() const {
40042   return (_has_bits_[0] & 0x00000008u) != 0;
40043 }
40044 void PythonParameter::set_has_share_in_parallel() {
40045   _has_bits_[0] |= 0x00000008u;
40046 }
40047 void PythonParameter::clear_has_share_in_parallel() {
40048   _has_bits_[0] &= ~0x00000008u;
40049 }
40050 void PythonParameter::clear_share_in_parallel() {
40051   share_in_parallel_ = false;
40052   clear_has_share_in_parallel();
40053 }
40054 bool PythonParameter::share_in_parallel() const {
40055   // @@protoc_insertion_point(field_get:opencv_caffe.PythonParameter.share_in_parallel)
40056   return share_in_parallel_;
40057 }
40058 void PythonParameter::set_share_in_parallel(bool value) {
40059   set_has_share_in_parallel();
40060   share_in_parallel_ = value;
40061   // @@protoc_insertion_point(field_set:opencv_caffe.PythonParameter.share_in_parallel)
40062 }
40063
40064 inline const PythonParameter* PythonParameter::internal_default_instance() {
40065   return &PythonParameter_default_instance_.get();
40066 }
40067 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
40068
40069 // ===================================================================
40070
40071 #if !defined(_MSC_VER) || _MSC_VER >= 1900
40072 const int RecurrentParameter::kNumOutputFieldNumber;
40073 const int RecurrentParameter::kWeightFillerFieldNumber;
40074 const int RecurrentParameter::kBiasFillerFieldNumber;
40075 const int RecurrentParameter::kDebugInfoFieldNumber;
40076 const int RecurrentParameter::kExposeHiddenFieldNumber;
40077 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
40078
40079 RecurrentParameter::RecurrentParameter()
40080   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
40081   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
40082   SharedCtor();
40083   // @@protoc_insertion_point(constructor:opencv_caffe.RecurrentParameter)
40084 }
40085
40086 void RecurrentParameter::InitAsDefaultInstance() {
40087   weight_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
40088       ::opencv_caffe::FillerParameter::internal_default_instance());
40089   bias_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
40090       ::opencv_caffe::FillerParameter::internal_default_instance());
40091 }
40092
40093 RecurrentParameter::RecurrentParameter(const RecurrentParameter& from)
40094   : ::google::protobuf::Message(),
40095     _internal_metadata_(NULL) {
40096   SharedCtor();
40097   UnsafeMergeFrom(from);
40098   // @@protoc_insertion_point(copy_constructor:opencv_caffe.RecurrentParameter)
40099 }
40100
40101 void RecurrentParameter::SharedCtor() {
40102   _cached_size_ = 0;
40103   weight_filler_ = NULL;
40104   bias_filler_ = NULL;
40105   ::memset(&num_output_, 0, reinterpret_cast<char*>(&expose_hidden_) -
40106     reinterpret_cast<char*>(&num_output_) + sizeof(expose_hidden_));
40107 }
40108
40109 RecurrentParameter::~RecurrentParameter() {
40110   // @@protoc_insertion_point(destructor:opencv_caffe.RecurrentParameter)
40111   SharedDtor();
40112 }
40113
40114 void RecurrentParameter::SharedDtor() {
40115   if (this != &RecurrentParameter_default_instance_.get()) {
40116     delete weight_filler_;
40117     delete bias_filler_;
40118   }
40119 }
40120
40121 void RecurrentParameter::SetCachedSize(int size) const {
40122   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
40123   _cached_size_ = size;
40124   GOOGLE_SAFE_CONCURRENT_WRITES_END();
40125 }
40126 const ::google::protobuf::Descriptor* RecurrentParameter::descriptor() {
40127   protobuf_AssignDescriptorsOnce();
40128   return RecurrentParameter_descriptor_;
40129 }
40130
40131 const RecurrentParameter& RecurrentParameter::default_instance() {
40132   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
40133   return *internal_default_instance();
40134 }
40135
40136 ::google::protobuf::internal::ExplicitlyConstructed<RecurrentParameter> RecurrentParameter_default_instance_;
40137
40138 RecurrentParameter* RecurrentParameter::New(::google::protobuf::Arena* arena) const {
40139   RecurrentParameter* n = new RecurrentParameter;
40140   if (arena != NULL) {
40141     arena->Own(n);
40142   }
40143   return n;
40144 }
40145
40146 void RecurrentParameter::Clear() {
40147 // @@protoc_insertion_point(message_clear_start:opencv_caffe.RecurrentParameter)
40148 #if defined(__clang__)
40149 #define ZR_HELPER_(f) \
40150   _Pragma("clang diagnostic push") \
40151   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
40152   __builtin_offsetof(RecurrentParameter, f) \
40153   _Pragma("clang diagnostic pop")
40154 #else
40155 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
40156   &reinterpret_cast<RecurrentParameter*>(16)->f)
40157 #endif
40158
40159 #define ZR_(first, last) do {\
40160   ::memset(&(first), 0,\
40161            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
40162 } while (0)
40163
40164   if (_has_bits_[0 / 32] & 31u) {
40165     ZR_(num_output_, expose_hidden_);
40166     if (has_weight_filler()) {
40167       if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
40168     }
40169     if (has_bias_filler()) {
40170       if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
40171     }
40172   }
40173
40174 #undef ZR_HELPER_
40175 #undef ZR_
40176
40177   _has_bits_.Clear();
40178   if (_internal_metadata_.have_unknown_fields()) {
40179     mutable_unknown_fields()->Clear();
40180   }
40181 }
40182
40183 bool RecurrentParameter::MergePartialFromCodedStream(
40184     ::google::protobuf::io::CodedInputStream* input) {
40185 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
40186   ::google::protobuf::uint32 tag;
40187   // @@protoc_insertion_point(parse_start:opencv_caffe.RecurrentParameter)
40188   for (;;) {
40189     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
40190     tag = p.first;
40191     if (!p.second) goto handle_unusual;
40192     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
40193       // optional uint32 num_output = 1 [default = 0];
40194       case 1: {
40195         if (tag == 8) {
40196           set_has_num_output();
40197           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
40198                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
40199                  input, &num_output_)));
40200         } else {
40201           goto handle_unusual;
40202         }
40203         if (input->ExpectTag(18)) goto parse_weight_filler;
40204         break;
40205       }
40206
40207       // optional .opencv_caffe.FillerParameter weight_filler = 2;
40208       case 2: {
40209         if (tag == 18) {
40210          parse_weight_filler:
40211           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
40212                input, mutable_weight_filler()));
40213         } else {
40214           goto handle_unusual;
40215         }
40216         if (input->ExpectTag(26)) goto parse_bias_filler;
40217         break;
40218       }
40219
40220       // optional .opencv_caffe.FillerParameter bias_filler = 3;
40221       case 3: {
40222         if (tag == 26) {
40223          parse_bias_filler:
40224           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
40225                input, mutable_bias_filler()));
40226         } else {
40227           goto handle_unusual;
40228         }
40229         if (input->ExpectTag(32)) goto parse_debug_info;
40230         break;
40231       }
40232
40233       // optional bool debug_info = 4 [default = false];
40234       case 4: {
40235         if (tag == 32) {
40236          parse_debug_info:
40237           set_has_debug_info();
40238           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
40239                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
40240                  input, &debug_info_)));
40241         } else {
40242           goto handle_unusual;
40243         }
40244         if (input->ExpectTag(40)) goto parse_expose_hidden;
40245         break;
40246       }
40247
40248       // optional bool expose_hidden = 5 [default = false];
40249       case 5: {
40250         if (tag == 40) {
40251          parse_expose_hidden:
40252           set_has_expose_hidden();
40253           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
40254                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
40255                  input, &expose_hidden_)));
40256         } else {
40257           goto handle_unusual;
40258         }
40259         if (input->ExpectAtEnd()) goto success;
40260         break;
40261       }
40262
40263       default: {
40264       handle_unusual:
40265         if (tag == 0 ||
40266             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
40267             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
40268           goto success;
40269         }
40270         DO_(::google::protobuf::internal::WireFormat::SkipField(
40271               input, tag, mutable_unknown_fields()));
40272         break;
40273       }
40274     }
40275   }
40276 success:
40277   // @@protoc_insertion_point(parse_success:opencv_caffe.RecurrentParameter)
40278   return true;
40279 failure:
40280   // @@protoc_insertion_point(parse_failure:opencv_caffe.RecurrentParameter)
40281   return false;
40282 #undef DO_
40283 }
40284
40285 void RecurrentParameter::SerializeWithCachedSizes(
40286     ::google::protobuf::io::CodedOutputStream* output) const {
40287   // @@protoc_insertion_point(serialize_start:opencv_caffe.RecurrentParameter)
40288   // optional uint32 num_output = 1 [default = 0];
40289   if (has_num_output()) {
40290     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->num_output(), output);
40291   }
40292
40293   // optional .opencv_caffe.FillerParameter weight_filler = 2;
40294   if (has_weight_filler()) {
40295     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
40296       2, *this->weight_filler_, output);
40297   }
40298
40299   // optional .opencv_caffe.FillerParameter bias_filler = 3;
40300   if (has_bias_filler()) {
40301     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
40302       3, *this->bias_filler_, output);
40303   }
40304
40305   // optional bool debug_info = 4 [default = false];
40306   if (has_debug_info()) {
40307     ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->debug_info(), output);
40308   }
40309
40310   // optional bool expose_hidden = 5 [default = false];
40311   if (has_expose_hidden()) {
40312     ::google::protobuf::internal::WireFormatLite::WriteBool(5, this->expose_hidden(), output);
40313   }
40314
40315   if (_internal_metadata_.have_unknown_fields()) {
40316     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
40317         unknown_fields(), output);
40318   }
40319   // @@protoc_insertion_point(serialize_end:opencv_caffe.RecurrentParameter)
40320 }
40321
40322 ::google::protobuf::uint8* RecurrentParameter::InternalSerializeWithCachedSizesToArray(
40323     bool deterministic, ::google::protobuf::uint8* target) const {
40324   (void)deterministic; // Unused
40325   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.RecurrentParameter)
40326   // optional uint32 num_output = 1 [default = 0];
40327   if (has_num_output()) {
40328     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->num_output(), target);
40329   }
40330
40331   // optional .opencv_caffe.FillerParameter weight_filler = 2;
40332   if (has_weight_filler()) {
40333     target = ::google::protobuf::internal::WireFormatLite::
40334       InternalWriteMessageNoVirtualToArray(
40335         2, *this->weight_filler_, false, target);
40336   }
40337
40338   // optional .opencv_caffe.FillerParameter bias_filler = 3;
40339   if (has_bias_filler()) {
40340     target = ::google::protobuf::internal::WireFormatLite::
40341       InternalWriteMessageNoVirtualToArray(
40342         3, *this->bias_filler_, false, target);
40343   }
40344
40345   // optional bool debug_info = 4 [default = false];
40346   if (has_debug_info()) {
40347     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(4, this->debug_info(), target);
40348   }
40349
40350   // optional bool expose_hidden = 5 [default = false];
40351   if (has_expose_hidden()) {
40352     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(5, this->expose_hidden(), target);
40353   }
40354
40355   if (_internal_metadata_.have_unknown_fields()) {
40356     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
40357         unknown_fields(), target);
40358   }
40359   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.RecurrentParameter)
40360   return target;
40361 }
40362
40363 size_t RecurrentParameter::ByteSizeLong() const {
40364 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.RecurrentParameter)
40365   size_t total_size = 0;
40366
40367   if (_has_bits_[0 / 32] & 31u) {
40368     // optional uint32 num_output = 1 [default = 0];
40369     if (has_num_output()) {
40370       total_size += 1 +
40371         ::google::protobuf::internal::WireFormatLite::UInt32Size(
40372           this->num_output());
40373     }
40374
40375     // optional .opencv_caffe.FillerParameter weight_filler = 2;
40376     if (has_weight_filler()) {
40377       total_size += 1 +
40378         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
40379           *this->weight_filler_);
40380     }
40381
40382     // optional .opencv_caffe.FillerParameter bias_filler = 3;
40383     if (has_bias_filler()) {
40384       total_size += 1 +
40385         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
40386           *this->bias_filler_);
40387     }
40388
40389     // optional bool debug_info = 4 [default = false];
40390     if (has_debug_info()) {
40391       total_size += 1 + 1;
40392     }
40393
40394     // optional bool expose_hidden = 5 [default = false];
40395     if (has_expose_hidden()) {
40396       total_size += 1 + 1;
40397     }
40398
40399   }
40400   if (_internal_metadata_.have_unknown_fields()) {
40401     total_size +=
40402       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
40403         unknown_fields());
40404   }
40405   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
40406   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
40407   _cached_size_ = cached_size;
40408   GOOGLE_SAFE_CONCURRENT_WRITES_END();
40409   return total_size;
40410 }
40411
40412 void RecurrentParameter::MergeFrom(const ::google::protobuf::Message& from) {
40413 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.RecurrentParameter)
40414   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
40415   const RecurrentParameter* source =
40416       ::google::protobuf::internal::DynamicCastToGenerated<const RecurrentParameter>(
40417           &from);
40418   if (source == NULL) {
40419   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.RecurrentParameter)
40420     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
40421   } else {
40422   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.RecurrentParameter)
40423     UnsafeMergeFrom(*source);
40424   }
40425 }
40426
40427 void RecurrentParameter::MergeFrom(const RecurrentParameter& from) {
40428 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.RecurrentParameter)
40429   if (GOOGLE_PREDICT_TRUE(&from != this)) {
40430     UnsafeMergeFrom(from);
40431   } else {
40432     MergeFromFail(__LINE__);
40433   }
40434 }
40435
40436 void RecurrentParameter::UnsafeMergeFrom(const RecurrentParameter& from) {
40437   GOOGLE_DCHECK(&from != this);
40438   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
40439     if (from.has_num_output()) {
40440       set_num_output(from.num_output());
40441     }
40442     if (from.has_weight_filler()) {
40443       mutable_weight_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.weight_filler());
40444     }
40445     if (from.has_bias_filler()) {
40446       mutable_bias_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.bias_filler());
40447     }
40448     if (from.has_debug_info()) {
40449       set_debug_info(from.debug_info());
40450     }
40451     if (from.has_expose_hidden()) {
40452       set_expose_hidden(from.expose_hidden());
40453     }
40454   }
40455   if (from._internal_metadata_.have_unknown_fields()) {
40456     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
40457       from.unknown_fields(), &_internal_metadata_);
40458   }
40459 }
40460
40461 void RecurrentParameter::CopyFrom(const ::google::protobuf::Message& from) {
40462 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.RecurrentParameter)
40463   if (&from == this) return;
40464   Clear();
40465   MergeFrom(from);
40466 }
40467
40468 void RecurrentParameter::CopyFrom(const RecurrentParameter& from) {
40469 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.RecurrentParameter)
40470   if (&from == this) return;
40471   Clear();
40472   UnsafeMergeFrom(from);
40473 }
40474
40475 bool RecurrentParameter::IsInitialized() const {
40476
40477   return true;
40478 }
40479
40480 void RecurrentParameter::Swap(RecurrentParameter* other) {
40481   if (other == this) return;
40482   InternalSwap(other);
40483 }
40484 void RecurrentParameter::InternalSwap(RecurrentParameter* other) {
40485   std::swap(num_output_, other->num_output_);
40486   std::swap(weight_filler_, other->weight_filler_);
40487   std::swap(bias_filler_, other->bias_filler_);
40488   std::swap(debug_info_, other->debug_info_);
40489   std::swap(expose_hidden_, other->expose_hidden_);
40490   std::swap(_has_bits_[0], other->_has_bits_[0]);
40491   _internal_metadata_.Swap(&other->_internal_metadata_);
40492   std::swap(_cached_size_, other->_cached_size_);
40493 }
40494
40495 ::google::protobuf::Metadata RecurrentParameter::GetMetadata() const {
40496   protobuf_AssignDescriptorsOnce();
40497   ::google::protobuf::Metadata metadata;
40498   metadata.descriptor = RecurrentParameter_descriptor_;
40499   metadata.reflection = RecurrentParameter_reflection_;
40500   return metadata;
40501 }
40502
40503 #if PROTOBUF_INLINE_NOT_IN_HEADERS
40504 // RecurrentParameter
40505
40506 // optional uint32 num_output = 1 [default = 0];
40507 bool RecurrentParameter::has_num_output() const {
40508   return (_has_bits_[0] & 0x00000001u) != 0;
40509 }
40510 void RecurrentParameter::set_has_num_output() {
40511   _has_bits_[0] |= 0x00000001u;
40512 }
40513 void RecurrentParameter::clear_has_num_output() {
40514   _has_bits_[0] &= ~0x00000001u;
40515 }
40516 void RecurrentParameter::clear_num_output() {
40517   num_output_ = 0u;
40518   clear_has_num_output();
40519 }
40520 ::google::protobuf::uint32 RecurrentParameter::num_output() const {
40521   // @@protoc_insertion_point(field_get:opencv_caffe.RecurrentParameter.num_output)
40522   return num_output_;
40523 }
40524 void RecurrentParameter::set_num_output(::google::protobuf::uint32 value) {
40525   set_has_num_output();
40526   num_output_ = value;
40527   // @@protoc_insertion_point(field_set:opencv_caffe.RecurrentParameter.num_output)
40528 }
40529
40530 // optional .opencv_caffe.FillerParameter weight_filler = 2;
40531 bool RecurrentParameter::has_weight_filler() const {
40532   return (_has_bits_[0] & 0x00000002u) != 0;
40533 }
40534 void RecurrentParameter::set_has_weight_filler() {
40535   _has_bits_[0] |= 0x00000002u;
40536 }
40537 void RecurrentParameter::clear_has_weight_filler() {
40538   _has_bits_[0] &= ~0x00000002u;
40539 }
40540 void RecurrentParameter::clear_weight_filler() {
40541   if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
40542   clear_has_weight_filler();
40543 }
40544 const ::opencv_caffe::FillerParameter& RecurrentParameter::weight_filler() const {
40545   // @@protoc_insertion_point(field_get:opencv_caffe.RecurrentParameter.weight_filler)
40546   return weight_filler_ != NULL ? *weight_filler_
40547                          : *::opencv_caffe::FillerParameter::internal_default_instance();
40548 }
40549 ::opencv_caffe::FillerParameter* RecurrentParameter::mutable_weight_filler() {
40550   set_has_weight_filler();
40551   if (weight_filler_ == NULL) {
40552     weight_filler_ = new ::opencv_caffe::FillerParameter;
40553   }
40554   // @@protoc_insertion_point(field_mutable:opencv_caffe.RecurrentParameter.weight_filler)
40555   return weight_filler_;
40556 }
40557 ::opencv_caffe::FillerParameter* RecurrentParameter::release_weight_filler() {
40558   // @@protoc_insertion_point(field_release:opencv_caffe.RecurrentParameter.weight_filler)
40559   clear_has_weight_filler();
40560   ::opencv_caffe::FillerParameter* temp = weight_filler_;
40561   weight_filler_ = NULL;
40562   return temp;
40563 }
40564 void RecurrentParameter::set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler) {
40565   delete weight_filler_;
40566   weight_filler_ = weight_filler;
40567   if (weight_filler) {
40568     set_has_weight_filler();
40569   } else {
40570     clear_has_weight_filler();
40571   }
40572   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.RecurrentParameter.weight_filler)
40573 }
40574
40575 // optional .opencv_caffe.FillerParameter bias_filler = 3;
40576 bool RecurrentParameter::has_bias_filler() const {
40577   return (_has_bits_[0] & 0x00000004u) != 0;
40578 }
40579 void RecurrentParameter::set_has_bias_filler() {
40580   _has_bits_[0] |= 0x00000004u;
40581 }
40582 void RecurrentParameter::clear_has_bias_filler() {
40583   _has_bits_[0] &= ~0x00000004u;
40584 }
40585 void RecurrentParameter::clear_bias_filler() {
40586   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
40587   clear_has_bias_filler();
40588 }
40589 const ::opencv_caffe::FillerParameter& RecurrentParameter::bias_filler() const {
40590   // @@protoc_insertion_point(field_get:opencv_caffe.RecurrentParameter.bias_filler)
40591   return bias_filler_ != NULL ? *bias_filler_
40592                          : *::opencv_caffe::FillerParameter::internal_default_instance();
40593 }
40594 ::opencv_caffe::FillerParameter* RecurrentParameter::mutable_bias_filler() {
40595   set_has_bias_filler();
40596   if (bias_filler_ == NULL) {
40597     bias_filler_ = new ::opencv_caffe::FillerParameter;
40598   }
40599   // @@protoc_insertion_point(field_mutable:opencv_caffe.RecurrentParameter.bias_filler)
40600   return bias_filler_;
40601 }
40602 ::opencv_caffe::FillerParameter* RecurrentParameter::release_bias_filler() {
40603   // @@protoc_insertion_point(field_release:opencv_caffe.RecurrentParameter.bias_filler)
40604   clear_has_bias_filler();
40605   ::opencv_caffe::FillerParameter* temp = bias_filler_;
40606   bias_filler_ = NULL;
40607   return temp;
40608 }
40609 void RecurrentParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
40610   delete bias_filler_;
40611   bias_filler_ = bias_filler;
40612   if (bias_filler) {
40613     set_has_bias_filler();
40614   } else {
40615     clear_has_bias_filler();
40616   }
40617   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.RecurrentParameter.bias_filler)
40618 }
40619
40620 // optional bool debug_info = 4 [default = false];
40621 bool RecurrentParameter::has_debug_info() const {
40622   return (_has_bits_[0] & 0x00000008u) != 0;
40623 }
40624 void RecurrentParameter::set_has_debug_info() {
40625   _has_bits_[0] |= 0x00000008u;
40626 }
40627 void RecurrentParameter::clear_has_debug_info() {
40628   _has_bits_[0] &= ~0x00000008u;
40629 }
40630 void RecurrentParameter::clear_debug_info() {
40631   debug_info_ = false;
40632   clear_has_debug_info();
40633 }
40634 bool RecurrentParameter::debug_info() const {
40635   // @@protoc_insertion_point(field_get:opencv_caffe.RecurrentParameter.debug_info)
40636   return debug_info_;
40637 }
40638 void RecurrentParameter::set_debug_info(bool value) {
40639   set_has_debug_info();
40640   debug_info_ = value;
40641   // @@protoc_insertion_point(field_set:opencv_caffe.RecurrentParameter.debug_info)
40642 }
40643
40644 // optional bool expose_hidden = 5 [default = false];
40645 bool RecurrentParameter::has_expose_hidden() const {
40646   return (_has_bits_[0] & 0x00000010u) != 0;
40647 }
40648 void RecurrentParameter::set_has_expose_hidden() {
40649   _has_bits_[0] |= 0x00000010u;
40650 }
40651 void RecurrentParameter::clear_has_expose_hidden() {
40652   _has_bits_[0] &= ~0x00000010u;
40653 }
40654 void RecurrentParameter::clear_expose_hidden() {
40655   expose_hidden_ = false;
40656   clear_has_expose_hidden();
40657 }
40658 bool RecurrentParameter::expose_hidden() const {
40659   // @@protoc_insertion_point(field_get:opencv_caffe.RecurrentParameter.expose_hidden)
40660   return expose_hidden_;
40661 }
40662 void RecurrentParameter::set_expose_hidden(bool value) {
40663   set_has_expose_hidden();
40664   expose_hidden_ = value;
40665   // @@protoc_insertion_point(field_set:opencv_caffe.RecurrentParameter.expose_hidden)
40666 }
40667
40668 inline const RecurrentParameter* RecurrentParameter::internal_default_instance() {
40669   return &RecurrentParameter_default_instance_.get();
40670 }
40671 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
40672
40673 // ===================================================================
40674
40675 const ::google::protobuf::EnumDescriptor* ReductionParameter_ReductionOp_descriptor() {
40676   protobuf_AssignDescriptorsOnce();
40677   return ReductionParameter_ReductionOp_descriptor_;
40678 }
40679 bool ReductionParameter_ReductionOp_IsValid(int value) {
40680   switch (value) {
40681     case 1:
40682     case 2:
40683     case 3:
40684     case 4:
40685       return true;
40686     default:
40687       return false;
40688   }
40689 }
40690
40691 #if !defined(_MSC_VER) || _MSC_VER >= 1900
40692 const ReductionParameter_ReductionOp ReductionParameter::SUM;
40693 const ReductionParameter_ReductionOp ReductionParameter::ASUM;
40694 const ReductionParameter_ReductionOp ReductionParameter::SUMSQ;
40695 const ReductionParameter_ReductionOp ReductionParameter::MEAN;
40696 const ReductionParameter_ReductionOp ReductionParameter::ReductionOp_MIN;
40697 const ReductionParameter_ReductionOp ReductionParameter::ReductionOp_MAX;
40698 const int ReductionParameter::ReductionOp_ARRAYSIZE;
40699 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
40700 #if !defined(_MSC_VER) || _MSC_VER >= 1900
40701 const int ReductionParameter::kOperationFieldNumber;
40702 const int ReductionParameter::kAxisFieldNumber;
40703 const int ReductionParameter::kCoeffFieldNumber;
40704 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
40705
40706 ReductionParameter::ReductionParameter()
40707   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
40708   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
40709   SharedCtor();
40710   // @@protoc_insertion_point(constructor:opencv_caffe.ReductionParameter)
40711 }
40712
40713 void ReductionParameter::InitAsDefaultInstance() {
40714 }
40715
40716 ReductionParameter::ReductionParameter(const ReductionParameter& from)
40717   : ::google::protobuf::Message(),
40718     _internal_metadata_(NULL) {
40719   SharedCtor();
40720   UnsafeMergeFrom(from);
40721   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ReductionParameter)
40722 }
40723
40724 void ReductionParameter::SharedCtor() {
40725   _cached_size_ = 0;
40726   axis_ = 0;
40727   operation_ = 1;
40728   coeff_ = 1;
40729 }
40730
40731 ReductionParameter::~ReductionParameter() {
40732   // @@protoc_insertion_point(destructor:opencv_caffe.ReductionParameter)
40733   SharedDtor();
40734 }
40735
40736 void ReductionParameter::SharedDtor() {
40737 }
40738
40739 void ReductionParameter::SetCachedSize(int size) const {
40740   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
40741   _cached_size_ = size;
40742   GOOGLE_SAFE_CONCURRENT_WRITES_END();
40743 }
40744 const ::google::protobuf::Descriptor* ReductionParameter::descriptor() {
40745   protobuf_AssignDescriptorsOnce();
40746   return ReductionParameter_descriptor_;
40747 }
40748
40749 const ReductionParameter& ReductionParameter::default_instance() {
40750   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
40751   return *internal_default_instance();
40752 }
40753
40754 ::google::protobuf::internal::ExplicitlyConstructed<ReductionParameter> ReductionParameter_default_instance_;
40755
40756 ReductionParameter* ReductionParameter::New(::google::protobuf::Arena* arena) const {
40757   ReductionParameter* n = new ReductionParameter;
40758   if (arena != NULL) {
40759     arena->Own(n);
40760   }
40761   return n;
40762 }
40763
40764 void ReductionParameter::Clear() {
40765 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ReductionParameter)
40766   if (_has_bits_[0 / 32] & 7u) {
40767     operation_ = 1;
40768     axis_ = 0;
40769     coeff_ = 1;
40770   }
40771   _has_bits_.Clear();
40772   if (_internal_metadata_.have_unknown_fields()) {
40773     mutable_unknown_fields()->Clear();
40774   }
40775 }
40776
40777 bool ReductionParameter::MergePartialFromCodedStream(
40778     ::google::protobuf::io::CodedInputStream* input) {
40779 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
40780   ::google::protobuf::uint32 tag;
40781   // @@protoc_insertion_point(parse_start:opencv_caffe.ReductionParameter)
40782   for (;;) {
40783     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
40784     tag = p.first;
40785     if (!p.second) goto handle_unusual;
40786     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
40787       // optional .opencv_caffe.ReductionParameter.ReductionOp operation = 1 [default = SUM];
40788       case 1: {
40789         if (tag == 8) {
40790           int value;
40791           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
40792                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
40793                  input, &value)));
40794           if (::opencv_caffe::ReductionParameter_ReductionOp_IsValid(value)) {
40795             set_operation(static_cast< ::opencv_caffe::ReductionParameter_ReductionOp >(value));
40796           } else {
40797             mutable_unknown_fields()->AddVarint(1, value);
40798           }
40799         } else {
40800           goto handle_unusual;
40801         }
40802         if (input->ExpectTag(16)) goto parse_axis;
40803         break;
40804       }
40805
40806       // optional int32 axis = 2 [default = 0];
40807       case 2: {
40808         if (tag == 16) {
40809          parse_axis:
40810           set_has_axis();
40811           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
40812                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
40813                  input, &axis_)));
40814         } else {
40815           goto handle_unusual;
40816         }
40817         if (input->ExpectTag(29)) goto parse_coeff;
40818         break;
40819       }
40820
40821       // optional float coeff = 3 [default = 1];
40822       case 3: {
40823         if (tag == 29) {
40824          parse_coeff:
40825           set_has_coeff();
40826           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
40827                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
40828                  input, &coeff_)));
40829         } else {
40830           goto handle_unusual;
40831         }
40832         if (input->ExpectAtEnd()) goto success;
40833         break;
40834       }
40835
40836       default: {
40837       handle_unusual:
40838         if (tag == 0 ||
40839             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
40840             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
40841           goto success;
40842         }
40843         DO_(::google::protobuf::internal::WireFormat::SkipField(
40844               input, tag, mutable_unknown_fields()));
40845         break;
40846       }
40847     }
40848   }
40849 success:
40850   // @@protoc_insertion_point(parse_success:opencv_caffe.ReductionParameter)
40851   return true;
40852 failure:
40853   // @@protoc_insertion_point(parse_failure:opencv_caffe.ReductionParameter)
40854   return false;
40855 #undef DO_
40856 }
40857
40858 void ReductionParameter::SerializeWithCachedSizes(
40859     ::google::protobuf::io::CodedOutputStream* output) const {
40860   // @@protoc_insertion_point(serialize_start:opencv_caffe.ReductionParameter)
40861   // optional .opencv_caffe.ReductionParameter.ReductionOp operation = 1 [default = SUM];
40862   if (has_operation()) {
40863     ::google::protobuf::internal::WireFormatLite::WriteEnum(
40864       1, this->operation(), output);
40865   }
40866
40867   // optional int32 axis = 2 [default = 0];
40868   if (has_axis()) {
40869     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->axis(), output);
40870   }
40871
40872   // optional float coeff = 3 [default = 1];
40873   if (has_coeff()) {
40874     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->coeff(), output);
40875   }
40876
40877   if (_internal_metadata_.have_unknown_fields()) {
40878     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
40879         unknown_fields(), output);
40880   }
40881   // @@protoc_insertion_point(serialize_end:opencv_caffe.ReductionParameter)
40882 }
40883
40884 ::google::protobuf::uint8* ReductionParameter::InternalSerializeWithCachedSizesToArray(
40885     bool deterministic, ::google::protobuf::uint8* target) const {
40886   (void)deterministic; // Unused
40887   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ReductionParameter)
40888   // optional .opencv_caffe.ReductionParameter.ReductionOp operation = 1 [default = SUM];
40889   if (has_operation()) {
40890     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
40891       1, this->operation(), target);
40892   }
40893
40894   // optional int32 axis = 2 [default = 0];
40895   if (has_axis()) {
40896     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->axis(), target);
40897   }
40898
40899   // optional float coeff = 3 [default = 1];
40900   if (has_coeff()) {
40901     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->coeff(), target);
40902   }
40903
40904   if (_internal_metadata_.have_unknown_fields()) {
40905     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
40906         unknown_fields(), target);
40907   }
40908   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ReductionParameter)
40909   return target;
40910 }
40911
40912 size_t ReductionParameter::ByteSizeLong() const {
40913 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ReductionParameter)
40914   size_t total_size = 0;
40915
40916   if (_has_bits_[0 / 32] & 7u) {
40917     // optional .opencv_caffe.ReductionParameter.ReductionOp operation = 1 [default = SUM];
40918     if (has_operation()) {
40919       total_size += 1 +
40920         ::google::protobuf::internal::WireFormatLite::EnumSize(this->operation());
40921     }
40922
40923     // optional int32 axis = 2 [default = 0];
40924     if (has_axis()) {
40925       total_size += 1 +
40926         ::google::protobuf::internal::WireFormatLite::Int32Size(
40927           this->axis());
40928     }
40929
40930     // optional float coeff = 3 [default = 1];
40931     if (has_coeff()) {
40932       total_size += 1 + 4;
40933     }
40934
40935   }
40936   if (_internal_metadata_.have_unknown_fields()) {
40937     total_size +=
40938       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
40939         unknown_fields());
40940   }
40941   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
40942   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
40943   _cached_size_ = cached_size;
40944   GOOGLE_SAFE_CONCURRENT_WRITES_END();
40945   return total_size;
40946 }
40947
40948 void ReductionParameter::MergeFrom(const ::google::protobuf::Message& from) {
40949 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ReductionParameter)
40950   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
40951   const ReductionParameter* source =
40952       ::google::protobuf::internal::DynamicCastToGenerated<const ReductionParameter>(
40953           &from);
40954   if (source == NULL) {
40955   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ReductionParameter)
40956     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
40957   } else {
40958   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ReductionParameter)
40959     UnsafeMergeFrom(*source);
40960   }
40961 }
40962
40963 void ReductionParameter::MergeFrom(const ReductionParameter& from) {
40964 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ReductionParameter)
40965   if (GOOGLE_PREDICT_TRUE(&from != this)) {
40966     UnsafeMergeFrom(from);
40967   } else {
40968     MergeFromFail(__LINE__);
40969   }
40970 }
40971
40972 void ReductionParameter::UnsafeMergeFrom(const ReductionParameter& from) {
40973   GOOGLE_DCHECK(&from != this);
40974   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
40975     if (from.has_operation()) {
40976       set_operation(from.operation());
40977     }
40978     if (from.has_axis()) {
40979       set_axis(from.axis());
40980     }
40981     if (from.has_coeff()) {
40982       set_coeff(from.coeff());
40983     }
40984   }
40985   if (from._internal_metadata_.have_unknown_fields()) {
40986     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
40987       from.unknown_fields(), &_internal_metadata_);
40988   }
40989 }
40990
40991 void ReductionParameter::CopyFrom(const ::google::protobuf::Message& from) {
40992 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ReductionParameter)
40993   if (&from == this) return;
40994   Clear();
40995   MergeFrom(from);
40996 }
40997
40998 void ReductionParameter::CopyFrom(const ReductionParameter& from) {
40999 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ReductionParameter)
41000   if (&from == this) return;
41001   Clear();
41002   UnsafeMergeFrom(from);
41003 }
41004
41005 bool ReductionParameter::IsInitialized() const {
41006
41007   return true;
41008 }
41009
41010 void ReductionParameter::Swap(ReductionParameter* other) {
41011   if (other == this) return;
41012   InternalSwap(other);
41013 }
41014 void ReductionParameter::InternalSwap(ReductionParameter* other) {
41015   std::swap(operation_, other->operation_);
41016   std::swap(axis_, other->axis_);
41017   std::swap(coeff_, other->coeff_);
41018   std::swap(_has_bits_[0], other->_has_bits_[0]);
41019   _internal_metadata_.Swap(&other->_internal_metadata_);
41020   std::swap(_cached_size_, other->_cached_size_);
41021 }
41022
41023 ::google::protobuf::Metadata ReductionParameter::GetMetadata() const {
41024   protobuf_AssignDescriptorsOnce();
41025   ::google::protobuf::Metadata metadata;
41026   metadata.descriptor = ReductionParameter_descriptor_;
41027   metadata.reflection = ReductionParameter_reflection_;
41028   return metadata;
41029 }
41030
41031 #if PROTOBUF_INLINE_NOT_IN_HEADERS
41032 // ReductionParameter
41033
41034 // optional .opencv_caffe.ReductionParameter.ReductionOp operation = 1 [default = SUM];
41035 bool ReductionParameter::has_operation() const {
41036   return (_has_bits_[0] & 0x00000001u) != 0;
41037 }
41038 void ReductionParameter::set_has_operation() {
41039   _has_bits_[0] |= 0x00000001u;
41040 }
41041 void ReductionParameter::clear_has_operation() {
41042   _has_bits_[0] &= ~0x00000001u;
41043 }
41044 void ReductionParameter::clear_operation() {
41045   operation_ = 1;
41046   clear_has_operation();
41047 }
41048 ::opencv_caffe::ReductionParameter_ReductionOp ReductionParameter::operation() const {
41049   // @@protoc_insertion_point(field_get:opencv_caffe.ReductionParameter.operation)
41050   return static_cast< ::opencv_caffe::ReductionParameter_ReductionOp >(operation_);
41051 }
41052 void ReductionParameter::set_operation(::opencv_caffe::ReductionParameter_ReductionOp value) {
41053   assert(::opencv_caffe::ReductionParameter_ReductionOp_IsValid(value));
41054   set_has_operation();
41055   operation_ = value;
41056   // @@protoc_insertion_point(field_set:opencv_caffe.ReductionParameter.operation)
41057 }
41058
41059 // optional int32 axis = 2 [default = 0];
41060 bool ReductionParameter::has_axis() const {
41061   return (_has_bits_[0] & 0x00000002u) != 0;
41062 }
41063 void ReductionParameter::set_has_axis() {
41064   _has_bits_[0] |= 0x00000002u;
41065 }
41066 void ReductionParameter::clear_has_axis() {
41067   _has_bits_[0] &= ~0x00000002u;
41068 }
41069 void ReductionParameter::clear_axis() {
41070   axis_ = 0;
41071   clear_has_axis();
41072 }
41073 ::google::protobuf::int32 ReductionParameter::axis() const {
41074   // @@protoc_insertion_point(field_get:opencv_caffe.ReductionParameter.axis)
41075   return axis_;
41076 }
41077 void ReductionParameter::set_axis(::google::protobuf::int32 value) {
41078   set_has_axis();
41079   axis_ = value;
41080   // @@protoc_insertion_point(field_set:opencv_caffe.ReductionParameter.axis)
41081 }
41082
41083 // optional float coeff = 3 [default = 1];
41084 bool ReductionParameter::has_coeff() const {
41085   return (_has_bits_[0] & 0x00000004u) != 0;
41086 }
41087 void ReductionParameter::set_has_coeff() {
41088   _has_bits_[0] |= 0x00000004u;
41089 }
41090 void ReductionParameter::clear_has_coeff() {
41091   _has_bits_[0] &= ~0x00000004u;
41092 }
41093 void ReductionParameter::clear_coeff() {
41094   coeff_ = 1;
41095   clear_has_coeff();
41096 }
41097 float ReductionParameter::coeff() const {
41098   // @@protoc_insertion_point(field_get:opencv_caffe.ReductionParameter.coeff)
41099   return coeff_;
41100 }
41101 void ReductionParameter::set_coeff(float value) {
41102   set_has_coeff();
41103   coeff_ = value;
41104   // @@protoc_insertion_point(field_set:opencv_caffe.ReductionParameter.coeff)
41105 }
41106
41107 inline const ReductionParameter* ReductionParameter::internal_default_instance() {
41108   return &ReductionParameter_default_instance_.get();
41109 }
41110 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
41111
41112 // ===================================================================
41113
41114 const ::google::protobuf::EnumDescriptor* ReLUParameter_Engine_descriptor() {
41115   protobuf_AssignDescriptorsOnce();
41116   return ReLUParameter_Engine_descriptor_;
41117 }
41118 bool ReLUParameter_Engine_IsValid(int value) {
41119   switch (value) {
41120     case 0:
41121     case 1:
41122     case 2:
41123       return true;
41124     default:
41125       return false;
41126   }
41127 }
41128
41129 #if !defined(_MSC_VER) || _MSC_VER >= 1900
41130 const ReLUParameter_Engine ReLUParameter::DEFAULT;
41131 const ReLUParameter_Engine ReLUParameter::CAFFE;
41132 const ReLUParameter_Engine ReLUParameter::CUDNN;
41133 const ReLUParameter_Engine ReLUParameter::Engine_MIN;
41134 const ReLUParameter_Engine ReLUParameter::Engine_MAX;
41135 const int ReLUParameter::Engine_ARRAYSIZE;
41136 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
41137 #if !defined(_MSC_VER) || _MSC_VER >= 1900
41138 const int ReLUParameter::kNegativeSlopeFieldNumber;
41139 const int ReLUParameter::kEngineFieldNumber;
41140 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
41141
41142 ReLUParameter::ReLUParameter()
41143   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
41144   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
41145   SharedCtor();
41146   // @@protoc_insertion_point(constructor:opencv_caffe.ReLUParameter)
41147 }
41148
41149 void ReLUParameter::InitAsDefaultInstance() {
41150 }
41151
41152 ReLUParameter::ReLUParameter(const ReLUParameter& from)
41153   : ::google::protobuf::Message(),
41154     _internal_metadata_(NULL) {
41155   SharedCtor();
41156   UnsafeMergeFrom(from);
41157   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ReLUParameter)
41158 }
41159
41160 void ReLUParameter::SharedCtor() {
41161   _cached_size_ = 0;
41162   ::memset(&negative_slope_, 0, reinterpret_cast<char*>(&engine_) -
41163     reinterpret_cast<char*>(&negative_slope_) + sizeof(engine_));
41164 }
41165
41166 ReLUParameter::~ReLUParameter() {
41167   // @@protoc_insertion_point(destructor:opencv_caffe.ReLUParameter)
41168   SharedDtor();
41169 }
41170
41171 void ReLUParameter::SharedDtor() {
41172 }
41173
41174 void ReLUParameter::SetCachedSize(int size) const {
41175   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
41176   _cached_size_ = size;
41177   GOOGLE_SAFE_CONCURRENT_WRITES_END();
41178 }
41179 const ::google::protobuf::Descriptor* ReLUParameter::descriptor() {
41180   protobuf_AssignDescriptorsOnce();
41181   return ReLUParameter_descriptor_;
41182 }
41183
41184 const ReLUParameter& ReLUParameter::default_instance() {
41185   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
41186   return *internal_default_instance();
41187 }
41188
41189 ::google::protobuf::internal::ExplicitlyConstructed<ReLUParameter> ReLUParameter_default_instance_;
41190
41191 ReLUParameter* ReLUParameter::New(::google::protobuf::Arena* arena) const {
41192   ReLUParameter* n = new ReLUParameter;
41193   if (arena != NULL) {
41194     arena->Own(n);
41195   }
41196   return n;
41197 }
41198
41199 void ReLUParameter::Clear() {
41200 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ReLUParameter)
41201 #if defined(__clang__)
41202 #define ZR_HELPER_(f) \
41203   _Pragma("clang diagnostic push") \
41204   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
41205   __builtin_offsetof(ReLUParameter, f) \
41206   _Pragma("clang diagnostic pop")
41207 #else
41208 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
41209   &reinterpret_cast<ReLUParameter*>(16)->f)
41210 #endif
41211
41212 #define ZR_(first, last) do {\
41213   ::memset(&(first), 0,\
41214            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
41215 } while (0)
41216
41217   ZR_(negative_slope_, engine_);
41218
41219 #undef ZR_HELPER_
41220 #undef ZR_
41221
41222   _has_bits_.Clear();
41223   if (_internal_metadata_.have_unknown_fields()) {
41224     mutable_unknown_fields()->Clear();
41225   }
41226 }
41227
41228 bool ReLUParameter::MergePartialFromCodedStream(
41229     ::google::protobuf::io::CodedInputStream* input) {
41230 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
41231   ::google::protobuf::uint32 tag;
41232   // @@protoc_insertion_point(parse_start:opencv_caffe.ReLUParameter)
41233   for (;;) {
41234     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
41235     tag = p.first;
41236     if (!p.second) goto handle_unusual;
41237     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
41238       // optional float negative_slope = 1 [default = 0];
41239       case 1: {
41240         if (tag == 13) {
41241           set_has_negative_slope();
41242           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
41243                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
41244                  input, &negative_slope_)));
41245         } else {
41246           goto handle_unusual;
41247         }
41248         if (input->ExpectTag(16)) goto parse_engine;
41249         break;
41250       }
41251
41252       // optional .opencv_caffe.ReLUParameter.Engine engine = 2 [default = DEFAULT];
41253       case 2: {
41254         if (tag == 16) {
41255          parse_engine:
41256           int value;
41257           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
41258                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
41259                  input, &value)));
41260           if (::opencv_caffe::ReLUParameter_Engine_IsValid(value)) {
41261             set_engine(static_cast< ::opencv_caffe::ReLUParameter_Engine >(value));
41262           } else {
41263             mutable_unknown_fields()->AddVarint(2, value);
41264           }
41265         } else {
41266           goto handle_unusual;
41267         }
41268         if (input->ExpectAtEnd()) goto success;
41269         break;
41270       }
41271
41272       default: {
41273       handle_unusual:
41274         if (tag == 0 ||
41275             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
41276             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
41277           goto success;
41278         }
41279         DO_(::google::protobuf::internal::WireFormat::SkipField(
41280               input, tag, mutable_unknown_fields()));
41281         break;
41282       }
41283     }
41284   }
41285 success:
41286   // @@protoc_insertion_point(parse_success:opencv_caffe.ReLUParameter)
41287   return true;
41288 failure:
41289   // @@protoc_insertion_point(parse_failure:opencv_caffe.ReLUParameter)
41290   return false;
41291 #undef DO_
41292 }
41293
41294 void ReLUParameter::SerializeWithCachedSizes(
41295     ::google::protobuf::io::CodedOutputStream* output) const {
41296   // @@protoc_insertion_point(serialize_start:opencv_caffe.ReLUParameter)
41297   // optional float negative_slope = 1 [default = 0];
41298   if (has_negative_slope()) {
41299     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->negative_slope(), output);
41300   }
41301
41302   // optional .opencv_caffe.ReLUParameter.Engine engine = 2 [default = DEFAULT];
41303   if (has_engine()) {
41304     ::google::protobuf::internal::WireFormatLite::WriteEnum(
41305       2, this->engine(), output);
41306   }
41307
41308   if (_internal_metadata_.have_unknown_fields()) {
41309     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
41310         unknown_fields(), output);
41311   }
41312   // @@protoc_insertion_point(serialize_end:opencv_caffe.ReLUParameter)
41313 }
41314
41315 ::google::protobuf::uint8* ReLUParameter::InternalSerializeWithCachedSizesToArray(
41316     bool deterministic, ::google::protobuf::uint8* target) const {
41317   (void)deterministic; // Unused
41318   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ReLUParameter)
41319   // optional float negative_slope = 1 [default = 0];
41320   if (has_negative_slope()) {
41321     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->negative_slope(), target);
41322   }
41323
41324   // optional .opencv_caffe.ReLUParameter.Engine engine = 2 [default = DEFAULT];
41325   if (has_engine()) {
41326     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
41327       2, this->engine(), target);
41328   }
41329
41330   if (_internal_metadata_.have_unknown_fields()) {
41331     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
41332         unknown_fields(), target);
41333   }
41334   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ReLUParameter)
41335   return target;
41336 }
41337
41338 size_t ReLUParameter::ByteSizeLong() const {
41339 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ReLUParameter)
41340   size_t total_size = 0;
41341
41342   if (_has_bits_[0 / 32] & 3u) {
41343     // optional float negative_slope = 1 [default = 0];
41344     if (has_negative_slope()) {
41345       total_size += 1 + 4;
41346     }
41347
41348     // optional .opencv_caffe.ReLUParameter.Engine engine = 2 [default = DEFAULT];
41349     if (has_engine()) {
41350       total_size += 1 +
41351         ::google::protobuf::internal::WireFormatLite::EnumSize(this->engine());
41352     }
41353
41354   }
41355   if (_internal_metadata_.have_unknown_fields()) {
41356     total_size +=
41357       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
41358         unknown_fields());
41359   }
41360   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
41361   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
41362   _cached_size_ = cached_size;
41363   GOOGLE_SAFE_CONCURRENT_WRITES_END();
41364   return total_size;
41365 }
41366
41367 void ReLUParameter::MergeFrom(const ::google::protobuf::Message& from) {
41368 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ReLUParameter)
41369   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
41370   const ReLUParameter* source =
41371       ::google::protobuf::internal::DynamicCastToGenerated<const ReLUParameter>(
41372           &from);
41373   if (source == NULL) {
41374   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ReLUParameter)
41375     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
41376   } else {
41377   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ReLUParameter)
41378     UnsafeMergeFrom(*source);
41379   }
41380 }
41381
41382 void ReLUParameter::MergeFrom(const ReLUParameter& from) {
41383 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ReLUParameter)
41384   if (GOOGLE_PREDICT_TRUE(&from != this)) {
41385     UnsafeMergeFrom(from);
41386   } else {
41387     MergeFromFail(__LINE__);
41388   }
41389 }
41390
41391 void ReLUParameter::UnsafeMergeFrom(const ReLUParameter& from) {
41392   GOOGLE_DCHECK(&from != this);
41393   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
41394     if (from.has_negative_slope()) {
41395       set_negative_slope(from.negative_slope());
41396     }
41397     if (from.has_engine()) {
41398       set_engine(from.engine());
41399     }
41400   }
41401   if (from._internal_metadata_.have_unknown_fields()) {
41402     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
41403       from.unknown_fields(), &_internal_metadata_);
41404   }
41405 }
41406
41407 void ReLUParameter::CopyFrom(const ::google::protobuf::Message& from) {
41408 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ReLUParameter)
41409   if (&from == this) return;
41410   Clear();
41411   MergeFrom(from);
41412 }
41413
41414 void ReLUParameter::CopyFrom(const ReLUParameter& from) {
41415 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ReLUParameter)
41416   if (&from == this) return;
41417   Clear();
41418   UnsafeMergeFrom(from);
41419 }
41420
41421 bool ReLUParameter::IsInitialized() const {
41422
41423   return true;
41424 }
41425
41426 void ReLUParameter::Swap(ReLUParameter* other) {
41427   if (other == this) return;
41428   InternalSwap(other);
41429 }
41430 void ReLUParameter::InternalSwap(ReLUParameter* other) {
41431   std::swap(negative_slope_, other->negative_slope_);
41432   std::swap(engine_, other->engine_);
41433   std::swap(_has_bits_[0], other->_has_bits_[0]);
41434   _internal_metadata_.Swap(&other->_internal_metadata_);
41435   std::swap(_cached_size_, other->_cached_size_);
41436 }
41437
41438 ::google::protobuf::Metadata ReLUParameter::GetMetadata() const {
41439   protobuf_AssignDescriptorsOnce();
41440   ::google::protobuf::Metadata metadata;
41441   metadata.descriptor = ReLUParameter_descriptor_;
41442   metadata.reflection = ReLUParameter_reflection_;
41443   return metadata;
41444 }
41445
41446 #if PROTOBUF_INLINE_NOT_IN_HEADERS
41447 // ReLUParameter
41448
41449 // optional float negative_slope = 1 [default = 0];
41450 bool ReLUParameter::has_negative_slope() const {
41451   return (_has_bits_[0] & 0x00000001u) != 0;
41452 }
41453 void ReLUParameter::set_has_negative_slope() {
41454   _has_bits_[0] |= 0x00000001u;
41455 }
41456 void ReLUParameter::clear_has_negative_slope() {
41457   _has_bits_[0] &= ~0x00000001u;
41458 }
41459 void ReLUParameter::clear_negative_slope() {
41460   negative_slope_ = 0;
41461   clear_has_negative_slope();
41462 }
41463 float ReLUParameter::negative_slope() const {
41464   // @@protoc_insertion_point(field_get:opencv_caffe.ReLUParameter.negative_slope)
41465   return negative_slope_;
41466 }
41467 void ReLUParameter::set_negative_slope(float value) {
41468   set_has_negative_slope();
41469   negative_slope_ = value;
41470   // @@protoc_insertion_point(field_set:opencv_caffe.ReLUParameter.negative_slope)
41471 }
41472
41473 // optional .opencv_caffe.ReLUParameter.Engine engine = 2 [default = DEFAULT];
41474 bool ReLUParameter::has_engine() const {
41475   return (_has_bits_[0] & 0x00000002u) != 0;
41476 }
41477 void ReLUParameter::set_has_engine() {
41478   _has_bits_[0] |= 0x00000002u;
41479 }
41480 void ReLUParameter::clear_has_engine() {
41481   _has_bits_[0] &= ~0x00000002u;
41482 }
41483 void ReLUParameter::clear_engine() {
41484   engine_ = 0;
41485   clear_has_engine();
41486 }
41487 ::opencv_caffe::ReLUParameter_Engine ReLUParameter::engine() const {
41488   // @@protoc_insertion_point(field_get:opencv_caffe.ReLUParameter.engine)
41489   return static_cast< ::opencv_caffe::ReLUParameter_Engine >(engine_);
41490 }
41491 void ReLUParameter::set_engine(::opencv_caffe::ReLUParameter_Engine value) {
41492   assert(::opencv_caffe::ReLUParameter_Engine_IsValid(value));
41493   set_has_engine();
41494   engine_ = value;
41495   // @@protoc_insertion_point(field_set:opencv_caffe.ReLUParameter.engine)
41496 }
41497
41498 inline const ReLUParameter* ReLUParameter::internal_default_instance() {
41499   return &ReLUParameter_default_instance_.get();
41500 }
41501 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
41502
41503 // ===================================================================
41504
41505 #if !defined(_MSC_VER) || _MSC_VER >= 1900
41506 const int ReshapeParameter::kShapeFieldNumber;
41507 const int ReshapeParameter::kAxisFieldNumber;
41508 const int ReshapeParameter::kNumAxesFieldNumber;
41509 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
41510
41511 ReshapeParameter::ReshapeParameter()
41512   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
41513   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
41514   SharedCtor();
41515   // @@protoc_insertion_point(constructor:opencv_caffe.ReshapeParameter)
41516 }
41517
41518 void ReshapeParameter::InitAsDefaultInstance() {
41519   shape_ = const_cast< ::opencv_caffe::BlobShape*>(
41520       ::opencv_caffe::BlobShape::internal_default_instance());
41521 }
41522
41523 ReshapeParameter::ReshapeParameter(const ReshapeParameter& from)
41524   : ::google::protobuf::Message(),
41525     _internal_metadata_(NULL) {
41526   SharedCtor();
41527   UnsafeMergeFrom(from);
41528   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ReshapeParameter)
41529 }
41530
41531 void ReshapeParameter::SharedCtor() {
41532   _cached_size_ = 0;
41533   shape_ = NULL;
41534   axis_ = 0;
41535   num_axes_ = -1;
41536 }
41537
41538 ReshapeParameter::~ReshapeParameter() {
41539   // @@protoc_insertion_point(destructor:opencv_caffe.ReshapeParameter)
41540   SharedDtor();
41541 }
41542
41543 void ReshapeParameter::SharedDtor() {
41544   if (this != &ReshapeParameter_default_instance_.get()) {
41545     delete shape_;
41546   }
41547 }
41548
41549 void ReshapeParameter::SetCachedSize(int size) const {
41550   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
41551   _cached_size_ = size;
41552   GOOGLE_SAFE_CONCURRENT_WRITES_END();
41553 }
41554 const ::google::protobuf::Descriptor* ReshapeParameter::descriptor() {
41555   protobuf_AssignDescriptorsOnce();
41556   return ReshapeParameter_descriptor_;
41557 }
41558
41559 const ReshapeParameter& ReshapeParameter::default_instance() {
41560   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
41561   return *internal_default_instance();
41562 }
41563
41564 ::google::protobuf::internal::ExplicitlyConstructed<ReshapeParameter> ReshapeParameter_default_instance_;
41565
41566 ReshapeParameter* ReshapeParameter::New(::google::protobuf::Arena* arena) const {
41567   ReshapeParameter* n = new ReshapeParameter;
41568   if (arena != NULL) {
41569     arena->Own(n);
41570   }
41571   return n;
41572 }
41573
41574 void ReshapeParameter::Clear() {
41575 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ReshapeParameter)
41576   if (_has_bits_[0 / 32] & 7u) {
41577     if (has_shape()) {
41578       if (shape_ != NULL) shape_->::opencv_caffe::BlobShape::Clear();
41579     }
41580     axis_ = 0;
41581     num_axes_ = -1;
41582   }
41583   _has_bits_.Clear();
41584   if (_internal_metadata_.have_unknown_fields()) {
41585     mutable_unknown_fields()->Clear();
41586   }
41587 }
41588
41589 bool ReshapeParameter::MergePartialFromCodedStream(
41590     ::google::protobuf::io::CodedInputStream* input) {
41591 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
41592   ::google::protobuf::uint32 tag;
41593   // @@protoc_insertion_point(parse_start:opencv_caffe.ReshapeParameter)
41594   for (;;) {
41595     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
41596     tag = p.first;
41597     if (!p.second) goto handle_unusual;
41598     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
41599       // optional .opencv_caffe.BlobShape shape = 1;
41600       case 1: {
41601         if (tag == 10) {
41602           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
41603                input, mutable_shape()));
41604         } else {
41605           goto handle_unusual;
41606         }
41607         if (input->ExpectTag(16)) goto parse_axis;
41608         break;
41609       }
41610
41611       // optional int32 axis = 2 [default = 0];
41612       case 2: {
41613         if (tag == 16) {
41614          parse_axis:
41615           set_has_axis();
41616           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
41617                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
41618                  input, &axis_)));
41619         } else {
41620           goto handle_unusual;
41621         }
41622         if (input->ExpectTag(24)) goto parse_num_axes;
41623         break;
41624       }
41625
41626       // optional int32 num_axes = 3 [default = -1];
41627       case 3: {
41628         if (tag == 24) {
41629          parse_num_axes:
41630           set_has_num_axes();
41631           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
41632                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
41633                  input, &num_axes_)));
41634         } else {
41635           goto handle_unusual;
41636         }
41637         if (input->ExpectAtEnd()) goto success;
41638         break;
41639       }
41640
41641       default: {
41642       handle_unusual:
41643         if (tag == 0 ||
41644             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
41645             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
41646           goto success;
41647         }
41648         DO_(::google::protobuf::internal::WireFormat::SkipField(
41649               input, tag, mutable_unknown_fields()));
41650         break;
41651       }
41652     }
41653   }
41654 success:
41655   // @@protoc_insertion_point(parse_success:opencv_caffe.ReshapeParameter)
41656   return true;
41657 failure:
41658   // @@protoc_insertion_point(parse_failure:opencv_caffe.ReshapeParameter)
41659   return false;
41660 #undef DO_
41661 }
41662
41663 void ReshapeParameter::SerializeWithCachedSizes(
41664     ::google::protobuf::io::CodedOutputStream* output) const {
41665   // @@protoc_insertion_point(serialize_start:opencv_caffe.ReshapeParameter)
41666   // optional .opencv_caffe.BlobShape shape = 1;
41667   if (has_shape()) {
41668     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
41669       1, *this->shape_, output);
41670   }
41671
41672   // optional int32 axis = 2 [default = 0];
41673   if (has_axis()) {
41674     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->axis(), output);
41675   }
41676
41677   // optional int32 num_axes = 3 [default = -1];
41678   if (has_num_axes()) {
41679     ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->num_axes(), output);
41680   }
41681
41682   if (_internal_metadata_.have_unknown_fields()) {
41683     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
41684         unknown_fields(), output);
41685   }
41686   // @@protoc_insertion_point(serialize_end:opencv_caffe.ReshapeParameter)
41687 }
41688
41689 ::google::protobuf::uint8* ReshapeParameter::InternalSerializeWithCachedSizesToArray(
41690     bool deterministic, ::google::protobuf::uint8* target) const {
41691   (void)deterministic; // Unused
41692   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ReshapeParameter)
41693   // optional .opencv_caffe.BlobShape shape = 1;
41694   if (has_shape()) {
41695     target = ::google::protobuf::internal::WireFormatLite::
41696       InternalWriteMessageNoVirtualToArray(
41697         1, *this->shape_, false, target);
41698   }
41699
41700   // optional int32 axis = 2 [default = 0];
41701   if (has_axis()) {
41702     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->axis(), target);
41703   }
41704
41705   // optional int32 num_axes = 3 [default = -1];
41706   if (has_num_axes()) {
41707     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->num_axes(), target);
41708   }
41709
41710   if (_internal_metadata_.have_unknown_fields()) {
41711     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
41712         unknown_fields(), target);
41713   }
41714   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ReshapeParameter)
41715   return target;
41716 }
41717
41718 size_t ReshapeParameter::ByteSizeLong() const {
41719 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ReshapeParameter)
41720   size_t total_size = 0;
41721
41722   if (_has_bits_[0 / 32] & 7u) {
41723     // optional .opencv_caffe.BlobShape shape = 1;
41724     if (has_shape()) {
41725       total_size += 1 +
41726         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
41727           *this->shape_);
41728     }
41729
41730     // optional int32 axis = 2 [default = 0];
41731     if (has_axis()) {
41732       total_size += 1 +
41733         ::google::protobuf::internal::WireFormatLite::Int32Size(
41734           this->axis());
41735     }
41736
41737     // optional int32 num_axes = 3 [default = -1];
41738     if (has_num_axes()) {
41739       total_size += 1 +
41740         ::google::protobuf::internal::WireFormatLite::Int32Size(
41741           this->num_axes());
41742     }
41743
41744   }
41745   if (_internal_metadata_.have_unknown_fields()) {
41746     total_size +=
41747       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
41748         unknown_fields());
41749   }
41750   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
41751   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
41752   _cached_size_ = cached_size;
41753   GOOGLE_SAFE_CONCURRENT_WRITES_END();
41754   return total_size;
41755 }
41756
41757 void ReshapeParameter::MergeFrom(const ::google::protobuf::Message& from) {
41758 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ReshapeParameter)
41759   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
41760   const ReshapeParameter* source =
41761       ::google::protobuf::internal::DynamicCastToGenerated<const ReshapeParameter>(
41762           &from);
41763   if (source == NULL) {
41764   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ReshapeParameter)
41765     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
41766   } else {
41767   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ReshapeParameter)
41768     UnsafeMergeFrom(*source);
41769   }
41770 }
41771
41772 void ReshapeParameter::MergeFrom(const ReshapeParameter& from) {
41773 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ReshapeParameter)
41774   if (GOOGLE_PREDICT_TRUE(&from != this)) {
41775     UnsafeMergeFrom(from);
41776   } else {
41777     MergeFromFail(__LINE__);
41778   }
41779 }
41780
41781 void ReshapeParameter::UnsafeMergeFrom(const ReshapeParameter& from) {
41782   GOOGLE_DCHECK(&from != this);
41783   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
41784     if (from.has_shape()) {
41785       mutable_shape()->::opencv_caffe::BlobShape::MergeFrom(from.shape());
41786     }
41787     if (from.has_axis()) {
41788       set_axis(from.axis());
41789     }
41790     if (from.has_num_axes()) {
41791       set_num_axes(from.num_axes());
41792     }
41793   }
41794   if (from._internal_metadata_.have_unknown_fields()) {
41795     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
41796       from.unknown_fields(), &_internal_metadata_);
41797   }
41798 }
41799
41800 void ReshapeParameter::CopyFrom(const ::google::protobuf::Message& from) {
41801 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ReshapeParameter)
41802   if (&from == this) return;
41803   Clear();
41804   MergeFrom(from);
41805 }
41806
41807 void ReshapeParameter::CopyFrom(const ReshapeParameter& from) {
41808 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ReshapeParameter)
41809   if (&from == this) return;
41810   Clear();
41811   UnsafeMergeFrom(from);
41812 }
41813
41814 bool ReshapeParameter::IsInitialized() const {
41815
41816   return true;
41817 }
41818
41819 void ReshapeParameter::Swap(ReshapeParameter* other) {
41820   if (other == this) return;
41821   InternalSwap(other);
41822 }
41823 void ReshapeParameter::InternalSwap(ReshapeParameter* other) {
41824   std::swap(shape_, other->shape_);
41825   std::swap(axis_, other->axis_);
41826   std::swap(num_axes_, other->num_axes_);
41827   std::swap(_has_bits_[0], other->_has_bits_[0]);
41828   _internal_metadata_.Swap(&other->_internal_metadata_);
41829   std::swap(_cached_size_, other->_cached_size_);
41830 }
41831
41832 ::google::protobuf::Metadata ReshapeParameter::GetMetadata() const {
41833   protobuf_AssignDescriptorsOnce();
41834   ::google::protobuf::Metadata metadata;
41835   metadata.descriptor = ReshapeParameter_descriptor_;
41836   metadata.reflection = ReshapeParameter_reflection_;
41837   return metadata;
41838 }
41839
41840 #if PROTOBUF_INLINE_NOT_IN_HEADERS
41841 // ReshapeParameter
41842
41843 // optional .opencv_caffe.BlobShape shape = 1;
41844 bool ReshapeParameter::has_shape() const {
41845   return (_has_bits_[0] & 0x00000001u) != 0;
41846 }
41847 void ReshapeParameter::set_has_shape() {
41848   _has_bits_[0] |= 0x00000001u;
41849 }
41850 void ReshapeParameter::clear_has_shape() {
41851   _has_bits_[0] &= ~0x00000001u;
41852 }
41853 void ReshapeParameter::clear_shape() {
41854   if (shape_ != NULL) shape_->::opencv_caffe::BlobShape::Clear();
41855   clear_has_shape();
41856 }
41857 const ::opencv_caffe::BlobShape& ReshapeParameter::shape() const {
41858   // @@protoc_insertion_point(field_get:opencv_caffe.ReshapeParameter.shape)
41859   return shape_ != NULL ? *shape_
41860                          : *::opencv_caffe::BlobShape::internal_default_instance();
41861 }
41862 ::opencv_caffe::BlobShape* ReshapeParameter::mutable_shape() {
41863   set_has_shape();
41864   if (shape_ == NULL) {
41865     shape_ = new ::opencv_caffe::BlobShape;
41866   }
41867   // @@protoc_insertion_point(field_mutable:opencv_caffe.ReshapeParameter.shape)
41868   return shape_;
41869 }
41870 ::opencv_caffe::BlobShape* ReshapeParameter::release_shape() {
41871   // @@protoc_insertion_point(field_release:opencv_caffe.ReshapeParameter.shape)
41872   clear_has_shape();
41873   ::opencv_caffe::BlobShape* temp = shape_;
41874   shape_ = NULL;
41875   return temp;
41876 }
41877 void ReshapeParameter::set_allocated_shape(::opencv_caffe::BlobShape* shape) {
41878   delete shape_;
41879   shape_ = shape;
41880   if (shape) {
41881     set_has_shape();
41882   } else {
41883     clear_has_shape();
41884   }
41885   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ReshapeParameter.shape)
41886 }
41887
41888 // optional int32 axis = 2 [default = 0];
41889 bool ReshapeParameter::has_axis() const {
41890   return (_has_bits_[0] & 0x00000002u) != 0;
41891 }
41892 void ReshapeParameter::set_has_axis() {
41893   _has_bits_[0] |= 0x00000002u;
41894 }
41895 void ReshapeParameter::clear_has_axis() {
41896   _has_bits_[0] &= ~0x00000002u;
41897 }
41898 void ReshapeParameter::clear_axis() {
41899   axis_ = 0;
41900   clear_has_axis();
41901 }
41902 ::google::protobuf::int32 ReshapeParameter::axis() const {
41903   // @@protoc_insertion_point(field_get:opencv_caffe.ReshapeParameter.axis)
41904   return axis_;
41905 }
41906 void ReshapeParameter::set_axis(::google::protobuf::int32 value) {
41907   set_has_axis();
41908   axis_ = value;
41909   // @@protoc_insertion_point(field_set:opencv_caffe.ReshapeParameter.axis)
41910 }
41911
41912 // optional int32 num_axes = 3 [default = -1];
41913 bool ReshapeParameter::has_num_axes() const {
41914   return (_has_bits_[0] & 0x00000004u) != 0;
41915 }
41916 void ReshapeParameter::set_has_num_axes() {
41917   _has_bits_[0] |= 0x00000004u;
41918 }
41919 void ReshapeParameter::clear_has_num_axes() {
41920   _has_bits_[0] &= ~0x00000004u;
41921 }
41922 void ReshapeParameter::clear_num_axes() {
41923   num_axes_ = -1;
41924   clear_has_num_axes();
41925 }
41926 ::google::protobuf::int32 ReshapeParameter::num_axes() const {
41927   // @@protoc_insertion_point(field_get:opencv_caffe.ReshapeParameter.num_axes)
41928   return num_axes_;
41929 }
41930 void ReshapeParameter::set_num_axes(::google::protobuf::int32 value) {
41931   set_has_num_axes();
41932   num_axes_ = value;
41933   // @@protoc_insertion_point(field_set:opencv_caffe.ReshapeParameter.num_axes)
41934 }
41935
41936 inline const ReshapeParameter* ReshapeParameter::internal_default_instance() {
41937   return &ReshapeParameter_default_instance_.get();
41938 }
41939 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
41940
41941 // ===================================================================
41942
41943 #if !defined(_MSC_VER) || _MSC_VER >= 1900
41944 const int ScaleParameter::kAxisFieldNumber;
41945 const int ScaleParameter::kNumAxesFieldNumber;
41946 const int ScaleParameter::kFillerFieldNumber;
41947 const int ScaleParameter::kBiasTermFieldNumber;
41948 const int ScaleParameter::kBiasFillerFieldNumber;
41949 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
41950
41951 ScaleParameter::ScaleParameter()
41952   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
41953   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
41954   SharedCtor();
41955   // @@protoc_insertion_point(constructor:opencv_caffe.ScaleParameter)
41956 }
41957
41958 void ScaleParameter::InitAsDefaultInstance() {
41959   filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
41960       ::opencv_caffe::FillerParameter::internal_default_instance());
41961   bias_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
41962       ::opencv_caffe::FillerParameter::internal_default_instance());
41963 }
41964
41965 ScaleParameter::ScaleParameter(const ScaleParameter& from)
41966   : ::google::protobuf::Message(),
41967     _internal_metadata_(NULL) {
41968   SharedCtor();
41969   UnsafeMergeFrom(from);
41970   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ScaleParameter)
41971 }
41972
41973 void ScaleParameter::SharedCtor() {
41974   _cached_size_ = 0;
41975   filler_ = NULL;
41976   bias_filler_ = NULL;
41977   bias_term_ = false;
41978   axis_ = 1;
41979   num_axes_ = 1;
41980 }
41981
41982 ScaleParameter::~ScaleParameter() {
41983   // @@protoc_insertion_point(destructor:opencv_caffe.ScaleParameter)
41984   SharedDtor();
41985 }
41986
41987 void ScaleParameter::SharedDtor() {
41988   if (this != &ScaleParameter_default_instance_.get()) {
41989     delete filler_;
41990     delete bias_filler_;
41991   }
41992 }
41993
41994 void ScaleParameter::SetCachedSize(int size) const {
41995   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
41996   _cached_size_ = size;
41997   GOOGLE_SAFE_CONCURRENT_WRITES_END();
41998 }
41999 const ::google::protobuf::Descriptor* ScaleParameter::descriptor() {
42000   protobuf_AssignDescriptorsOnce();
42001   return ScaleParameter_descriptor_;
42002 }
42003
42004 const ScaleParameter& ScaleParameter::default_instance() {
42005   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
42006   return *internal_default_instance();
42007 }
42008
42009 ::google::protobuf::internal::ExplicitlyConstructed<ScaleParameter> ScaleParameter_default_instance_;
42010
42011 ScaleParameter* ScaleParameter::New(::google::protobuf::Arena* arena) const {
42012   ScaleParameter* n = new ScaleParameter;
42013   if (arena != NULL) {
42014     arena->Own(n);
42015   }
42016   return n;
42017 }
42018
42019 void ScaleParameter::Clear() {
42020 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ScaleParameter)
42021   if (_has_bits_[0 / 32] & 31u) {
42022     axis_ = 1;
42023     num_axes_ = 1;
42024     if (has_filler()) {
42025       if (filler_ != NULL) filler_->::opencv_caffe::FillerParameter::Clear();
42026     }
42027     bias_term_ = false;
42028     if (has_bias_filler()) {
42029       if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
42030     }
42031   }
42032   _has_bits_.Clear();
42033   if (_internal_metadata_.have_unknown_fields()) {
42034     mutable_unknown_fields()->Clear();
42035   }
42036 }
42037
42038 bool ScaleParameter::MergePartialFromCodedStream(
42039     ::google::protobuf::io::CodedInputStream* input) {
42040 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
42041   ::google::protobuf::uint32 tag;
42042   // @@protoc_insertion_point(parse_start:opencv_caffe.ScaleParameter)
42043   for (;;) {
42044     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
42045     tag = p.first;
42046     if (!p.second) goto handle_unusual;
42047     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
42048       // optional int32 axis = 1 [default = 1];
42049       case 1: {
42050         if (tag == 8) {
42051           set_has_axis();
42052           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
42053                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
42054                  input, &axis_)));
42055         } else {
42056           goto handle_unusual;
42057         }
42058         if (input->ExpectTag(16)) goto parse_num_axes;
42059         break;
42060       }
42061
42062       // optional int32 num_axes = 2 [default = 1];
42063       case 2: {
42064         if (tag == 16) {
42065          parse_num_axes:
42066           set_has_num_axes();
42067           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
42068                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
42069                  input, &num_axes_)));
42070         } else {
42071           goto handle_unusual;
42072         }
42073         if (input->ExpectTag(26)) goto parse_filler;
42074         break;
42075       }
42076
42077       // optional .opencv_caffe.FillerParameter filler = 3;
42078       case 3: {
42079         if (tag == 26) {
42080          parse_filler:
42081           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
42082                input, mutable_filler()));
42083         } else {
42084           goto handle_unusual;
42085         }
42086         if (input->ExpectTag(32)) goto parse_bias_term;
42087         break;
42088       }
42089
42090       // optional bool bias_term = 4 [default = false];
42091       case 4: {
42092         if (tag == 32) {
42093          parse_bias_term:
42094           set_has_bias_term();
42095           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
42096                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
42097                  input, &bias_term_)));
42098         } else {
42099           goto handle_unusual;
42100         }
42101         if (input->ExpectTag(42)) goto parse_bias_filler;
42102         break;
42103       }
42104
42105       // optional .opencv_caffe.FillerParameter bias_filler = 5;
42106       case 5: {
42107         if (tag == 42) {
42108          parse_bias_filler:
42109           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
42110                input, mutable_bias_filler()));
42111         } else {
42112           goto handle_unusual;
42113         }
42114         if (input->ExpectAtEnd()) goto success;
42115         break;
42116       }
42117
42118       default: {
42119       handle_unusual:
42120         if (tag == 0 ||
42121             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
42122             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
42123           goto success;
42124         }
42125         DO_(::google::protobuf::internal::WireFormat::SkipField(
42126               input, tag, mutable_unknown_fields()));
42127         break;
42128       }
42129     }
42130   }
42131 success:
42132   // @@protoc_insertion_point(parse_success:opencv_caffe.ScaleParameter)
42133   return true;
42134 failure:
42135   // @@protoc_insertion_point(parse_failure:opencv_caffe.ScaleParameter)
42136   return false;
42137 #undef DO_
42138 }
42139
42140 void ScaleParameter::SerializeWithCachedSizes(
42141     ::google::protobuf::io::CodedOutputStream* output) const {
42142   // @@protoc_insertion_point(serialize_start:opencv_caffe.ScaleParameter)
42143   // optional int32 axis = 1 [default = 1];
42144   if (has_axis()) {
42145     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->axis(), output);
42146   }
42147
42148   // optional int32 num_axes = 2 [default = 1];
42149   if (has_num_axes()) {
42150     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->num_axes(), output);
42151   }
42152
42153   // optional .opencv_caffe.FillerParameter filler = 3;
42154   if (has_filler()) {
42155     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
42156       3, *this->filler_, output);
42157   }
42158
42159   // optional bool bias_term = 4 [default = false];
42160   if (has_bias_term()) {
42161     ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->bias_term(), output);
42162   }
42163
42164   // optional .opencv_caffe.FillerParameter bias_filler = 5;
42165   if (has_bias_filler()) {
42166     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
42167       5, *this->bias_filler_, output);
42168   }
42169
42170   if (_internal_metadata_.have_unknown_fields()) {
42171     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
42172         unknown_fields(), output);
42173   }
42174   // @@protoc_insertion_point(serialize_end:opencv_caffe.ScaleParameter)
42175 }
42176
42177 ::google::protobuf::uint8* ScaleParameter::InternalSerializeWithCachedSizesToArray(
42178     bool deterministic, ::google::protobuf::uint8* target) const {
42179   (void)deterministic; // Unused
42180   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ScaleParameter)
42181   // optional int32 axis = 1 [default = 1];
42182   if (has_axis()) {
42183     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->axis(), target);
42184   }
42185
42186   // optional int32 num_axes = 2 [default = 1];
42187   if (has_num_axes()) {
42188     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->num_axes(), target);
42189   }
42190
42191   // optional .opencv_caffe.FillerParameter filler = 3;
42192   if (has_filler()) {
42193     target = ::google::protobuf::internal::WireFormatLite::
42194       InternalWriteMessageNoVirtualToArray(
42195         3, *this->filler_, false, target);
42196   }
42197
42198   // optional bool bias_term = 4 [default = false];
42199   if (has_bias_term()) {
42200     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(4, this->bias_term(), target);
42201   }
42202
42203   // optional .opencv_caffe.FillerParameter bias_filler = 5;
42204   if (has_bias_filler()) {
42205     target = ::google::protobuf::internal::WireFormatLite::
42206       InternalWriteMessageNoVirtualToArray(
42207         5, *this->bias_filler_, false, target);
42208   }
42209
42210   if (_internal_metadata_.have_unknown_fields()) {
42211     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
42212         unknown_fields(), target);
42213   }
42214   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ScaleParameter)
42215   return target;
42216 }
42217
42218 size_t ScaleParameter::ByteSizeLong() const {
42219 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ScaleParameter)
42220   size_t total_size = 0;
42221
42222   if (_has_bits_[0 / 32] & 31u) {
42223     // optional int32 axis = 1 [default = 1];
42224     if (has_axis()) {
42225       total_size += 1 +
42226         ::google::protobuf::internal::WireFormatLite::Int32Size(
42227           this->axis());
42228     }
42229
42230     // optional int32 num_axes = 2 [default = 1];
42231     if (has_num_axes()) {
42232       total_size += 1 +
42233         ::google::protobuf::internal::WireFormatLite::Int32Size(
42234           this->num_axes());
42235     }
42236
42237     // optional .opencv_caffe.FillerParameter filler = 3;
42238     if (has_filler()) {
42239       total_size += 1 +
42240         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
42241           *this->filler_);
42242     }
42243
42244     // optional bool bias_term = 4 [default = false];
42245     if (has_bias_term()) {
42246       total_size += 1 + 1;
42247     }
42248
42249     // optional .opencv_caffe.FillerParameter bias_filler = 5;
42250     if (has_bias_filler()) {
42251       total_size += 1 +
42252         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
42253           *this->bias_filler_);
42254     }
42255
42256   }
42257   if (_internal_metadata_.have_unknown_fields()) {
42258     total_size +=
42259       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
42260         unknown_fields());
42261   }
42262   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
42263   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
42264   _cached_size_ = cached_size;
42265   GOOGLE_SAFE_CONCURRENT_WRITES_END();
42266   return total_size;
42267 }
42268
42269 void ScaleParameter::MergeFrom(const ::google::protobuf::Message& from) {
42270 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ScaleParameter)
42271   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
42272   const ScaleParameter* source =
42273       ::google::protobuf::internal::DynamicCastToGenerated<const ScaleParameter>(
42274           &from);
42275   if (source == NULL) {
42276   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ScaleParameter)
42277     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
42278   } else {
42279   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ScaleParameter)
42280     UnsafeMergeFrom(*source);
42281   }
42282 }
42283
42284 void ScaleParameter::MergeFrom(const ScaleParameter& from) {
42285 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ScaleParameter)
42286   if (GOOGLE_PREDICT_TRUE(&from != this)) {
42287     UnsafeMergeFrom(from);
42288   } else {
42289     MergeFromFail(__LINE__);
42290   }
42291 }
42292
42293 void ScaleParameter::UnsafeMergeFrom(const ScaleParameter& from) {
42294   GOOGLE_DCHECK(&from != this);
42295   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
42296     if (from.has_axis()) {
42297       set_axis(from.axis());
42298     }
42299     if (from.has_num_axes()) {
42300       set_num_axes(from.num_axes());
42301     }
42302     if (from.has_filler()) {
42303       mutable_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.filler());
42304     }
42305     if (from.has_bias_term()) {
42306       set_bias_term(from.bias_term());
42307     }
42308     if (from.has_bias_filler()) {
42309       mutable_bias_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.bias_filler());
42310     }
42311   }
42312   if (from._internal_metadata_.have_unknown_fields()) {
42313     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
42314       from.unknown_fields(), &_internal_metadata_);
42315   }
42316 }
42317
42318 void ScaleParameter::CopyFrom(const ::google::protobuf::Message& from) {
42319 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ScaleParameter)
42320   if (&from == this) return;
42321   Clear();
42322   MergeFrom(from);
42323 }
42324
42325 void ScaleParameter::CopyFrom(const ScaleParameter& from) {
42326 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ScaleParameter)
42327   if (&from == this) return;
42328   Clear();
42329   UnsafeMergeFrom(from);
42330 }
42331
42332 bool ScaleParameter::IsInitialized() const {
42333
42334   return true;
42335 }
42336
42337 void ScaleParameter::Swap(ScaleParameter* other) {
42338   if (other == this) return;
42339   InternalSwap(other);
42340 }
42341 void ScaleParameter::InternalSwap(ScaleParameter* other) {
42342   std::swap(axis_, other->axis_);
42343   std::swap(num_axes_, other->num_axes_);
42344   std::swap(filler_, other->filler_);
42345   std::swap(bias_term_, other->bias_term_);
42346   std::swap(bias_filler_, other->bias_filler_);
42347   std::swap(_has_bits_[0], other->_has_bits_[0]);
42348   _internal_metadata_.Swap(&other->_internal_metadata_);
42349   std::swap(_cached_size_, other->_cached_size_);
42350 }
42351
42352 ::google::protobuf::Metadata ScaleParameter::GetMetadata() const {
42353   protobuf_AssignDescriptorsOnce();
42354   ::google::protobuf::Metadata metadata;
42355   metadata.descriptor = ScaleParameter_descriptor_;
42356   metadata.reflection = ScaleParameter_reflection_;
42357   return metadata;
42358 }
42359
42360 #if PROTOBUF_INLINE_NOT_IN_HEADERS
42361 // ScaleParameter
42362
42363 // optional int32 axis = 1 [default = 1];
42364 bool ScaleParameter::has_axis() const {
42365   return (_has_bits_[0] & 0x00000001u) != 0;
42366 }
42367 void ScaleParameter::set_has_axis() {
42368   _has_bits_[0] |= 0x00000001u;
42369 }
42370 void ScaleParameter::clear_has_axis() {
42371   _has_bits_[0] &= ~0x00000001u;
42372 }
42373 void ScaleParameter::clear_axis() {
42374   axis_ = 1;
42375   clear_has_axis();
42376 }
42377 ::google::protobuf::int32 ScaleParameter::axis() const {
42378   // @@protoc_insertion_point(field_get:opencv_caffe.ScaleParameter.axis)
42379   return axis_;
42380 }
42381 void ScaleParameter::set_axis(::google::protobuf::int32 value) {
42382   set_has_axis();
42383   axis_ = value;
42384   // @@protoc_insertion_point(field_set:opencv_caffe.ScaleParameter.axis)
42385 }
42386
42387 // optional int32 num_axes = 2 [default = 1];
42388 bool ScaleParameter::has_num_axes() const {
42389   return (_has_bits_[0] & 0x00000002u) != 0;
42390 }
42391 void ScaleParameter::set_has_num_axes() {
42392   _has_bits_[0] |= 0x00000002u;
42393 }
42394 void ScaleParameter::clear_has_num_axes() {
42395   _has_bits_[0] &= ~0x00000002u;
42396 }
42397 void ScaleParameter::clear_num_axes() {
42398   num_axes_ = 1;
42399   clear_has_num_axes();
42400 }
42401 ::google::protobuf::int32 ScaleParameter::num_axes() const {
42402   // @@protoc_insertion_point(field_get:opencv_caffe.ScaleParameter.num_axes)
42403   return num_axes_;
42404 }
42405 void ScaleParameter::set_num_axes(::google::protobuf::int32 value) {
42406   set_has_num_axes();
42407   num_axes_ = value;
42408   // @@protoc_insertion_point(field_set:opencv_caffe.ScaleParameter.num_axes)
42409 }
42410
42411 // optional .opencv_caffe.FillerParameter filler = 3;
42412 bool ScaleParameter::has_filler() const {
42413   return (_has_bits_[0] & 0x00000004u) != 0;
42414 }
42415 void ScaleParameter::set_has_filler() {
42416   _has_bits_[0] |= 0x00000004u;
42417 }
42418 void ScaleParameter::clear_has_filler() {
42419   _has_bits_[0] &= ~0x00000004u;
42420 }
42421 void ScaleParameter::clear_filler() {
42422   if (filler_ != NULL) filler_->::opencv_caffe::FillerParameter::Clear();
42423   clear_has_filler();
42424 }
42425 const ::opencv_caffe::FillerParameter& ScaleParameter::filler() const {
42426   // @@protoc_insertion_point(field_get:opencv_caffe.ScaleParameter.filler)
42427   return filler_ != NULL ? *filler_
42428                          : *::opencv_caffe::FillerParameter::internal_default_instance();
42429 }
42430 ::opencv_caffe::FillerParameter* ScaleParameter::mutable_filler() {
42431   set_has_filler();
42432   if (filler_ == NULL) {
42433     filler_ = new ::opencv_caffe::FillerParameter;
42434   }
42435   // @@protoc_insertion_point(field_mutable:opencv_caffe.ScaleParameter.filler)
42436   return filler_;
42437 }
42438 ::opencv_caffe::FillerParameter* ScaleParameter::release_filler() {
42439   // @@protoc_insertion_point(field_release:opencv_caffe.ScaleParameter.filler)
42440   clear_has_filler();
42441   ::opencv_caffe::FillerParameter* temp = filler_;
42442   filler_ = NULL;
42443   return temp;
42444 }
42445 void ScaleParameter::set_allocated_filler(::opencv_caffe::FillerParameter* filler) {
42446   delete filler_;
42447   filler_ = filler;
42448   if (filler) {
42449     set_has_filler();
42450   } else {
42451     clear_has_filler();
42452   }
42453   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ScaleParameter.filler)
42454 }
42455
42456 // optional bool bias_term = 4 [default = false];
42457 bool ScaleParameter::has_bias_term() const {
42458   return (_has_bits_[0] & 0x00000008u) != 0;
42459 }
42460 void ScaleParameter::set_has_bias_term() {
42461   _has_bits_[0] |= 0x00000008u;
42462 }
42463 void ScaleParameter::clear_has_bias_term() {
42464   _has_bits_[0] &= ~0x00000008u;
42465 }
42466 void ScaleParameter::clear_bias_term() {
42467   bias_term_ = false;
42468   clear_has_bias_term();
42469 }
42470 bool ScaleParameter::bias_term() const {
42471   // @@protoc_insertion_point(field_get:opencv_caffe.ScaleParameter.bias_term)
42472   return bias_term_;
42473 }
42474 void ScaleParameter::set_bias_term(bool value) {
42475   set_has_bias_term();
42476   bias_term_ = value;
42477   // @@protoc_insertion_point(field_set:opencv_caffe.ScaleParameter.bias_term)
42478 }
42479
42480 // optional .opencv_caffe.FillerParameter bias_filler = 5;
42481 bool ScaleParameter::has_bias_filler() const {
42482   return (_has_bits_[0] & 0x00000010u) != 0;
42483 }
42484 void ScaleParameter::set_has_bias_filler() {
42485   _has_bits_[0] |= 0x00000010u;
42486 }
42487 void ScaleParameter::clear_has_bias_filler() {
42488   _has_bits_[0] &= ~0x00000010u;
42489 }
42490 void ScaleParameter::clear_bias_filler() {
42491   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
42492   clear_has_bias_filler();
42493 }
42494 const ::opencv_caffe::FillerParameter& ScaleParameter::bias_filler() const {
42495   // @@protoc_insertion_point(field_get:opencv_caffe.ScaleParameter.bias_filler)
42496   return bias_filler_ != NULL ? *bias_filler_
42497                          : *::opencv_caffe::FillerParameter::internal_default_instance();
42498 }
42499 ::opencv_caffe::FillerParameter* ScaleParameter::mutable_bias_filler() {
42500   set_has_bias_filler();
42501   if (bias_filler_ == NULL) {
42502     bias_filler_ = new ::opencv_caffe::FillerParameter;
42503   }
42504   // @@protoc_insertion_point(field_mutable:opencv_caffe.ScaleParameter.bias_filler)
42505   return bias_filler_;
42506 }
42507 ::opencv_caffe::FillerParameter* ScaleParameter::release_bias_filler() {
42508   // @@protoc_insertion_point(field_release:opencv_caffe.ScaleParameter.bias_filler)
42509   clear_has_bias_filler();
42510   ::opencv_caffe::FillerParameter* temp = bias_filler_;
42511   bias_filler_ = NULL;
42512   return temp;
42513 }
42514 void ScaleParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
42515   delete bias_filler_;
42516   bias_filler_ = bias_filler;
42517   if (bias_filler) {
42518     set_has_bias_filler();
42519   } else {
42520     clear_has_bias_filler();
42521   }
42522   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ScaleParameter.bias_filler)
42523 }
42524
42525 inline const ScaleParameter* ScaleParameter::internal_default_instance() {
42526   return &ScaleParameter_default_instance_.get();
42527 }
42528 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
42529
42530 // ===================================================================
42531
42532 const ::google::protobuf::EnumDescriptor* SigmoidParameter_Engine_descriptor() {
42533   protobuf_AssignDescriptorsOnce();
42534   return SigmoidParameter_Engine_descriptor_;
42535 }
42536 bool SigmoidParameter_Engine_IsValid(int value) {
42537   switch (value) {
42538     case 0:
42539     case 1:
42540     case 2:
42541       return true;
42542     default:
42543       return false;
42544   }
42545 }
42546
42547 #if !defined(_MSC_VER) || _MSC_VER >= 1900
42548 const SigmoidParameter_Engine SigmoidParameter::DEFAULT;
42549 const SigmoidParameter_Engine SigmoidParameter::CAFFE;
42550 const SigmoidParameter_Engine SigmoidParameter::CUDNN;
42551 const SigmoidParameter_Engine SigmoidParameter::Engine_MIN;
42552 const SigmoidParameter_Engine SigmoidParameter::Engine_MAX;
42553 const int SigmoidParameter::Engine_ARRAYSIZE;
42554 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
42555 #if !defined(_MSC_VER) || _MSC_VER >= 1900
42556 const int SigmoidParameter::kEngineFieldNumber;
42557 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
42558
42559 SigmoidParameter::SigmoidParameter()
42560   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
42561   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
42562   SharedCtor();
42563   // @@protoc_insertion_point(constructor:opencv_caffe.SigmoidParameter)
42564 }
42565
42566 void SigmoidParameter::InitAsDefaultInstance() {
42567 }
42568
42569 SigmoidParameter::SigmoidParameter(const SigmoidParameter& from)
42570   : ::google::protobuf::Message(),
42571     _internal_metadata_(NULL) {
42572   SharedCtor();
42573   UnsafeMergeFrom(from);
42574   // @@protoc_insertion_point(copy_constructor:opencv_caffe.SigmoidParameter)
42575 }
42576
42577 void SigmoidParameter::SharedCtor() {
42578   _cached_size_ = 0;
42579   engine_ = 0;
42580 }
42581
42582 SigmoidParameter::~SigmoidParameter() {
42583   // @@protoc_insertion_point(destructor:opencv_caffe.SigmoidParameter)
42584   SharedDtor();
42585 }
42586
42587 void SigmoidParameter::SharedDtor() {
42588 }
42589
42590 void SigmoidParameter::SetCachedSize(int size) const {
42591   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
42592   _cached_size_ = size;
42593   GOOGLE_SAFE_CONCURRENT_WRITES_END();
42594 }
42595 const ::google::protobuf::Descriptor* SigmoidParameter::descriptor() {
42596   protobuf_AssignDescriptorsOnce();
42597   return SigmoidParameter_descriptor_;
42598 }
42599
42600 const SigmoidParameter& SigmoidParameter::default_instance() {
42601   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
42602   return *internal_default_instance();
42603 }
42604
42605 ::google::protobuf::internal::ExplicitlyConstructed<SigmoidParameter> SigmoidParameter_default_instance_;
42606
42607 SigmoidParameter* SigmoidParameter::New(::google::protobuf::Arena* arena) const {
42608   SigmoidParameter* n = new SigmoidParameter;
42609   if (arena != NULL) {
42610     arena->Own(n);
42611   }
42612   return n;
42613 }
42614
42615 void SigmoidParameter::Clear() {
42616 // @@protoc_insertion_point(message_clear_start:opencv_caffe.SigmoidParameter)
42617   engine_ = 0;
42618   _has_bits_.Clear();
42619   if (_internal_metadata_.have_unknown_fields()) {
42620     mutable_unknown_fields()->Clear();
42621   }
42622 }
42623
42624 bool SigmoidParameter::MergePartialFromCodedStream(
42625     ::google::protobuf::io::CodedInputStream* input) {
42626 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
42627   ::google::protobuf::uint32 tag;
42628   // @@protoc_insertion_point(parse_start:opencv_caffe.SigmoidParameter)
42629   for (;;) {
42630     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
42631     tag = p.first;
42632     if (!p.second) goto handle_unusual;
42633     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
42634       // optional .opencv_caffe.SigmoidParameter.Engine engine = 1 [default = DEFAULT];
42635       case 1: {
42636         if (tag == 8) {
42637           int value;
42638           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
42639                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
42640                  input, &value)));
42641           if (::opencv_caffe::SigmoidParameter_Engine_IsValid(value)) {
42642             set_engine(static_cast< ::opencv_caffe::SigmoidParameter_Engine >(value));
42643           } else {
42644             mutable_unknown_fields()->AddVarint(1, value);
42645           }
42646         } else {
42647           goto handle_unusual;
42648         }
42649         if (input->ExpectAtEnd()) goto success;
42650         break;
42651       }
42652
42653       default: {
42654       handle_unusual:
42655         if (tag == 0 ||
42656             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
42657             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
42658           goto success;
42659         }
42660         DO_(::google::protobuf::internal::WireFormat::SkipField(
42661               input, tag, mutable_unknown_fields()));
42662         break;
42663       }
42664     }
42665   }
42666 success:
42667   // @@protoc_insertion_point(parse_success:opencv_caffe.SigmoidParameter)
42668   return true;
42669 failure:
42670   // @@protoc_insertion_point(parse_failure:opencv_caffe.SigmoidParameter)
42671   return false;
42672 #undef DO_
42673 }
42674
42675 void SigmoidParameter::SerializeWithCachedSizes(
42676     ::google::protobuf::io::CodedOutputStream* output) const {
42677   // @@protoc_insertion_point(serialize_start:opencv_caffe.SigmoidParameter)
42678   // optional .opencv_caffe.SigmoidParameter.Engine engine = 1 [default = DEFAULT];
42679   if (has_engine()) {
42680     ::google::protobuf::internal::WireFormatLite::WriteEnum(
42681       1, this->engine(), output);
42682   }
42683
42684   if (_internal_metadata_.have_unknown_fields()) {
42685     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
42686         unknown_fields(), output);
42687   }
42688   // @@protoc_insertion_point(serialize_end:opencv_caffe.SigmoidParameter)
42689 }
42690
42691 ::google::protobuf::uint8* SigmoidParameter::InternalSerializeWithCachedSizesToArray(
42692     bool deterministic, ::google::protobuf::uint8* target) const {
42693   (void)deterministic; // Unused
42694   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.SigmoidParameter)
42695   // optional .opencv_caffe.SigmoidParameter.Engine engine = 1 [default = DEFAULT];
42696   if (has_engine()) {
42697     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
42698       1, this->engine(), target);
42699   }
42700
42701   if (_internal_metadata_.have_unknown_fields()) {
42702     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
42703         unknown_fields(), target);
42704   }
42705   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.SigmoidParameter)
42706   return target;
42707 }
42708
42709 size_t SigmoidParameter::ByteSizeLong() const {
42710 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.SigmoidParameter)
42711   size_t total_size = 0;
42712
42713   // optional .opencv_caffe.SigmoidParameter.Engine engine = 1 [default = DEFAULT];
42714   if (has_engine()) {
42715     total_size += 1 +
42716       ::google::protobuf::internal::WireFormatLite::EnumSize(this->engine());
42717   }
42718
42719   if (_internal_metadata_.have_unknown_fields()) {
42720     total_size +=
42721       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
42722         unknown_fields());
42723   }
42724   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
42725   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
42726   _cached_size_ = cached_size;
42727   GOOGLE_SAFE_CONCURRENT_WRITES_END();
42728   return total_size;
42729 }
42730
42731 void SigmoidParameter::MergeFrom(const ::google::protobuf::Message& from) {
42732 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.SigmoidParameter)
42733   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
42734   const SigmoidParameter* source =
42735       ::google::protobuf::internal::DynamicCastToGenerated<const SigmoidParameter>(
42736           &from);
42737   if (source == NULL) {
42738   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.SigmoidParameter)
42739     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
42740   } else {
42741   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.SigmoidParameter)
42742     UnsafeMergeFrom(*source);
42743   }
42744 }
42745
42746 void SigmoidParameter::MergeFrom(const SigmoidParameter& from) {
42747 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.SigmoidParameter)
42748   if (GOOGLE_PREDICT_TRUE(&from != this)) {
42749     UnsafeMergeFrom(from);
42750   } else {
42751     MergeFromFail(__LINE__);
42752   }
42753 }
42754
42755 void SigmoidParameter::UnsafeMergeFrom(const SigmoidParameter& from) {
42756   GOOGLE_DCHECK(&from != this);
42757   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
42758     if (from.has_engine()) {
42759       set_engine(from.engine());
42760     }
42761   }
42762   if (from._internal_metadata_.have_unknown_fields()) {
42763     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
42764       from.unknown_fields(), &_internal_metadata_);
42765   }
42766 }
42767
42768 void SigmoidParameter::CopyFrom(const ::google::protobuf::Message& from) {
42769 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.SigmoidParameter)
42770   if (&from == this) return;
42771   Clear();
42772   MergeFrom(from);
42773 }
42774
42775 void SigmoidParameter::CopyFrom(const SigmoidParameter& from) {
42776 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.SigmoidParameter)
42777   if (&from == this) return;
42778   Clear();
42779   UnsafeMergeFrom(from);
42780 }
42781
42782 bool SigmoidParameter::IsInitialized() const {
42783
42784   return true;
42785 }
42786
42787 void SigmoidParameter::Swap(SigmoidParameter* other) {
42788   if (other == this) return;
42789   InternalSwap(other);
42790 }
42791 void SigmoidParameter::InternalSwap(SigmoidParameter* other) {
42792   std::swap(engine_, other->engine_);
42793   std::swap(_has_bits_[0], other->_has_bits_[0]);
42794   _internal_metadata_.Swap(&other->_internal_metadata_);
42795   std::swap(_cached_size_, other->_cached_size_);
42796 }
42797
42798 ::google::protobuf::Metadata SigmoidParameter::GetMetadata() const {
42799   protobuf_AssignDescriptorsOnce();
42800   ::google::protobuf::Metadata metadata;
42801   metadata.descriptor = SigmoidParameter_descriptor_;
42802   metadata.reflection = SigmoidParameter_reflection_;
42803   return metadata;
42804 }
42805
42806 #if PROTOBUF_INLINE_NOT_IN_HEADERS
42807 // SigmoidParameter
42808
42809 // optional .opencv_caffe.SigmoidParameter.Engine engine = 1 [default = DEFAULT];
42810 bool SigmoidParameter::has_engine() const {
42811   return (_has_bits_[0] & 0x00000001u) != 0;
42812 }
42813 void SigmoidParameter::set_has_engine() {
42814   _has_bits_[0] |= 0x00000001u;
42815 }
42816 void SigmoidParameter::clear_has_engine() {
42817   _has_bits_[0] &= ~0x00000001u;
42818 }
42819 void SigmoidParameter::clear_engine() {
42820   engine_ = 0;
42821   clear_has_engine();
42822 }
42823 ::opencv_caffe::SigmoidParameter_Engine SigmoidParameter::engine() const {
42824   // @@protoc_insertion_point(field_get:opencv_caffe.SigmoidParameter.engine)
42825   return static_cast< ::opencv_caffe::SigmoidParameter_Engine >(engine_);
42826 }
42827 void SigmoidParameter::set_engine(::opencv_caffe::SigmoidParameter_Engine value) {
42828   assert(::opencv_caffe::SigmoidParameter_Engine_IsValid(value));
42829   set_has_engine();
42830   engine_ = value;
42831   // @@protoc_insertion_point(field_set:opencv_caffe.SigmoidParameter.engine)
42832 }
42833
42834 inline const SigmoidParameter* SigmoidParameter::internal_default_instance() {
42835   return &SigmoidParameter_default_instance_.get();
42836 }
42837 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
42838
42839 // ===================================================================
42840
42841 #if !defined(_MSC_VER) || _MSC_VER >= 1900
42842 const int SliceParameter::kAxisFieldNumber;
42843 const int SliceParameter::kSlicePointFieldNumber;
42844 const int SliceParameter::kSliceDimFieldNumber;
42845 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
42846
42847 SliceParameter::SliceParameter()
42848   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
42849   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
42850   SharedCtor();
42851   // @@protoc_insertion_point(constructor:opencv_caffe.SliceParameter)
42852 }
42853
42854 void SliceParameter::InitAsDefaultInstance() {
42855 }
42856
42857 SliceParameter::SliceParameter(const SliceParameter& from)
42858   : ::google::protobuf::Message(),
42859     _internal_metadata_(NULL) {
42860   SharedCtor();
42861   UnsafeMergeFrom(from);
42862   // @@protoc_insertion_point(copy_constructor:opencv_caffe.SliceParameter)
42863 }
42864
42865 void SliceParameter::SharedCtor() {
42866   _cached_size_ = 0;
42867   axis_ = 1;
42868   slice_dim_ = 1u;
42869 }
42870
42871 SliceParameter::~SliceParameter() {
42872   // @@protoc_insertion_point(destructor:opencv_caffe.SliceParameter)
42873   SharedDtor();
42874 }
42875
42876 void SliceParameter::SharedDtor() {
42877 }
42878
42879 void SliceParameter::SetCachedSize(int size) const {
42880   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
42881   _cached_size_ = size;
42882   GOOGLE_SAFE_CONCURRENT_WRITES_END();
42883 }
42884 const ::google::protobuf::Descriptor* SliceParameter::descriptor() {
42885   protobuf_AssignDescriptorsOnce();
42886   return SliceParameter_descriptor_;
42887 }
42888
42889 const SliceParameter& SliceParameter::default_instance() {
42890   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
42891   return *internal_default_instance();
42892 }
42893
42894 ::google::protobuf::internal::ExplicitlyConstructed<SliceParameter> SliceParameter_default_instance_;
42895
42896 SliceParameter* SliceParameter::New(::google::protobuf::Arena* arena) const {
42897   SliceParameter* n = new SliceParameter;
42898   if (arena != NULL) {
42899     arena->Own(n);
42900   }
42901   return n;
42902 }
42903
42904 void SliceParameter::Clear() {
42905 // @@protoc_insertion_point(message_clear_start:opencv_caffe.SliceParameter)
42906   if (_has_bits_[0 / 32] & 5u) {
42907     axis_ = 1;
42908     slice_dim_ = 1u;
42909   }
42910   slice_point_.Clear();
42911   _has_bits_.Clear();
42912   if (_internal_metadata_.have_unknown_fields()) {
42913     mutable_unknown_fields()->Clear();
42914   }
42915 }
42916
42917 bool SliceParameter::MergePartialFromCodedStream(
42918     ::google::protobuf::io::CodedInputStream* input) {
42919 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
42920   ::google::protobuf::uint32 tag;
42921   // @@protoc_insertion_point(parse_start:opencv_caffe.SliceParameter)
42922   for (;;) {
42923     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
42924     tag = p.first;
42925     if (!p.second) goto handle_unusual;
42926     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
42927       // optional uint32 slice_dim = 1 [default = 1];
42928       case 1: {
42929         if (tag == 8) {
42930           set_has_slice_dim();
42931           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
42932                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
42933                  input, &slice_dim_)));
42934         } else {
42935           goto handle_unusual;
42936         }
42937         if (input->ExpectTag(16)) goto parse_slice_point;
42938         break;
42939       }
42940
42941       // repeated uint32 slice_point = 2;
42942       case 2: {
42943         if (tag == 16) {
42944          parse_slice_point:
42945           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
42946                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
42947                  1, 16, input, this->mutable_slice_point())));
42948         } else if (tag == 18) {
42949           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
42950                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
42951                  input, this->mutable_slice_point())));
42952         } else {
42953           goto handle_unusual;
42954         }
42955         if (input->ExpectTag(16)) goto parse_slice_point;
42956         if (input->ExpectTag(24)) goto parse_axis;
42957         break;
42958       }
42959
42960       // optional int32 axis = 3 [default = 1];
42961       case 3: {
42962         if (tag == 24) {
42963          parse_axis:
42964           set_has_axis();
42965           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
42966                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
42967                  input, &axis_)));
42968         } else {
42969           goto handle_unusual;
42970         }
42971         if (input->ExpectAtEnd()) goto success;
42972         break;
42973       }
42974
42975       default: {
42976       handle_unusual:
42977         if (tag == 0 ||
42978             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
42979             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
42980           goto success;
42981         }
42982         DO_(::google::protobuf::internal::WireFormat::SkipField(
42983               input, tag, mutable_unknown_fields()));
42984         break;
42985       }
42986     }
42987   }
42988 success:
42989   // @@protoc_insertion_point(parse_success:opencv_caffe.SliceParameter)
42990   return true;
42991 failure:
42992   // @@protoc_insertion_point(parse_failure:opencv_caffe.SliceParameter)
42993   return false;
42994 #undef DO_
42995 }
42996
42997 void SliceParameter::SerializeWithCachedSizes(
42998     ::google::protobuf::io::CodedOutputStream* output) const {
42999   // @@protoc_insertion_point(serialize_start:opencv_caffe.SliceParameter)
43000   // optional uint32 slice_dim = 1 [default = 1];
43001   if (has_slice_dim()) {
43002     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->slice_dim(), output);
43003   }
43004
43005   // repeated uint32 slice_point = 2;
43006   for (int i = 0; i < this->slice_point_size(); i++) {
43007     ::google::protobuf::internal::WireFormatLite::WriteUInt32(
43008       2, this->slice_point(i), output);
43009   }
43010
43011   // optional int32 axis = 3 [default = 1];
43012   if (has_axis()) {
43013     ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->axis(), output);
43014   }
43015
43016   if (_internal_metadata_.have_unknown_fields()) {
43017     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
43018         unknown_fields(), output);
43019   }
43020   // @@protoc_insertion_point(serialize_end:opencv_caffe.SliceParameter)
43021 }
43022
43023 ::google::protobuf::uint8* SliceParameter::InternalSerializeWithCachedSizesToArray(
43024     bool deterministic, ::google::protobuf::uint8* target) const {
43025   (void)deterministic; // Unused
43026   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.SliceParameter)
43027   // optional uint32 slice_dim = 1 [default = 1];
43028   if (has_slice_dim()) {
43029     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->slice_dim(), target);
43030   }
43031
43032   // repeated uint32 slice_point = 2;
43033   for (int i = 0; i < this->slice_point_size(); i++) {
43034     target = ::google::protobuf::internal::WireFormatLite::
43035       WriteUInt32ToArray(2, this->slice_point(i), target);
43036   }
43037
43038   // optional int32 axis = 3 [default = 1];
43039   if (has_axis()) {
43040     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->axis(), target);
43041   }
43042
43043   if (_internal_metadata_.have_unknown_fields()) {
43044     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
43045         unknown_fields(), target);
43046   }
43047   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.SliceParameter)
43048   return target;
43049 }
43050
43051 size_t SliceParameter::ByteSizeLong() const {
43052 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.SliceParameter)
43053   size_t total_size = 0;
43054
43055   if (_has_bits_[0 / 32] & 5u) {
43056     // optional int32 axis = 3 [default = 1];
43057     if (has_axis()) {
43058       total_size += 1 +
43059         ::google::protobuf::internal::WireFormatLite::Int32Size(
43060           this->axis());
43061     }
43062
43063     // optional uint32 slice_dim = 1 [default = 1];
43064     if (has_slice_dim()) {
43065       total_size += 1 +
43066         ::google::protobuf::internal::WireFormatLite::UInt32Size(
43067           this->slice_dim());
43068     }
43069
43070   }
43071   // repeated uint32 slice_point = 2;
43072   {
43073     size_t data_size = 0;
43074     unsigned int count = this->slice_point_size();
43075     for (unsigned int i = 0; i < count; i++) {
43076       data_size += ::google::protobuf::internal::WireFormatLite::
43077         UInt32Size(this->slice_point(i));
43078     }
43079     total_size += 1 *
43080                   ::google::protobuf::internal::FromIntSize(this->slice_point_size());
43081     total_size += data_size;
43082   }
43083
43084   if (_internal_metadata_.have_unknown_fields()) {
43085     total_size +=
43086       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
43087         unknown_fields());
43088   }
43089   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
43090   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
43091   _cached_size_ = cached_size;
43092   GOOGLE_SAFE_CONCURRENT_WRITES_END();
43093   return total_size;
43094 }
43095
43096 void SliceParameter::MergeFrom(const ::google::protobuf::Message& from) {
43097 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.SliceParameter)
43098   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
43099   const SliceParameter* source =
43100       ::google::protobuf::internal::DynamicCastToGenerated<const SliceParameter>(
43101           &from);
43102   if (source == NULL) {
43103   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.SliceParameter)
43104     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
43105   } else {
43106   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.SliceParameter)
43107     UnsafeMergeFrom(*source);
43108   }
43109 }
43110
43111 void SliceParameter::MergeFrom(const SliceParameter& from) {
43112 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.SliceParameter)
43113   if (GOOGLE_PREDICT_TRUE(&from != this)) {
43114     UnsafeMergeFrom(from);
43115   } else {
43116     MergeFromFail(__LINE__);
43117   }
43118 }
43119
43120 void SliceParameter::UnsafeMergeFrom(const SliceParameter& from) {
43121   GOOGLE_DCHECK(&from != this);
43122   slice_point_.UnsafeMergeFrom(from.slice_point_);
43123   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
43124     if (from.has_axis()) {
43125       set_axis(from.axis());
43126     }
43127     if (from.has_slice_dim()) {
43128       set_slice_dim(from.slice_dim());
43129     }
43130   }
43131   if (from._internal_metadata_.have_unknown_fields()) {
43132     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
43133       from.unknown_fields(), &_internal_metadata_);
43134   }
43135 }
43136
43137 void SliceParameter::CopyFrom(const ::google::protobuf::Message& from) {
43138 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.SliceParameter)
43139   if (&from == this) return;
43140   Clear();
43141   MergeFrom(from);
43142 }
43143
43144 void SliceParameter::CopyFrom(const SliceParameter& from) {
43145 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.SliceParameter)
43146   if (&from == this) return;
43147   Clear();
43148   UnsafeMergeFrom(from);
43149 }
43150
43151 bool SliceParameter::IsInitialized() const {
43152
43153   return true;
43154 }
43155
43156 void SliceParameter::Swap(SliceParameter* other) {
43157   if (other == this) return;
43158   InternalSwap(other);
43159 }
43160 void SliceParameter::InternalSwap(SliceParameter* other) {
43161   std::swap(axis_, other->axis_);
43162   slice_point_.UnsafeArenaSwap(&other->slice_point_);
43163   std::swap(slice_dim_, other->slice_dim_);
43164   std::swap(_has_bits_[0], other->_has_bits_[0]);
43165   _internal_metadata_.Swap(&other->_internal_metadata_);
43166   std::swap(_cached_size_, other->_cached_size_);
43167 }
43168
43169 ::google::protobuf::Metadata SliceParameter::GetMetadata() const {
43170   protobuf_AssignDescriptorsOnce();
43171   ::google::protobuf::Metadata metadata;
43172   metadata.descriptor = SliceParameter_descriptor_;
43173   metadata.reflection = SliceParameter_reflection_;
43174   return metadata;
43175 }
43176
43177 #if PROTOBUF_INLINE_NOT_IN_HEADERS
43178 // SliceParameter
43179
43180 // optional int32 axis = 3 [default = 1];
43181 bool SliceParameter::has_axis() const {
43182   return (_has_bits_[0] & 0x00000001u) != 0;
43183 }
43184 void SliceParameter::set_has_axis() {
43185   _has_bits_[0] |= 0x00000001u;
43186 }
43187 void SliceParameter::clear_has_axis() {
43188   _has_bits_[0] &= ~0x00000001u;
43189 }
43190 void SliceParameter::clear_axis() {
43191   axis_ = 1;
43192   clear_has_axis();
43193 }
43194 ::google::protobuf::int32 SliceParameter::axis() const {
43195   // @@protoc_insertion_point(field_get:opencv_caffe.SliceParameter.axis)
43196   return axis_;
43197 }
43198 void SliceParameter::set_axis(::google::protobuf::int32 value) {
43199   set_has_axis();
43200   axis_ = value;
43201   // @@protoc_insertion_point(field_set:opencv_caffe.SliceParameter.axis)
43202 }
43203
43204 // repeated uint32 slice_point = 2;
43205 int SliceParameter::slice_point_size() const {
43206   return slice_point_.size();
43207 }
43208 void SliceParameter::clear_slice_point() {
43209   slice_point_.Clear();
43210 }
43211 ::google::protobuf::uint32 SliceParameter::slice_point(int index) const {
43212   // @@protoc_insertion_point(field_get:opencv_caffe.SliceParameter.slice_point)
43213   return slice_point_.Get(index);
43214 }
43215 void SliceParameter::set_slice_point(int index, ::google::protobuf::uint32 value) {
43216   slice_point_.Set(index, value);
43217   // @@protoc_insertion_point(field_set:opencv_caffe.SliceParameter.slice_point)
43218 }
43219 void SliceParameter::add_slice_point(::google::protobuf::uint32 value) {
43220   slice_point_.Add(value);
43221   // @@protoc_insertion_point(field_add:opencv_caffe.SliceParameter.slice_point)
43222 }
43223 const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
43224 SliceParameter::slice_point() const {
43225   // @@protoc_insertion_point(field_list:opencv_caffe.SliceParameter.slice_point)
43226   return slice_point_;
43227 }
43228 ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
43229 SliceParameter::mutable_slice_point() {
43230   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SliceParameter.slice_point)
43231   return &slice_point_;
43232 }
43233
43234 // optional uint32 slice_dim = 1 [default = 1];
43235 bool SliceParameter::has_slice_dim() const {
43236   return (_has_bits_[0] & 0x00000004u) != 0;
43237 }
43238 void SliceParameter::set_has_slice_dim() {
43239   _has_bits_[0] |= 0x00000004u;
43240 }
43241 void SliceParameter::clear_has_slice_dim() {
43242   _has_bits_[0] &= ~0x00000004u;
43243 }
43244 void SliceParameter::clear_slice_dim() {
43245   slice_dim_ = 1u;
43246   clear_has_slice_dim();
43247 }
43248 ::google::protobuf::uint32 SliceParameter::slice_dim() const {
43249   // @@protoc_insertion_point(field_get:opencv_caffe.SliceParameter.slice_dim)
43250   return slice_dim_;
43251 }
43252 void SliceParameter::set_slice_dim(::google::protobuf::uint32 value) {
43253   set_has_slice_dim();
43254   slice_dim_ = value;
43255   // @@protoc_insertion_point(field_set:opencv_caffe.SliceParameter.slice_dim)
43256 }
43257
43258 inline const SliceParameter* SliceParameter::internal_default_instance() {
43259   return &SliceParameter_default_instance_.get();
43260 }
43261 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
43262
43263 // ===================================================================
43264
43265 const ::google::protobuf::EnumDescriptor* SoftmaxParameter_Engine_descriptor() {
43266   protobuf_AssignDescriptorsOnce();
43267   return SoftmaxParameter_Engine_descriptor_;
43268 }
43269 bool SoftmaxParameter_Engine_IsValid(int value) {
43270   switch (value) {
43271     case 0:
43272     case 1:
43273     case 2:
43274       return true;
43275     default:
43276       return false;
43277   }
43278 }
43279
43280 #if !defined(_MSC_VER) || _MSC_VER >= 1900
43281 const SoftmaxParameter_Engine SoftmaxParameter::DEFAULT;
43282 const SoftmaxParameter_Engine SoftmaxParameter::CAFFE;
43283 const SoftmaxParameter_Engine SoftmaxParameter::CUDNN;
43284 const SoftmaxParameter_Engine SoftmaxParameter::Engine_MIN;
43285 const SoftmaxParameter_Engine SoftmaxParameter::Engine_MAX;
43286 const int SoftmaxParameter::Engine_ARRAYSIZE;
43287 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
43288 #if !defined(_MSC_VER) || _MSC_VER >= 1900
43289 const int SoftmaxParameter::kEngineFieldNumber;
43290 const int SoftmaxParameter::kAxisFieldNumber;
43291 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
43292
43293 SoftmaxParameter::SoftmaxParameter()
43294   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
43295   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
43296   SharedCtor();
43297   // @@protoc_insertion_point(constructor:opencv_caffe.SoftmaxParameter)
43298 }
43299
43300 void SoftmaxParameter::InitAsDefaultInstance() {
43301 }
43302
43303 SoftmaxParameter::SoftmaxParameter(const SoftmaxParameter& from)
43304   : ::google::protobuf::Message(),
43305     _internal_metadata_(NULL) {
43306   SharedCtor();
43307   UnsafeMergeFrom(from);
43308   // @@protoc_insertion_point(copy_constructor:opencv_caffe.SoftmaxParameter)
43309 }
43310
43311 void SoftmaxParameter::SharedCtor() {
43312   _cached_size_ = 0;
43313   engine_ = 0;
43314   axis_ = 1;
43315 }
43316
43317 SoftmaxParameter::~SoftmaxParameter() {
43318   // @@protoc_insertion_point(destructor:opencv_caffe.SoftmaxParameter)
43319   SharedDtor();
43320 }
43321
43322 void SoftmaxParameter::SharedDtor() {
43323 }
43324
43325 void SoftmaxParameter::SetCachedSize(int size) const {
43326   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
43327   _cached_size_ = size;
43328   GOOGLE_SAFE_CONCURRENT_WRITES_END();
43329 }
43330 const ::google::protobuf::Descriptor* SoftmaxParameter::descriptor() {
43331   protobuf_AssignDescriptorsOnce();
43332   return SoftmaxParameter_descriptor_;
43333 }
43334
43335 const SoftmaxParameter& SoftmaxParameter::default_instance() {
43336   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
43337   return *internal_default_instance();
43338 }
43339
43340 ::google::protobuf::internal::ExplicitlyConstructed<SoftmaxParameter> SoftmaxParameter_default_instance_;
43341
43342 SoftmaxParameter* SoftmaxParameter::New(::google::protobuf::Arena* arena) const {
43343   SoftmaxParameter* n = new SoftmaxParameter;
43344   if (arena != NULL) {
43345     arena->Own(n);
43346   }
43347   return n;
43348 }
43349
43350 void SoftmaxParameter::Clear() {
43351 // @@protoc_insertion_point(message_clear_start:opencv_caffe.SoftmaxParameter)
43352   if (_has_bits_[0 / 32] & 3u) {
43353     engine_ = 0;
43354     axis_ = 1;
43355   }
43356   _has_bits_.Clear();
43357   if (_internal_metadata_.have_unknown_fields()) {
43358     mutable_unknown_fields()->Clear();
43359   }
43360 }
43361
43362 bool SoftmaxParameter::MergePartialFromCodedStream(
43363     ::google::protobuf::io::CodedInputStream* input) {
43364 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
43365   ::google::protobuf::uint32 tag;
43366   // @@protoc_insertion_point(parse_start:opencv_caffe.SoftmaxParameter)
43367   for (;;) {
43368     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
43369     tag = p.first;
43370     if (!p.second) goto handle_unusual;
43371     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
43372       // optional .opencv_caffe.SoftmaxParameter.Engine engine = 1 [default = DEFAULT];
43373       case 1: {
43374         if (tag == 8) {
43375           int value;
43376           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
43377                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
43378                  input, &value)));
43379           if (::opencv_caffe::SoftmaxParameter_Engine_IsValid(value)) {
43380             set_engine(static_cast< ::opencv_caffe::SoftmaxParameter_Engine >(value));
43381           } else {
43382             mutable_unknown_fields()->AddVarint(1, value);
43383           }
43384         } else {
43385           goto handle_unusual;
43386         }
43387         if (input->ExpectTag(16)) goto parse_axis;
43388         break;
43389       }
43390
43391       // optional int32 axis = 2 [default = 1];
43392       case 2: {
43393         if (tag == 16) {
43394          parse_axis:
43395           set_has_axis();
43396           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
43397                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
43398                  input, &axis_)));
43399         } else {
43400           goto handle_unusual;
43401         }
43402         if (input->ExpectAtEnd()) goto success;
43403         break;
43404       }
43405
43406       default: {
43407       handle_unusual:
43408         if (tag == 0 ||
43409             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
43410             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
43411           goto success;
43412         }
43413         DO_(::google::protobuf::internal::WireFormat::SkipField(
43414               input, tag, mutable_unknown_fields()));
43415         break;
43416       }
43417     }
43418   }
43419 success:
43420   // @@protoc_insertion_point(parse_success:opencv_caffe.SoftmaxParameter)
43421   return true;
43422 failure:
43423   // @@protoc_insertion_point(parse_failure:opencv_caffe.SoftmaxParameter)
43424   return false;
43425 #undef DO_
43426 }
43427
43428 void SoftmaxParameter::SerializeWithCachedSizes(
43429     ::google::protobuf::io::CodedOutputStream* output) const {
43430   // @@protoc_insertion_point(serialize_start:opencv_caffe.SoftmaxParameter)
43431   // optional .opencv_caffe.SoftmaxParameter.Engine engine = 1 [default = DEFAULT];
43432   if (has_engine()) {
43433     ::google::protobuf::internal::WireFormatLite::WriteEnum(
43434       1, this->engine(), output);
43435   }
43436
43437   // optional int32 axis = 2 [default = 1];
43438   if (has_axis()) {
43439     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->axis(), output);
43440   }
43441
43442   if (_internal_metadata_.have_unknown_fields()) {
43443     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
43444         unknown_fields(), output);
43445   }
43446   // @@protoc_insertion_point(serialize_end:opencv_caffe.SoftmaxParameter)
43447 }
43448
43449 ::google::protobuf::uint8* SoftmaxParameter::InternalSerializeWithCachedSizesToArray(
43450     bool deterministic, ::google::protobuf::uint8* target) const {
43451   (void)deterministic; // Unused
43452   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.SoftmaxParameter)
43453   // optional .opencv_caffe.SoftmaxParameter.Engine engine = 1 [default = DEFAULT];
43454   if (has_engine()) {
43455     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
43456       1, this->engine(), target);
43457   }
43458
43459   // optional int32 axis = 2 [default = 1];
43460   if (has_axis()) {
43461     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->axis(), target);
43462   }
43463
43464   if (_internal_metadata_.have_unknown_fields()) {
43465     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
43466         unknown_fields(), target);
43467   }
43468   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.SoftmaxParameter)
43469   return target;
43470 }
43471
43472 size_t SoftmaxParameter::ByteSizeLong() const {
43473 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.SoftmaxParameter)
43474   size_t total_size = 0;
43475
43476   if (_has_bits_[0 / 32] & 3u) {
43477     // optional .opencv_caffe.SoftmaxParameter.Engine engine = 1 [default = DEFAULT];
43478     if (has_engine()) {
43479       total_size += 1 +
43480         ::google::protobuf::internal::WireFormatLite::EnumSize(this->engine());
43481     }
43482
43483     // optional int32 axis = 2 [default = 1];
43484     if (has_axis()) {
43485       total_size += 1 +
43486         ::google::protobuf::internal::WireFormatLite::Int32Size(
43487           this->axis());
43488     }
43489
43490   }
43491   if (_internal_metadata_.have_unknown_fields()) {
43492     total_size +=
43493       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
43494         unknown_fields());
43495   }
43496   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
43497   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
43498   _cached_size_ = cached_size;
43499   GOOGLE_SAFE_CONCURRENT_WRITES_END();
43500   return total_size;
43501 }
43502
43503 void SoftmaxParameter::MergeFrom(const ::google::protobuf::Message& from) {
43504 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.SoftmaxParameter)
43505   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
43506   const SoftmaxParameter* source =
43507       ::google::protobuf::internal::DynamicCastToGenerated<const SoftmaxParameter>(
43508           &from);
43509   if (source == NULL) {
43510   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.SoftmaxParameter)
43511     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
43512   } else {
43513   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.SoftmaxParameter)
43514     UnsafeMergeFrom(*source);
43515   }
43516 }
43517
43518 void SoftmaxParameter::MergeFrom(const SoftmaxParameter& from) {
43519 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.SoftmaxParameter)
43520   if (GOOGLE_PREDICT_TRUE(&from != this)) {
43521     UnsafeMergeFrom(from);
43522   } else {
43523     MergeFromFail(__LINE__);
43524   }
43525 }
43526
43527 void SoftmaxParameter::UnsafeMergeFrom(const SoftmaxParameter& from) {
43528   GOOGLE_DCHECK(&from != this);
43529   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
43530     if (from.has_engine()) {
43531       set_engine(from.engine());
43532     }
43533     if (from.has_axis()) {
43534       set_axis(from.axis());
43535     }
43536   }
43537   if (from._internal_metadata_.have_unknown_fields()) {
43538     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
43539       from.unknown_fields(), &_internal_metadata_);
43540   }
43541 }
43542
43543 void SoftmaxParameter::CopyFrom(const ::google::protobuf::Message& from) {
43544 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.SoftmaxParameter)
43545   if (&from == this) return;
43546   Clear();
43547   MergeFrom(from);
43548 }
43549
43550 void SoftmaxParameter::CopyFrom(const SoftmaxParameter& from) {
43551 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.SoftmaxParameter)
43552   if (&from == this) return;
43553   Clear();
43554   UnsafeMergeFrom(from);
43555 }
43556
43557 bool SoftmaxParameter::IsInitialized() const {
43558
43559   return true;
43560 }
43561
43562 void SoftmaxParameter::Swap(SoftmaxParameter* other) {
43563   if (other == this) return;
43564   InternalSwap(other);
43565 }
43566 void SoftmaxParameter::InternalSwap(SoftmaxParameter* other) {
43567   std::swap(engine_, other->engine_);
43568   std::swap(axis_, other->axis_);
43569   std::swap(_has_bits_[0], other->_has_bits_[0]);
43570   _internal_metadata_.Swap(&other->_internal_metadata_);
43571   std::swap(_cached_size_, other->_cached_size_);
43572 }
43573
43574 ::google::protobuf::Metadata SoftmaxParameter::GetMetadata() const {
43575   protobuf_AssignDescriptorsOnce();
43576   ::google::protobuf::Metadata metadata;
43577   metadata.descriptor = SoftmaxParameter_descriptor_;
43578   metadata.reflection = SoftmaxParameter_reflection_;
43579   return metadata;
43580 }
43581
43582 #if PROTOBUF_INLINE_NOT_IN_HEADERS
43583 // SoftmaxParameter
43584
43585 // optional .opencv_caffe.SoftmaxParameter.Engine engine = 1 [default = DEFAULT];
43586 bool SoftmaxParameter::has_engine() const {
43587   return (_has_bits_[0] & 0x00000001u) != 0;
43588 }
43589 void SoftmaxParameter::set_has_engine() {
43590   _has_bits_[0] |= 0x00000001u;
43591 }
43592 void SoftmaxParameter::clear_has_engine() {
43593   _has_bits_[0] &= ~0x00000001u;
43594 }
43595 void SoftmaxParameter::clear_engine() {
43596   engine_ = 0;
43597   clear_has_engine();
43598 }
43599 ::opencv_caffe::SoftmaxParameter_Engine SoftmaxParameter::engine() const {
43600   // @@protoc_insertion_point(field_get:opencv_caffe.SoftmaxParameter.engine)
43601   return static_cast< ::opencv_caffe::SoftmaxParameter_Engine >(engine_);
43602 }
43603 void SoftmaxParameter::set_engine(::opencv_caffe::SoftmaxParameter_Engine value) {
43604   assert(::opencv_caffe::SoftmaxParameter_Engine_IsValid(value));
43605   set_has_engine();
43606   engine_ = value;
43607   // @@protoc_insertion_point(field_set:opencv_caffe.SoftmaxParameter.engine)
43608 }
43609
43610 // optional int32 axis = 2 [default = 1];
43611 bool SoftmaxParameter::has_axis() const {
43612   return (_has_bits_[0] & 0x00000002u) != 0;
43613 }
43614 void SoftmaxParameter::set_has_axis() {
43615   _has_bits_[0] |= 0x00000002u;
43616 }
43617 void SoftmaxParameter::clear_has_axis() {
43618   _has_bits_[0] &= ~0x00000002u;
43619 }
43620 void SoftmaxParameter::clear_axis() {
43621   axis_ = 1;
43622   clear_has_axis();
43623 }
43624 ::google::protobuf::int32 SoftmaxParameter::axis() const {
43625   // @@protoc_insertion_point(field_get:opencv_caffe.SoftmaxParameter.axis)
43626   return axis_;
43627 }
43628 void SoftmaxParameter::set_axis(::google::protobuf::int32 value) {
43629   set_has_axis();
43630   axis_ = value;
43631   // @@protoc_insertion_point(field_set:opencv_caffe.SoftmaxParameter.axis)
43632 }
43633
43634 inline const SoftmaxParameter* SoftmaxParameter::internal_default_instance() {
43635   return &SoftmaxParameter_default_instance_.get();
43636 }
43637 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
43638
43639 // ===================================================================
43640
43641 const ::google::protobuf::EnumDescriptor* TanHParameter_Engine_descriptor() {
43642   protobuf_AssignDescriptorsOnce();
43643   return TanHParameter_Engine_descriptor_;
43644 }
43645 bool TanHParameter_Engine_IsValid(int value) {
43646   switch (value) {
43647     case 0:
43648     case 1:
43649     case 2:
43650       return true;
43651     default:
43652       return false;
43653   }
43654 }
43655
43656 #if !defined(_MSC_VER) || _MSC_VER >= 1900
43657 const TanHParameter_Engine TanHParameter::DEFAULT;
43658 const TanHParameter_Engine TanHParameter::CAFFE;
43659 const TanHParameter_Engine TanHParameter::CUDNN;
43660 const TanHParameter_Engine TanHParameter::Engine_MIN;
43661 const TanHParameter_Engine TanHParameter::Engine_MAX;
43662 const int TanHParameter::Engine_ARRAYSIZE;
43663 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
43664 #if !defined(_MSC_VER) || _MSC_VER >= 1900
43665 const int TanHParameter::kEngineFieldNumber;
43666 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
43667
43668 TanHParameter::TanHParameter()
43669   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
43670   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
43671   SharedCtor();
43672   // @@protoc_insertion_point(constructor:opencv_caffe.TanHParameter)
43673 }
43674
43675 void TanHParameter::InitAsDefaultInstance() {
43676 }
43677
43678 TanHParameter::TanHParameter(const TanHParameter& from)
43679   : ::google::protobuf::Message(),
43680     _internal_metadata_(NULL) {
43681   SharedCtor();
43682   UnsafeMergeFrom(from);
43683   // @@protoc_insertion_point(copy_constructor:opencv_caffe.TanHParameter)
43684 }
43685
43686 void TanHParameter::SharedCtor() {
43687   _cached_size_ = 0;
43688   engine_ = 0;
43689 }
43690
43691 TanHParameter::~TanHParameter() {
43692   // @@protoc_insertion_point(destructor:opencv_caffe.TanHParameter)
43693   SharedDtor();
43694 }
43695
43696 void TanHParameter::SharedDtor() {
43697 }
43698
43699 void TanHParameter::SetCachedSize(int size) const {
43700   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
43701   _cached_size_ = size;
43702   GOOGLE_SAFE_CONCURRENT_WRITES_END();
43703 }
43704 const ::google::protobuf::Descriptor* TanHParameter::descriptor() {
43705   protobuf_AssignDescriptorsOnce();
43706   return TanHParameter_descriptor_;
43707 }
43708
43709 const TanHParameter& TanHParameter::default_instance() {
43710   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
43711   return *internal_default_instance();
43712 }
43713
43714 ::google::protobuf::internal::ExplicitlyConstructed<TanHParameter> TanHParameter_default_instance_;
43715
43716 TanHParameter* TanHParameter::New(::google::protobuf::Arena* arena) const {
43717   TanHParameter* n = new TanHParameter;
43718   if (arena != NULL) {
43719     arena->Own(n);
43720   }
43721   return n;
43722 }
43723
43724 void TanHParameter::Clear() {
43725 // @@protoc_insertion_point(message_clear_start:opencv_caffe.TanHParameter)
43726   engine_ = 0;
43727   _has_bits_.Clear();
43728   if (_internal_metadata_.have_unknown_fields()) {
43729     mutable_unknown_fields()->Clear();
43730   }
43731 }
43732
43733 bool TanHParameter::MergePartialFromCodedStream(
43734     ::google::protobuf::io::CodedInputStream* input) {
43735 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
43736   ::google::protobuf::uint32 tag;
43737   // @@protoc_insertion_point(parse_start:opencv_caffe.TanHParameter)
43738   for (;;) {
43739     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
43740     tag = p.first;
43741     if (!p.second) goto handle_unusual;
43742     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
43743       // optional .opencv_caffe.TanHParameter.Engine engine = 1 [default = DEFAULT];
43744       case 1: {
43745         if (tag == 8) {
43746           int value;
43747           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
43748                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
43749                  input, &value)));
43750           if (::opencv_caffe::TanHParameter_Engine_IsValid(value)) {
43751             set_engine(static_cast< ::opencv_caffe::TanHParameter_Engine >(value));
43752           } else {
43753             mutable_unknown_fields()->AddVarint(1, value);
43754           }
43755         } else {
43756           goto handle_unusual;
43757         }
43758         if (input->ExpectAtEnd()) goto success;
43759         break;
43760       }
43761
43762       default: {
43763       handle_unusual:
43764         if (tag == 0 ||
43765             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
43766             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
43767           goto success;
43768         }
43769         DO_(::google::protobuf::internal::WireFormat::SkipField(
43770               input, tag, mutable_unknown_fields()));
43771         break;
43772       }
43773     }
43774   }
43775 success:
43776   // @@protoc_insertion_point(parse_success:opencv_caffe.TanHParameter)
43777   return true;
43778 failure:
43779   // @@protoc_insertion_point(parse_failure:opencv_caffe.TanHParameter)
43780   return false;
43781 #undef DO_
43782 }
43783
43784 void TanHParameter::SerializeWithCachedSizes(
43785     ::google::protobuf::io::CodedOutputStream* output) const {
43786   // @@protoc_insertion_point(serialize_start:opencv_caffe.TanHParameter)
43787   // optional .opencv_caffe.TanHParameter.Engine engine = 1 [default = DEFAULT];
43788   if (has_engine()) {
43789     ::google::protobuf::internal::WireFormatLite::WriteEnum(
43790       1, this->engine(), output);
43791   }
43792
43793   if (_internal_metadata_.have_unknown_fields()) {
43794     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
43795         unknown_fields(), output);
43796   }
43797   // @@protoc_insertion_point(serialize_end:opencv_caffe.TanHParameter)
43798 }
43799
43800 ::google::protobuf::uint8* TanHParameter::InternalSerializeWithCachedSizesToArray(
43801     bool deterministic, ::google::protobuf::uint8* target) const {
43802   (void)deterministic; // Unused
43803   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.TanHParameter)
43804   // optional .opencv_caffe.TanHParameter.Engine engine = 1 [default = DEFAULT];
43805   if (has_engine()) {
43806     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
43807       1, this->engine(), target);
43808   }
43809
43810   if (_internal_metadata_.have_unknown_fields()) {
43811     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
43812         unknown_fields(), target);
43813   }
43814   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.TanHParameter)
43815   return target;
43816 }
43817
43818 size_t TanHParameter::ByteSizeLong() const {
43819 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.TanHParameter)
43820   size_t total_size = 0;
43821
43822   // optional .opencv_caffe.TanHParameter.Engine engine = 1 [default = DEFAULT];
43823   if (has_engine()) {
43824     total_size += 1 +
43825       ::google::protobuf::internal::WireFormatLite::EnumSize(this->engine());
43826   }
43827
43828   if (_internal_metadata_.have_unknown_fields()) {
43829     total_size +=
43830       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
43831         unknown_fields());
43832   }
43833   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
43834   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
43835   _cached_size_ = cached_size;
43836   GOOGLE_SAFE_CONCURRENT_WRITES_END();
43837   return total_size;
43838 }
43839
43840 void TanHParameter::MergeFrom(const ::google::protobuf::Message& from) {
43841 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.TanHParameter)
43842   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
43843   const TanHParameter* source =
43844       ::google::protobuf::internal::DynamicCastToGenerated<const TanHParameter>(
43845           &from);
43846   if (source == NULL) {
43847   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.TanHParameter)
43848     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
43849   } else {
43850   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.TanHParameter)
43851     UnsafeMergeFrom(*source);
43852   }
43853 }
43854
43855 void TanHParameter::MergeFrom(const TanHParameter& from) {
43856 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.TanHParameter)
43857   if (GOOGLE_PREDICT_TRUE(&from != this)) {
43858     UnsafeMergeFrom(from);
43859   } else {
43860     MergeFromFail(__LINE__);
43861   }
43862 }
43863
43864 void TanHParameter::UnsafeMergeFrom(const TanHParameter& from) {
43865   GOOGLE_DCHECK(&from != this);
43866   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
43867     if (from.has_engine()) {
43868       set_engine(from.engine());
43869     }
43870   }
43871   if (from._internal_metadata_.have_unknown_fields()) {
43872     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
43873       from.unknown_fields(), &_internal_metadata_);
43874   }
43875 }
43876
43877 void TanHParameter::CopyFrom(const ::google::protobuf::Message& from) {
43878 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.TanHParameter)
43879   if (&from == this) return;
43880   Clear();
43881   MergeFrom(from);
43882 }
43883
43884 void TanHParameter::CopyFrom(const TanHParameter& from) {
43885 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.TanHParameter)
43886   if (&from == this) return;
43887   Clear();
43888   UnsafeMergeFrom(from);
43889 }
43890
43891 bool TanHParameter::IsInitialized() const {
43892
43893   return true;
43894 }
43895
43896 void TanHParameter::Swap(TanHParameter* other) {
43897   if (other == this) return;
43898   InternalSwap(other);
43899 }
43900 void TanHParameter::InternalSwap(TanHParameter* other) {
43901   std::swap(engine_, other->engine_);
43902   std::swap(_has_bits_[0], other->_has_bits_[0]);
43903   _internal_metadata_.Swap(&other->_internal_metadata_);
43904   std::swap(_cached_size_, other->_cached_size_);
43905 }
43906
43907 ::google::protobuf::Metadata TanHParameter::GetMetadata() const {
43908   protobuf_AssignDescriptorsOnce();
43909   ::google::protobuf::Metadata metadata;
43910   metadata.descriptor = TanHParameter_descriptor_;
43911   metadata.reflection = TanHParameter_reflection_;
43912   return metadata;
43913 }
43914
43915 #if PROTOBUF_INLINE_NOT_IN_HEADERS
43916 // TanHParameter
43917
43918 // optional .opencv_caffe.TanHParameter.Engine engine = 1 [default = DEFAULT];
43919 bool TanHParameter::has_engine() const {
43920   return (_has_bits_[0] & 0x00000001u) != 0;
43921 }
43922 void TanHParameter::set_has_engine() {
43923   _has_bits_[0] |= 0x00000001u;
43924 }
43925 void TanHParameter::clear_has_engine() {
43926   _has_bits_[0] &= ~0x00000001u;
43927 }
43928 void TanHParameter::clear_engine() {
43929   engine_ = 0;
43930   clear_has_engine();
43931 }
43932 ::opencv_caffe::TanHParameter_Engine TanHParameter::engine() const {
43933   // @@protoc_insertion_point(field_get:opencv_caffe.TanHParameter.engine)
43934   return static_cast< ::opencv_caffe::TanHParameter_Engine >(engine_);
43935 }
43936 void TanHParameter::set_engine(::opencv_caffe::TanHParameter_Engine value) {
43937   assert(::opencv_caffe::TanHParameter_Engine_IsValid(value));
43938   set_has_engine();
43939   engine_ = value;
43940   // @@protoc_insertion_point(field_set:opencv_caffe.TanHParameter.engine)
43941 }
43942
43943 inline const TanHParameter* TanHParameter::internal_default_instance() {
43944   return &TanHParameter_default_instance_.get();
43945 }
43946 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
43947
43948 // ===================================================================
43949
43950 #if !defined(_MSC_VER) || _MSC_VER >= 1900
43951 const int TileParameter::kAxisFieldNumber;
43952 const int TileParameter::kTilesFieldNumber;
43953 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
43954
43955 TileParameter::TileParameter()
43956   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
43957   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
43958   SharedCtor();
43959   // @@protoc_insertion_point(constructor:opencv_caffe.TileParameter)
43960 }
43961
43962 void TileParameter::InitAsDefaultInstance() {
43963 }
43964
43965 TileParameter::TileParameter(const TileParameter& from)
43966   : ::google::protobuf::Message(),
43967     _internal_metadata_(NULL) {
43968   SharedCtor();
43969   UnsafeMergeFrom(from);
43970   // @@protoc_insertion_point(copy_constructor:opencv_caffe.TileParameter)
43971 }
43972
43973 void TileParameter::SharedCtor() {
43974   _cached_size_ = 0;
43975   tiles_ = 0;
43976   axis_ = 1;
43977 }
43978
43979 TileParameter::~TileParameter() {
43980   // @@protoc_insertion_point(destructor:opencv_caffe.TileParameter)
43981   SharedDtor();
43982 }
43983
43984 void TileParameter::SharedDtor() {
43985 }
43986
43987 void TileParameter::SetCachedSize(int size) const {
43988   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
43989   _cached_size_ = size;
43990   GOOGLE_SAFE_CONCURRENT_WRITES_END();
43991 }
43992 const ::google::protobuf::Descriptor* TileParameter::descriptor() {
43993   protobuf_AssignDescriptorsOnce();
43994   return TileParameter_descriptor_;
43995 }
43996
43997 const TileParameter& TileParameter::default_instance() {
43998   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
43999   return *internal_default_instance();
44000 }
44001
44002 ::google::protobuf::internal::ExplicitlyConstructed<TileParameter> TileParameter_default_instance_;
44003
44004 TileParameter* TileParameter::New(::google::protobuf::Arena* arena) const {
44005   TileParameter* n = new TileParameter;
44006   if (arena != NULL) {
44007     arena->Own(n);
44008   }
44009   return n;
44010 }
44011
44012 void TileParameter::Clear() {
44013 // @@protoc_insertion_point(message_clear_start:opencv_caffe.TileParameter)
44014   if (_has_bits_[0 / 32] & 3u) {
44015     axis_ = 1;
44016     tiles_ = 0;
44017   }
44018   _has_bits_.Clear();
44019   if (_internal_metadata_.have_unknown_fields()) {
44020     mutable_unknown_fields()->Clear();
44021   }
44022 }
44023
44024 bool TileParameter::MergePartialFromCodedStream(
44025     ::google::protobuf::io::CodedInputStream* input) {
44026 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
44027   ::google::protobuf::uint32 tag;
44028   // @@protoc_insertion_point(parse_start:opencv_caffe.TileParameter)
44029   for (;;) {
44030     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
44031     tag = p.first;
44032     if (!p.second) goto handle_unusual;
44033     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
44034       // optional int32 axis = 1 [default = 1];
44035       case 1: {
44036         if (tag == 8) {
44037           set_has_axis();
44038           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
44039                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
44040                  input, &axis_)));
44041         } else {
44042           goto handle_unusual;
44043         }
44044         if (input->ExpectTag(16)) goto parse_tiles;
44045         break;
44046       }
44047
44048       // optional int32 tiles = 2;
44049       case 2: {
44050         if (tag == 16) {
44051          parse_tiles:
44052           set_has_tiles();
44053           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
44054                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
44055                  input, &tiles_)));
44056         } else {
44057           goto handle_unusual;
44058         }
44059         if (input->ExpectAtEnd()) goto success;
44060         break;
44061       }
44062
44063       default: {
44064       handle_unusual:
44065         if (tag == 0 ||
44066             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
44067             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
44068           goto success;
44069         }
44070         DO_(::google::protobuf::internal::WireFormat::SkipField(
44071               input, tag, mutable_unknown_fields()));
44072         break;
44073       }
44074     }
44075   }
44076 success:
44077   // @@protoc_insertion_point(parse_success:opencv_caffe.TileParameter)
44078   return true;
44079 failure:
44080   // @@protoc_insertion_point(parse_failure:opencv_caffe.TileParameter)
44081   return false;
44082 #undef DO_
44083 }
44084
44085 void TileParameter::SerializeWithCachedSizes(
44086     ::google::protobuf::io::CodedOutputStream* output) const {
44087   // @@protoc_insertion_point(serialize_start:opencv_caffe.TileParameter)
44088   // optional int32 axis = 1 [default = 1];
44089   if (has_axis()) {
44090     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->axis(), output);
44091   }
44092
44093   // optional int32 tiles = 2;
44094   if (has_tiles()) {
44095     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->tiles(), output);
44096   }
44097
44098   if (_internal_metadata_.have_unknown_fields()) {
44099     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
44100         unknown_fields(), output);
44101   }
44102   // @@protoc_insertion_point(serialize_end:opencv_caffe.TileParameter)
44103 }
44104
44105 ::google::protobuf::uint8* TileParameter::InternalSerializeWithCachedSizesToArray(
44106     bool deterministic, ::google::protobuf::uint8* target) const {
44107   (void)deterministic; // Unused
44108   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.TileParameter)
44109   // optional int32 axis = 1 [default = 1];
44110   if (has_axis()) {
44111     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->axis(), target);
44112   }
44113
44114   // optional int32 tiles = 2;
44115   if (has_tiles()) {
44116     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->tiles(), target);
44117   }
44118
44119   if (_internal_metadata_.have_unknown_fields()) {
44120     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
44121         unknown_fields(), target);
44122   }
44123   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.TileParameter)
44124   return target;
44125 }
44126
44127 size_t TileParameter::ByteSizeLong() const {
44128 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.TileParameter)
44129   size_t total_size = 0;
44130
44131   if (_has_bits_[0 / 32] & 3u) {
44132     // optional int32 axis = 1 [default = 1];
44133     if (has_axis()) {
44134       total_size += 1 +
44135         ::google::protobuf::internal::WireFormatLite::Int32Size(
44136           this->axis());
44137     }
44138
44139     // optional int32 tiles = 2;
44140     if (has_tiles()) {
44141       total_size += 1 +
44142         ::google::protobuf::internal::WireFormatLite::Int32Size(
44143           this->tiles());
44144     }
44145
44146   }
44147   if (_internal_metadata_.have_unknown_fields()) {
44148     total_size +=
44149       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
44150         unknown_fields());
44151   }
44152   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
44153   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
44154   _cached_size_ = cached_size;
44155   GOOGLE_SAFE_CONCURRENT_WRITES_END();
44156   return total_size;
44157 }
44158
44159 void TileParameter::MergeFrom(const ::google::protobuf::Message& from) {
44160 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.TileParameter)
44161   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
44162   const TileParameter* source =
44163       ::google::protobuf::internal::DynamicCastToGenerated<const TileParameter>(
44164           &from);
44165   if (source == NULL) {
44166   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.TileParameter)
44167     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
44168   } else {
44169   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.TileParameter)
44170     UnsafeMergeFrom(*source);
44171   }
44172 }
44173
44174 void TileParameter::MergeFrom(const TileParameter& from) {
44175 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.TileParameter)
44176   if (GOOGLE_PREDICT_TRUE(&from != this)) {
44177     UnsafeMergeFrom(from);
44178   } else {
44179     MergeFromFail(__LINE__);
44180   }
44181 }
44182
44183 void TileParameter::UnsafeMergeFrom(const TileParameter& from) {
44184   GOOGLE_DCHECK(&from != this);
44185   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
44186     if (from.has_axis()) {
44187       set_axis(from.axis());
44188     }
44189     if (from.has_tiles()) {
44190       set_tiles(from.tiles());
44191     }
44192   }
44193   if (from._internal_metadata_.have_unknown_fields()) {
44194     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
44195       from.unknown_fields(), &_internal_metadata_);
44196   }
44197 }
44198
44199 void TileParameter::CopyFrom(const ::google::protobuf::Message& from) {
44200 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.TileParameter)
44201   if (&from == this) return;
44202   Clear();
44203   MergeFrom(from);
44204 }
44205
44206 void TileParameter::CopyFrom(const TileParameter& from) {
44207 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.TileParameter)
44208   if (&from == this) return;
44209   Clear();
44210   UnsafeMergeFrom(from);
44211 }
44212
44213 bool TileParameter::IsInitialized() const {
44214
44215   return true;
44216 }
44217
44218 void TileParameter::Swap(TileParameter* other) {
44219   if (other == this) return;
44220   InternalSwap(other);
44221 }
44222 void TileParameter::InternalSwap(TileParameter* other) {
44223   std::swap(axis_, other->axis_);
44224   std::swap(tiles_, other->tiles_);
44225   std::swap(_has_bits_[0], other->_has_bits_[0]);
44226   _internal_metadata_.Swap(&other->_internal_metadata_);
44227   std::swap(_cached_size_, other->_cached_size_);
44228 }
44229
44230 ::google::protobuf::Metadata TileParameter::GetMetadata() const {
44231   protobuf_AssignDescriptorsOnce();
44232   ::google::protobuf::Metadata metadata;
44233   metadata.descriptor = TileParameter_descriptor_;
44234   metadata.reflection = TileParameter_reflection_;
44235   return metadata;
44236 }
44237
44238 #if PROTOBUF_INLINE_NOT_IN_HEADERS
44239 // TileParameter
44240
44241 // optional int32 axis = 1 [default = 1];
44242 bool TileParameter::has_axis() const {
44243   return (_has_bits_[0] & 0x00000001u) != 0;
44244 }
44245 void TileParameter::set_has_axis() {
44246   _has_bits_[0] |= 0x00000001u;
44247 }
44248 void TileParameter::clear_has_axis() {
44249   _has_bits_[0] &= ~0x00000001u;
44250 }
44251 void TileParameter::clear_axis() {
44252   axis_ = 1;
44253   clear_has_axis();
44254 }
44255 ::google::protobuf::int32 TileParameter::axis() const {
44256   // @@protoc_insertion_point(field_get:opencv_caffe.TileParameter.axis)
44257   return axis_;
44258 }
44259 void TileParameter::set_axis(::google::protobuf::int32 value) {
44260   set_has_axis();
44261   axis_ = value;
44262   // @@protoc_insertion_point(field_set:opencv_caffe.TileParameter.axis)
44263 }
44264
44265 // optional int32 tiles = 2;
44266 bool TileParameter::has_tiles() const {
44267   return (_has_bits_[0] & 0x00000002u) != 0;
44268 }
44269 void TileParameter::set_has_tiles() {
44270   _has_bits_[0] |= 0x00000002u;
44271 }
44272 void TileParameter::clear_has_tiles() {
44273   _has_bits_[0] &= ~0x00000002u;
44274 }
44275 void TileParameter::clear_tiles() {
44276   tiles_ = 0;
44277   clear_has_tiles();
44278 }
44279 ::google::protobuf::int32 TileParameter::tiles() const {
44280   // @@protoc_insertion_point(field_get:opencv_caffe.TileParameter.tiles)
44281   return tiles_;
44282 }
44283 void TileParameter::set_tiles(::google::protobuf::int32 value) {
44284   set_has_tiles();
44285   tiles_ = value;
44286   // @@protoc_insertion_point(field_set:opencv_caffe.TileParameter.tiles)
44287 }
44288
44289 inline const TileParameter* TileParameter::internal_default_instance() {
44290   return &TileParameter_default_instance_.get();
44291 }
44292 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
44293
44294 // ===================================================================
44295
44296 #if !defined(_MSC_VER) || _MSC_VER >= 1900
44297 const int ThresholdParameter::kThresholdFieldNumber;
44298 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
44299
44300 ThresholdParameter::ThresholdParameter()
44301   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
44302   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
44303   SharedCtor();
44304   // @@protoc_insertion_point(constructor:opencv_caffe.ThresholdParameter)
44305 }
44306
44307 void ThresholdParameter::InitAsDefaultInstance() {
44308 }
44309
44310 ThresholdParameter::ThresholdParameter(const ThresholdParameter& from)
44311   : ::google::protobuf::Message(),
44312     _internal_metadata_(NULL) {
44313   SharedCtor();
44314   UnsafeMergeFrom(from);
44315   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ThresholdParameter)
44316 }
44317
44318 void ThresholdParameter::SharedCtor() {
44319   _cached_size_ = 0;
44320   threshold_ = 0;
44321 }
44322
44323 ThresholdParameter::~ThresholdParameter() {
44324   // @@protoc_insertion_point(destructor:opencv_caffe.ThresholdParameter)
44325   SharedDtor();
44326 }
44327
44328 void ThresholdParameter::SharedDtor() {
44329 }
44330
44331 void ThresholdParameter::SetCachedSize(int size) const {
44332   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
44333   _cached_size_ = size;
44334   GOOGLE_SAFE_CONCURRENT_WRITES_END();
44335 }
44336 const ::google::protobuf::Descriptor* ThresholdParameter::descriptor() {
44337   protobuf_AssignDescriptorsOnce();
44338   return ThresholdParameter_descriptor_;
44339 }
44340
44341 const ThresholdParameter& ThresholdParameter::default_instance() {
44342   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
44343   return *internal_default_instance();
44344 }
44345
44346 ::google::protobuf::internal::ExplicitlyConstructed<ThresholdParameter> ThresholdParameter_default_instance_;
44347
44348 ThresholdParameter* ThresholdParameter::New(::google::protobuf::Arena* arena) const {
44349   ThresholdParameter* n = new ThresholdParameter;
44350   if (arena != NULL) {
44351     arena->Own(n);
44352   }
44353   return n;
44354 }
44355
44356 void ThresholdParameter::Clear() {
44357 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ThresholdParameter)
44358   threshold_ = 0;
44359   _has_bits_.Clear();
44360   if (_internal_metadata_.have_unknown_fields()) {
44361     mutable_unknown_fields()->Clear();
44362   }
44363 }
44364
44365 bool ThresholdParameter::MergePartialFromCodedStream(
44366     ::google::protobuf::io::CodedInputStream* input) {
44367 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
44368   ::google::protobuf::uint32 tag;
44369   // @@protoc_insertion_point(parse_start:opencv_caffe.ThresholdParameter)
44370   for (;;) {
44371     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
44372     tag = p.first;
44373     if (!p.second) goto handle_unusual;
44374     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
44375       // optional float threshold = 1 [default = 0];
44376       case 1: {
44377         if (tag == 13) {
44378           set_has_threshold();
44379           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
44380                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
44381                  input, &threshold_)));
44382         } else {
44383           goto handle_unusual;
44384         }
44385         if (input->ExpectAtEnd()) goto success;
44386         break;
44387       }
44388
44389       default: {
44390       handle_unusual:
44391         if (tag == 0 ||
44392             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
44393             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
44394           goto success;
44395         }
44396         DO_(::google::protobuf::internal::WireFormat::SkipField(
44397               input, tag, mutable_unknown_fields()));
44398         break;
44399       }
44400     }
44401   }
44402 success:
44403   // @@protoc_insertion_point(parse_success:opencv_caffe.ThresholdParameter)
44404   return true;
44405 failure:
44406   // @@protoc_insertion_point(parse_failure:opencv_caffe.ThresholdParameter)
44407   return false;
44408 #undef DO_
44409 }
44410
44411 void ThresholdParameter::SerializeWithCachedSizes(
44412     ::google::protobuf::io::CodedOutputStream* output) const {
44413   // @@protoc_insertion_point(serialize_start:opencv_caffe.ThresholdParameter)
44414   // optional float threshold = 1 [default = 0];
44415   if (has_threshold()) {
44416     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->threshold(), output);
44417   }
44418
44419   if (_internal_metadata_.have_unknown_fields()) {
44420     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
44421         unknown_fields(), output);
44422   }
44423   // @@protoc_insertion_point(serialize_end:opencv_caffe.ThresholdParameter)
44424 }
44425
44426 ::google::protobuf::uint8* ThresholdParameter::InternalSerializeWithCachedSizesToArray(
44427     bool deterministic, ::google::protobuf::uint8* target) const {
44428   (void)deterministic; // Unused
44429   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ThresholdParameter)
44430   // optional float threshold = 1 [default = 0];
44431   if (has_threshold()) {
44432     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->threshold(), target);
44433   }
44434
44435   if (_internal_metadata_.have_unknown_fields()) {
44436     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
44437         unknown_fields(), target);
44438   }
44439   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ThresholdParameter)
44440   return target;
44441 }
44442
44443 size_t ThresholdParameter::ByteSizeLong() const {
44444 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ThresholdParameter)
44445   size_t total_size = 0;
44446
44447   // optional float threshold = 1 [default = 0];
44448   if (has_threshold()) {
44449     total_size += 1 + 4;
44450   }
44451
44452   if (_internal_metadata_.have_unknown_fields()) {
44453     total_size +=
44454       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
44455         unknown_fields());
44456   }
44457   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
44458   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
44459   _cached_size_ = cached_size;
44460   GOOGLE_SAFE_CONCURRENT_WRITES_END();
44461   return total_size;
44462 }
44463
44464 void ThresholdParameter::MergeFrom(const ::google::protobuf::Message& from) {
44465 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ThresholdParameter)
44466   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
44467   const ThresholdParameter* source =
44468       ::google::protobuf::internal::DynamicCastToGenerated<const ThresholdParameter>(
44469           &from);
44470   if (source == NULL) {
44471   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ThresholdParameter)
44472     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
44473   } else {
44474   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ThresholdParameter)
44475     UnsafeMergeFrom(*source);
44476   }
44477 }
44478
44479 void ThresholdParameter::MergeFrom(const ThresholdParameter& from) {
44480 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ThresholdParameter)
44481   if (GOOGLE_PREDICT_TRUE(&from != this)) {
44482     UnsafeMergeFrom(from);
44483   } else {
44484     MergeFromFail(__LINE__);
44485   }
44486 }
44487
44488 void ThresholdParameter::UnsafeMergeFrom(const ThresholdParameter& from) {
44489   GOOGLE_DCHECK(&from != this);
44490   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
44491     if (from.has_threshold()) {
44492       set_threshold(from.threshold());
44493     }
44494   }
44495   if (from._internal_metadata_.have_unknown_fields()) {
44496     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
44497       from.unknown_fields(), &_internal_metadata_);
44498   }
44499 }
44500
44501 void ThresholdParameter::CopyFrom(const ::google::protobuf::Message& from) {
44502 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ThresholdParameter)
44503   if (&from == this) return;
44504   Clear();
44505   MergeFrom(from);
44506 }
44507
44508 void ThresholdParameter::CopyFrom(const ThresholdParameter& from) {
44509 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ThresholdParameter)
44510   if (&from == this) return;
44511   Clear();
44512   UnsafeMergeFrom(from);
44513 }
44514
44515 bool ThresholdParameter::IsInitialized() const {
44516
44517   return true;
44518 }
44519
44520 void ThresholdParameter::Swap(ThresholdParameter* other) {
44521   if (other == this) return;
44522   InternalSwap(other);
44523 }
44524 void ThresholdParameter::InternalSwap(ThresholdParameter* other) {
44525   std::swap(threshold_, other->threshold_);
44526   std::swap(_has_bits_[0], other->_has_bits_[0]);
44527   _internal_metadata_.Swap(&other->_internal_metadata_);
44528   std::swap(_cached_size_, other->_cached_size_);
44529 }
44530
44531 ::google::protobuf::Metadata ThresholdParameter::GetMetadata() const {
44532   protobuf_AssignDescriptorsOnce();
44533   ::google::protobuf::Metadata metadata;
44534   metadata.descriptor = ThresholdParameter_descriptor_;
44535   metadata.reflection = ThresholdParameter_reflection_;
44536   return metadata;
44537 }
44538
44539 #if PROTOBUF_INLINE_NOT_IN_HEADERS
44540 // ThresholdParameter
44541
44542 // optional float threshold = 1 [default = 0];
44543 bool ThresholdParameter::has_threshold() const {
44544   return (_has_bits_[0] & 0x00000001u) != 0;
44545 }
44546 void ThresholdParameter::set_has_threshold() {
44547   _has_bits_[0] |= 0x00000001u;
44548 }
44549 void ThresholdParameter::clear_has_threshold() {
44550   _has_bits_[0] &= ~0x00000001u;
44551 }
44552 void ThresholdParameter::clear_threshold() {
44553   threshold_ = 0;
44554   clear_has_threshold();
44555 }
44556 float ThresholdParameter::threshold() const {
44557   // @@protoc_insertion_point(field_get:opencv_caffe.ThresholdParameter.threshold)
44558   return threshold_;
44559 }
44560 void ThresholdParameter::set_threshold(float value) {
44561   set_has_threshold();
44562   threshold_ = value;
44563   // @@protoc_insertion_point(field_set:opencv_caffe.ThresholdParameter.threshold)
44564 }
44565
44566 inline const ThresholdParameter* ThresholdParameter::internal_default_instance() {
44567   return &ThresholdParameter_default_instance_.get();
44568 }
44569 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
44570
44571 // ===================================================================
44572
44573 ::std::string* WindowDataParameter::_default_crop_mode_ = NULL;
44574 #if !defined(_MSC_VER) || _MSC_VER >= 1900
44575 const int WindowDataParameter::kSourceFieldNumber;
44576 const int WindowDataParameter::kScaleFieldNumber;
44577 const int WindowDataParameter::kMeanFileFieldNumber;
44578 const int WindowDataParameter::kBatchSizeFieldNumber;
44579 const int WindowDataParameter::kCropSizeFieldNumber;
44580 const int WindowDataParameter::kMirrorFieldNumber;
44581 const int WindowDataParameter::kFgThresholdFieldNumber;
44582 const int WindowDataParameter::kBgThresholdFieldNumber;
44583 const int WindowDataParameter::kFgFractionFieldNumber;
44584 const int WindowDataParameter::kContextPadFieldNumber;
44585 const int WindowDataParameter::kCropModeFieldNumber;
44586 const int WindowDataParameter::kCacheImagesFieldNumber;
44587 const int WindowDataParameter::kRootFolderFieldNumber;
44588 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
44589
44590 WindowDataParameter::WindowDataParameter()
44591   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
44592   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
44593   SharedCtor();
44594   // @@protoc_insertion_point(constructor:opencv_caffe.WindowDataParameter)
44595 }
44596
44597 void WindowDataParameter::InitAsDefaultInstance() {
44598 }
44599
44600 WindowDataParameter::WindowDataParameter(const WindowDataParameter& from)
44601   : ::google::protobuf::Message(),
44602     _internal_metadata_(NULL) {
44603   SharedCtor();
44604   UnsafeMergeFrom(from);
44605   // @@protoc_insertion_point(copy_constructor:opencv_caffe.WindowDataParameter)
44606 }
44607
44608 void WindowDataParameter::SharedCtor() {
44609   _cached_size_ = 0;
44610   source_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
44611   mean_file_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
44612   crop_mode_.UnsafeSetDefault(_default_crop_mode_);
44613   root_folder_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
44614   ::memset(&batch_size_, 0, reinterpret_cast<char*>(&context_pad_) -
44615     reinterpret_cast<char*>(&batch_size_) + sizeof(context_pad_));
44616   scale_ = 1;
44617   fg_threshold_ = 0.5f;
44618   bg_threshold_ = 0.5f;
44619   fg_fraction_ = 0.25f;
44620 }
44621
44622 WindowDataParameter::~WindowDataParameter() {
44623   // @@protoc_insertion_point(destructor:opencv_caffe.WindowDataParameter)
44624   SharedDtor();
44625 }
44626
44627 void WindowDataParameter::SharedDtor() {
44628   source_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
44629   mean_file_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
44630   crop_mode_.DestroyNoArena(_default_crop_mode_);
44631   root_folder_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
44632 }
44633
44634 void WindowDataParameter::SetCachedSize(int size) const {
44635   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
44636   _cached_size_ = size;
44637   GOOGLE_SAFE_CONCURRENT_WRITES_END();
44638 }
44639 const ::google::protobuf::Descriptor* WindowDataParameter::descriptor() {
44640   protobuf_AssignDescriptorsOnce();
44641   return WindowDataParameter_descriptor_;
44642 }
44643
44644 const WindowDataParameter& WindowDataParameter::default_instance() {
44645   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
44646   return *internal_default_instance();
44647 }
44648
44649 ::google::protobuf::internal::ExplicitlyConstructed<WindowDataParameter> WindowDataParameter_default_instance_;
44650
44651 WindowDataParameter* WindowDataParameter::New(::google::protobuf::Arena* arena) const {
44652   WindowDataParameter* n = new WindowDataParameter;
44653   if (arena != NULL) {
44654     arena->Own(n);
44655   }
44656   return n;
44657 }
44658
44659 void WindowDataParameter::Clear() {
44660 // @@protoc_insertion_point(message_clear_start:opencv_caffe.WindowDataParameter)
44661 #if defined(__clang__)
44662 #define ZR_HELPER_(f) \
44663   _Pragma("clang diagnostic push") \
44664   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
44665   __builtin_offsetof(WindowDataParameter, f) \
44666   _Pragma("clang diagnostic pop")
44667 #else
44668 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
44669   &reinterpret_cast<WindowDataParameter*>(16)->f)
44670 #endif
44671
44672 #define ZR_(first, last) do {\
44673   ::memset(&(first), 0,\
44674            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
44675 } while (0)
44676
44677   if (_has_bits_[0 / 32] & 255u) {
44678     ZR_(batch_size_, mirror_);
44679     if (has_source()) {
44680       source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
44681     }
44682     scale_ = 1;
44683     if (has_mean_file()) {
44684       mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
44685     }
44686     fg_threshold_ = 0.5f;
44687     bg_threshold_ = 0.5f;
44688   }
44689   if (_has_bits_[8 / 32] & 7936u) {
44690     ZR_(cache_images_, context_pad_);
44691     fg_fraction_ = 0.25f;
44692     if (has_crop_mode()) {
44693       crop_mode_.ClearToDefaultNoArena(_default_crop_mode_);
44694     }
44695     if (has_root_folder()) {
44696       root_folder_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
44697     }
44698   }
44699
44700 #undef ZR_HELPER_
44701 #undef ZR_
44702
44703   _has_bits_.Clear();
44704   if (_internal_metadata_.have_unknown_fields()) {
44705     mutable_unknown_fields()->Clear();
44706   }
44707 }
44708
44709 bool WindowDataParameter::MergePartialFromCodedStream(
44710     ::google::protobuf::io::CodedInputStream* input) {
44711 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
44712   ::google::protobuf::uint32 tag;
44713   // @@protoc_insertion_point(parse_start:opencv_caffe.WindowDataParameter)
44714   for (;;) {
44715     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
44716     tag = p.first;
44717     if (!p.second) goto handle_unusual;
44718     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
44719       // optional string source = 1;
44720       case 1: {
44721         if (tag == 10) {
44722           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
44723                 input, this->mutable_source()));
44724           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
44725             this->source().data(), this->source().length(),
44726             ::google::protobuf::internal::WireFormat::PARSE,
44727             "opencv_caffe.WindowDataParameter.source");
44728         } else {
44729           goto handle_unusual;
44730         }
44731         if (input->ExpectTag(21)) goto parse_scale;
44732         break;
44733       }
44734
44735       // optional float scale = 2 [default = 1];
44736       case 2: {
44737         if (tag == 21) {
44738          parse_scale:
44739           set_has_scale();
44740           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
44741                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
44742                  input, &scale_)));
44743         } else {
44744           goto handle_unusual;
44745         }
44746         if (input->ExpectTag(26)) goto parse_mean_file;
44747         break;
44748       }
44749
44750       // optional string mean_file = 3;
44751       case 3: {
44752         if (tag == 26) {
44753          parse_mean_file:
44754           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
44755                 input, this->mutable_mean_file()));
44756           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
44757             this->mean_file().data(), this->mean_file().length(),
44758             ::google::protobuf::internal::WireFormat::PARSE,
44759             "opencv_caffe.WindowDataParameter.mean_file");
44760         } else {
44761           goto handle_unusual;
44762         }
44763         if (input->ExpectTag(32)) goto parse_batch_size;
44764         break;
44765       }
44766
44767       // optional uint32 batch_size = 4;
44768       case 4: {
44769         if (tag == 32) {
44770          parse_batch_size:
44771           set_has_batch_size();
44772           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
44773                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
44774                  input, &batch_size_)));
44775         } else {
44776           goto handle_unusual;
44777         }
44778         if (input->ExpectTag(40)) goto parse_crop_size;
44779         break;
44780       }
44781
44782       // optional uint32 crop_size = 5 [default = 0];
44783       case 5: {
44784         if (tag == 40) {
44785          parse_crop_size:
44786           set_has_crop_size();
44787           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
44788                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
44789                  input, &crop_size_)));
44790         } else {
44791           goto handle_unusual;
44792         }
44793         if (input->ExpectTag(48)) goto parse_mirror;
44794         break;
44795       }
44796
44797       // optional bool mirror = 6 [default = false];
44798       case 6: {
44799         if (tag == 48) {
44800          parse_mirror:
44801           set_has_mirror();
44802           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
44803                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
44804                  input, &mirror_)));
44805         } else {
44806           goto handle_unusual;
44807         }
44808         if (input->ExpectTag(61)) goto parse_fg_threshold;
44809         break;
44810       }
44811
44812       // optional float fg_threshold = 7 [default = 0.5];
44813       case 7: {
44814         if (tag == 61) {
44815          parse_fg_threshold:
44816           set_has_fg_threshold();
44817           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
44818                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
44819                  input, &fg_threshold_)));
44820         } else {
44821           goto handle_unusual;
44822         }
44823         if (input->ExpectTag(69)) goto parse_bg_threshold;
44824         break;
44825       }
44826
44827       // optional float bg_threshold = 8 [default = 0.5];
44828       case 8: {
44829         if (tag == 69) {
44830          parse_bg_threshold:
44831           set_has_bg_threshold();
44832           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
44833                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
44834                  input, &bg_threshold_)));
44835         } else {
44836           goto handle_unusual;
44837         }
44838         if (input->ExpectTag(77)) goto parse_fg_fraction;
44839         break;
44840       }
44841
44842       // optional float fg_fraction = 9 [default = 0.25];
44843       case 9: {
44844         if (tag == 77) {
44845          parse_fg_fraction:
44846           set_has_fg_fraction();
44847           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
44848                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
44849                  input, &fg_fraction_)));
44850         } else {
44851           goto handle_unusual;
44852         }
44853         if (input->ExpectTag(80)) goto parse_context_pad;
44854         break;
44855       }
44856
44857       // optional uint32 context_pad = 10 [default = 0];
44858       case 10: {
44859         if (tag == 80) {
44860          parse_context_pad:
44861           set_has_context_pad();
44862           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
44863                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
44864                  input, &context_pad_)));
44865         } else {
44866           goto handle_unusual;
44867         }
44868         if (input->ExpectTag(90)) goto parse_crop_mode;
44869         break;
44870       }
44871
44872       // optional string crop_mode = 11 [default = "warp"];
44873       case 11: {
44874         if (tag == 90) {
44875          parse_crop_mode:
44876           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
44877                 input, this->mutable_crop_mode()));
44878           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
44879             this->crop_mode().data(), this->crop_mode().length(),
44880             ::google::protobuf::internal::WireFormat::PARSE,
44881             "opencv_caffe.WindowDataParameter.crop_mode");
44882         } else {
44883           goto handle_unusual;
44884         }
44885         if (input->ExpectTag(96)) goto parse_cache_images;
44886         break;
44887       }
44888
44889       // optional bool cache_images = 12 [default = false];
44890       case 12: {
44891         if (tag == 96) {
44892          parse_cache_images:
44893           set_has_cache_images();
44894           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
44895                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
44896                  input, &cache_images_)));
44897         } else {
44898           goto handle_unusual;
44899         }
44900         if (input->ExpectTag(106)) goto parse_root_folder;
44901         break;
44902       }
44903
44904       // optional string root_folder = 13 [default = ""];
44905       case 13: {
44906         if (tag == 106) {
44907          parse_root_folder:
44908           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
44909                 input, this->mutable_root_folder()));
44910           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
44911             this->root_folder().data(), this->root_folder().length(),
44912             ::google::protobuf::internal::WireFormat::PARSE,
44913             "opencv_caffe.WindowDataParameter.root_folder");
44914         } else {
44915           goto handle_unusual;
44916         }
44917         if (input->ExpectAtEnd()) goto success;
44918         break;
44919       }
44920
44921       default: {
44922       handle_unusual:
44923         if (tag == 0 ||
44924             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
44925             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
44926           goto success;
44927         }
44928         DO_(::google::protobuf::internal::WireFormat::SkipField(
44929               input, tag, mutable_unknown_fields()));
44930         break;
44931       }
44932     }
44933   }
44934 success:
44935   // @@protoc_insertion_point(parse_success:opencv_caffe.WindowDataParameter)
44936   return true;
44937 failure:
44938   // @@protoc_insertion_point(parse_failure:opencv_caffe.WindowDataParameter)
44939   return false;
44940 #undef DO_
44941 }
44942
44943 void WindowDataParameter::SerializeWithCachedSizes(
44944     ::google::protobuf::io::CodedOutputStream* output) const {
44945   // @@protoc_insertion_point(serialize_start:opencv_caffe.WindowDataParameter)
44946   // optional string source = 1;
44947   if (has_source()) {
44948     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
44949       this->source().data(), this->source().length(),
44950       ::google::protobuf::internal::WireFormat::SERIALIZE,
44951       "opencv_caffe.WindowDataParameter.source");
44952     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
44953       1, this->source(), output);
44954   }
44955
44956   // optional float scale = 2 [default = 1];
44957   if (has_scale()) {
44958     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->scale(), output);
44959   }
44960
44961   // optional string mean_file = 3;
44962   if (has_mean_file()) {
44963     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
44964       this->mean_file().data(), this->mean_file().length(),
44965       ::google::protobuf::internal::WireFormat::SERIALIZE,
44966       "opencv_caffe.WindowDataParameter.mean_file");
44967     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
44968       3, this->mean_file(), output);
44969   }
44970
44971   // optional uint32 batch_size = 4;
44972   if (has_batch_size()) {
44973     ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->batch_size(), output);
44974   }
44975
44976   // optional uint32 crop_size = 5 [default = 0];
44977   if (has_crop_size()) {
44978     ::google::protobuf::internal::WireFormatLite::WriteUInt32(5, this->crop_size(), output);
44979   }
44980
44981   // optional bool mirror = 6 [default = false];
44982   if (has_mirror()) {
44983     ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->mirror(), output);
44984   }
44985
44986   // optional float fg_threshold = 7 [default = 0.5];
44987   if (has_fg_threshold()) {
44988     ::google::protobuf::internal::WireFormatLite::WriteFloat(7, this->fg_threshold(), output);
44989   }
44990
44991   // optional float bg_threshold = 8 [default = 0.5];
44992   if (has_bg_threshold()) {
44993     ::google::protobuf::internal::WireFormatLite::WriteFloat(8, this->bg_threshold(), output);
44994   }
44995
44996   // optional float fg_fraction = 9 [default = 0.25];
44997   if (has_fg_fraction()) {
44998     ::google::protobuf::internal::WireFormatLite::WriteFloat(9, this->fg_fraction(), output);
44999   }
45000
45001   // optional uint32 context_pad = 10 [default = 0];
45002   if (has_context_pad()) {
45003     ::google::protobuf::internal::WireFormatLite::WriteUInt32(10, this->context_pad(), output);
45004   }
45005
45006   // optional string crop_mode = 11 [default = "warp"];
45007   if (has_crop_mode()) {
45008     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
45009       this->crop_mode().data(), this->crop_mode().length(),
45010       ::google::protobuf::internal::WireFormat::SERIALIZE,
45011       "opencv_caffe.WindowDataParameter.crop_mode");
45012     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
45013       11, this->crop_mode(), output);
45014   }
45015
45016   // optional bool cache_images = 12 [default = false];
45017   if (has_cache_images()) {
45018     ::google::protobuf::internal::WireFormatLite::WriteBool(12, this->cache_images(), output);
45019   }
45020
45021   // optional string root_folder = 13 [default = ""];
45022   if (has_root_folder()) {
45023     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
45024       this->root_folder().data(), this->root_folder().length(),
45025       ::google::protobuf::internal::WireFormat::SERIALIZE,
45026       "opencv_caffe.WindowDataParameter.root_folder");
45027     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
45028       13, this->root_folder(), output);
45029   }
45030
45031   if (_internal_metadata_.have_unknown_fields()) {
45032     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
45033         unknown_fields(), output);
45034   }
45035   // @@protoc_insertion_point(serialize_end:opencv_caffe.WindowDataParameter)
45036 }
45037
45038 ::google::protobuf::uint8* WindowDataParameter::InternalSerializeWithCachedSizesToArray(
45039     bool deterministic, ::google::protobuf::uint8* target) const {
45040   (void)deterministic; // Unused
45041   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.WindowDataParameter)
45042   // optional string source = 1;
45043   if (has_source()) {
45044     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
45045       this->source().data(), this->source().length(),
45046       ::google::protobuf::internal::WireFormat::SERIALIZE,
45047       "opencv_caffe.WindowDataParameter.source");
45048     target =
45049       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
45050         1, this->source(), target);
45051   }
45052
45053   // optional float scale = 2 [default = 1];
45054   if (has_scale()) {
45055     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->scale(), target);
45056   }
45057
45058   // optional string mean_file = 3;
45059   if (has_mean_file()) {
45060     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
45061       this->mean_file().data(), this->mean_file().length(),
45062       ::google::protobuf::internal::WireFormat::SERIALIZE,
45063       "opencv_caffe.WindowDataParameter.mean_file");
45064     target =
45065       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
45066         3, this->mean_file(), target);
45067   }
45068
45069   // optional uint32 batch_size = 4;
45070   if (has_batch_size()) {
45071     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(4, this->batch_size(), target);
45072   }
45073
45074   // optional uint32 crop_size = 5 [default = 0];
45075   if (has_crop_size()) {
45076     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(5, this->crop_size(), target);
45077   }
45078
45079   // optional bool mirror = 6 [default = false];
45080   if (has_mirror()) {
45081     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(6, this->mirror(), target);
45082   }
45083
45084   // optional float fg_threshold = 7 [default = 0.5];
45085   if (has_fg_threshold()) {
45086     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(7, this->fg_threshold(), target);
45087   }
45088
45089   // optional float bg_threshold = 8 [default = 0.5];
45090   if (has_bg_threshold()) {
45091     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(8, this->bg_threshold(), target);
45092   }
45093
45094   // optional float fg_fraction = 9 [default = 0.25];
45095   if (has_fg_fraction()) {
45096     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(9, this->fg_fraction(), target);
45097   }
45098
45099   // optional uint32 context_pad = 10 [default = 0];
45100   if (has_context_pad()) {
45101     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(10, this->context_pad(), target);
45102   }
45103
45104   // optional string crop_mode = 11 [default = "warp"];
45105   if (has_crop_mode()) {
45106     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
45107       this->crop_mode().data(), this->crop_mode().length(),
45108       ::google::protobuf::internal::WireFormat::SERIALIZE,
45109       "opencv_caffe.WindowDataParameter.crop_mode");
45110     target =
45111       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
45112         11, this->crop_mode(), target);
45113   }
45114
45115   // optional bool cache_images = 12 [default = false];
45116   if (has_cache_images()) {
45117     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(12, this->cache_images(), target);
45118   }
45119
45120   // optional string root_folder = 13 [default = ""];
45121   if (has_root_folder()) {
45122     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
45123       this->root_folder().data(), this->root_folder().length(),
45124       ::google::protobuf::internal::WireFormat::SERIALIZE,
45125       "opencv_caffe.WindowDataParameter.root_folder");
45126     target =
45127       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
45128         13, this->root_folder(), target);
45129   }
45130
45131   if (_internal_metadata_.have_unknown_fields()) {
45132     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
45133         unknown_fields(), target);
45134   }
45135   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.WindowDataParameter)
45136   return target;
45137 }
45138
45139 size_t WindowDataParameter::ByteSizeLong() const {
45140 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.WindowDataParameter)
45141   size_t total_size = 0;
45142
45143   if (_has_bits_[0 / 32] & 255u) {
45144     // optional string source = 1;
45145     if (has_source()) {
45146       total_size += 1 +
45147         ::google::protobuf::internal::WireFormatLite::StringSize(
45148           this->source());
45149     }
45150
45151     // optional float scale = 2 [default = 1];
45152     if (has_scale()) {
45153       total_size += 1 + 4;
45154     }
45155
45156     // optional string mean_file = 3;
45157     if (has_mean_file()) {
45158       total_size += 1 +
45159         ::google::protobuf::internal::WireFormatLite::StringSize(
45160           this->mean_file());
45161     }
45162
45163     // optional uint32 batch_size = 4;
45164     if (has_batch_size()) {
45165       total_size += 1 +
45166         ::google::protobuf::internal::WireFormatLite::UInt32Size(
45167           this->batch_size());
45168     }
45169
45170     // optional uint32 crop_size = 5 [default = 0];
45171     if (has_crop_size()) {
45172       total_size += 1 +
45173         ::google::protobuf::internal::WireFormatLite::UInt32Size(
45174           this->crop_size());
45175     }
45176
45177     // optional bool mirror = 6 [default = false];
45178     if (has_mirror()) {
45179       total_size += 1 + 1;
45180     }
45181
45182     // optional float fg_threshold = 7 [default = 0.5];
45183     if (has_fg_threshold()) {
45184       total_size += 1 + 4;
45185     }
45186
45187     // optional float bg_threshold = 8 [default = 0.5];
45188     if (has_bg_threshold()) {
45189       total_size += 1 + 4;
45190     }
45191
45192   }
45193   if (_has_bits_[8 / 32] & 7936u) {
45194     // optional float fg_fraction = 9 [default = 0.25];
45195     if (has_fg_fraction()) {
45196       total_size += 1 + 4;
45197     }
45198
45199     // optional uint32 context_pad = 10 [default = 0];
45200     if (has_context_pad()) {
45201       total_size += 1 +
45202         ::google::protobuf::internal::WireFormatLite::UInt32Size(
45203           this->context_pad());
45204     }
45205
45206     // optional string crop_mode = 11 [default = "warp"];
45207     if (has_crop_mode()) {
45208       total_size += 1 +
45209         ::google::protobuf::internal::WireFormatLite::StringSize(
45210           this->crop_mode());
45211     }
45212
45213     // optional bool cache_images = 12 [default = false];
45214     if (has_cache_images()) {
45215       total_size += 1 + 1;
45216     }
45217
45218     // optional string root_folder = 13 [default = ""];
45219     if (has_root_folder()) {
45220       total_size += 1 +
45221         ::google::protobuf::internal::WireFormatLite::StringSize(
45222           this->root_folder());
45223     }
45224
45225   }
45226   if (_internal_metadata_.have_unknown_fields()) {
45227     total_size +=
45228       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
45229         unknown_fields());
45230   }
45231   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
45232   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
45233   _cached_size_ = cached_size;
45234   GOOGLE_SAFE_CONCURRENT_WRITES_END();
45235   return total_size;
45236 }
45237
45238 void WindowDataParameter::MergeFrom(const ::google::protobuf::Message& from) {
45239 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.WindowDataParameter)
45240   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
45241   const WindowDataParameter* source =
45242       ::google::protobuf::internal::DynamicCastToGenerated<const WindowDataParameter>(
45243           &from);
45244   if (source == NULL) {
45245   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.WindowDataParameter)
45246     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
45247   } else {
45248   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.WindowDataParameter)
45249     UnsafeMergeFrom(*source);
45250   }
45251 }
45252
45253 void WindowDataParameter::MergeFrom(const WindowDataParameter& from) {
45254 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.WindowDataParameter)
45255   if (GOOGLE_PREDICT_TRUE(&from != this)) {
45256     UnsafeMergeFrom(from);
45257   } else {
45258     MergeFromFail(__LINE__);
45259   }
45260 }
45261
45262 void WindowDataParameter::UnsafeMergeFrom(const WindowDataParameter& from) {
45263   GOOGLE_DCHECK(&from != this);
45264   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
45265     if (from.has_source()) {
45266       set_has_source();
45267       source_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.source_);
45268     }
45269     if (from.has_scale()) {
45270       set_scale(from.scale());
45271     }
45272     if (from.has_mean_file()) {
45273       set_has_mean_file();
45274       mean_file_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.mean_file_);
45275     }
45276     if (from.has_batch_size()) {
45277       set_batch_size(from.batch_size());
45278     }
45279     if (from.has_crop_size()) {
45280       set_crop_size(from.crop_size());
45281     }
45282     if (from.has_mirror()) {
45283       set_mirror(from.mirror());
45284     }
45285     if (from.has_fg_threshold()) {
45286       set_fg_threshold(from.fg_threshold());
45287     }
45288     if (from.has_bg_threshold()) {
45289       set_bg_threshold(from.bg_threshold());
45290     }
45291   }
45292   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
45293     if (from.has_fg_fraction()) {
45294       set_fg_fraction(from.fg_fraction());
45295     }
45296     if (from.has_context_pad()) {
45297       set_context_pad(from.context_pad());
45298     }
45299     if (from.has_crop_mode()) {
45300       set_has_crop_mode();
45301       crop_mode_.AssignWithDefault(_default_crop_mode_, from.crop_mode_);
45302     }
45303     if (from.has_cache_images()) {
45304       set_cache_images(from.cache_images());
45305     }
45306     if (from.has_root_folder()) {
45307       set_has_root_folder();
45308       root_folder_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.root_folder_);
45309     }
45310   }
45311   if (from._internal_metadata_.have_unknown_fields()) {
45312     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
45313       from.unknown_fields(), &_internal_metadata_);
45314   }
45315 }
45316
45317 void WindowDataParameter::CopyFrom(const ::google::protobuf::Message& from) {
45318 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.WindowDataParameter)
45319   if (&from == this) return;
45320   Clear();
45321   MergeFrom(from);
45322 }
45323
45324 void WindowDataParameter::CopyFrom(const WindowDataParameter& from) {
45325 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.WindowDataParameter)
45326   if (&from == this) return;
45327   Clear();
45328   UnsafeMergeFrom(from);
45329 }
45330
45331 bool WindowDataParameter::IsInitialized() const {
45332
45333   return true;
45334 }
45335
45336 void WindowDataParameter::Swap(WindowDataParameter* other) {
45337   if (other == this) return;
45338   InternalSwap(other);
45339 }
45340 void WindowDataParameter::InternalSwap(WindowDataParameter* other) {
45341   source_.Swap(&other->source_);
45342   std::swap(scale_, other->scale_);
45343   mean_file_.Swap(&other->mean_file_);
45344   std::swap(batch_size_, other->batch_size_);
45345   std::swap(crop_size_, other->crop_size_);
45346   std::swap(mirror_, other->mirror_);
45347   std::swap(fg_threshold_, other->fg_threshold_);
45348   std::swap(bg_threshold_, other->bg_threshold_);
45349   std::swap(fg_fraction_, other->fg_fraction_);
45350   std::swap(context_pad_, other->context_pad_);
45351   crop_mode_.Swap(&other->crop_mode_);
45352   std::swap(cache_images_, other->cache_images_);
45353   root_folder_.Swap(&other->root_folder_);
45354   std::swap(_has_bits_[0], other->_has_bits_[0]);
45355   _internal_metadata_.Swap(&other->_internal_metadata_);
45356   std::swap(_cached_size_, other->_cached_size_);
45357 }
45358
45359 ::google::protobuf::Metadata WindowDataParameter::GetMetadata() const {
45360   protobuf_AssignDescriptorsOnce();
45361   ::google::protobuf::Metadata metadata;
45362   metadata.descriptor = WindowDataParameter_descriptor_;
45363   metadata.reflection = WindowDataParameter_reflection_;
45364   return metadata;
45365 }
45366
45367 #if PROTOBUF_INLINE_NOT_IN_HEADERS
45368 // WindowDataParameter
45369
45370 // optional string source = 1;
45371 bool WindowDataParameter::has_source() const {
45372   return (_has_bits_[0] & 0x00000001u) != 0;
45373 }
45374 void WindowDataParameter::set_has_source() {
45375   _has_bits_[0] |= 0x00000001u;
45376 }
45377 void WindowDataParameter::clear_has_source() {
45378   _has_bits_[0] &= ~0x00000001u;
45379 }
45380 void WindowDataParameter::clear_source() {
45381   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45382   clear_has_source();
45383 }
45384 const ::std::string& WindowDataParameter::source() const {
45385   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.source)
45386   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45387 }
45388 void WindowDataParameter::set_source(const ::std::string& value) {
45389   set_has_source();
45390   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
45391   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.source)
45392 }
45393 void WindowDataParameter::set_source(const char* value) {
45394   set_has_source();
45395   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
45396   // @@protoc_insertion_point(field_set_char:opencv_caffe.WindowDataParameter.source)
45397 }
45398 void WindowDataParameter::set_source(const char* value, size_t size) {
45399   set_has_source();
45400   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
45401       ::std::string(reinterpret_cast<const char*>(value), size));
45402   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.WindowDataParameter.source)
45403 }
45404 ::std::string* WindowDataParameter::mutable_source() {
45405   set_has_source();
45406   // @@protoc_insertion_point(field_mutable:opencv_caffe.WindowDataParameter.source)
45407   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45408 }
45409 ::std::string* WindowDataParameter::release_source() {
45410   // @@protoc_insertion_point(field_release:opencv_caffe.WindowDataParameter.source)
45411   clear_has_source();
45412   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45413 }
45414 void WindowDataParameter::set_allocated_source(::std::string* source) {
45415   if (source != NULL) {
45416     set_has_source();
45417   } else {
45418     clear_has_source();
45419   }
45420   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
45421   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.WindowDataParameter.source)
45422 }
45423
45424 // optional float scale = 2 [default = 1];
45425 bool WindowDataParameter::has_scale() const {
45426   return (_has_bits_[0] & 0x00000002u) != 0;
45427 }
45428 void WindowDataParameter::set_has_scale() {
45429   _has_bits_[0] |= 0x00000002u;
45430 }
45431 void WindowDataParameter::clear_has_scale() {
45432   _has_bits_[0] &= ~0x00000002u;
45433 }
45434 void WindowDataParameter::clear_scale() {
45435   scale_ = 1;
45436   clear_has_scale();
45437 }
45438 float WindowDataParameter::scale() const {
45439   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.scale)
45440   return scale_;
45441 }
45442 void WindowDataParameter::set_scale(float value) {
45443   set_has_scale();
45444   scale_ = value;
45445   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.scale)
45446 }
45447
45448 // optional string mean_file = 3;
45449 bool WindowDataParameter::has_mean_file() const {
45450   return (_has_bits_[0] & 0x00000004u) != 0;
45451 }
45452 void WindowDataParameter::set_has_mean_file() {
45453   _has_bits_[0] |= 0x00000004u;
45454 }
45455 void WindowDataParameter::clear_has_mean_file() {
45456   _has_bits_[0] &= ~0x00000004u;
45457 }
45458 void WindowDataParameter::clear_mean_file() {
45459   mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45460   clear_has_mean_file();
45461 }
45462 const ::std::string& WindowDataParameter::mean_file() const {
45463   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.mean_file)
45464   return mean_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45465 }
45466 void WindowDataParameter::set_mean_file(const ::std::string& value) {
45467   set_has_mean_file();
45468   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
45469   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.mean_file)
45470 }
45471 void WindowDataParameter::set_mean_file(const char* value) {
45472   set_has_mean_file();
45473   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
45474   // @@protoc_insertion_point(field_set_char:opencv_caffe.WindowDataParameter.mean_file)
45475 }
45476 void WindowDataParameter::set_mean_file(const char* value, size_t size) {
45477   set_has_mean_file();
45478   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
45479       ::std::string(reinterpret_cast<const char*>(value), size));
45480   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.WindowDataParameter.mean_file)
45481 }
45482 ::std::string* WindowDataParameter::mutable_mean_file() {
45483   set_has_mean_file();
45484   // @@protoc_insertion_point(field_mutable:opencv_caffe.WindowDataParameter.mean_file)
45485   return mean_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45486 }
45487 ::std::string* WindowDataParameter::release_mean_file() {
45488   // @@protoc_insertion_point(field_release:opencv_caffe.WindowDataParameter.mean_file)
45489   clear_has_mean_file();
45490   return mean_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45491 }
45492 void WindowDataParameter::set_allocated_mean_file(::std::string* mean_file) {
45493   if (mean_file != NULL) {
45494     set_has_mean_file();
45495   } else {
45496     clear_has_mean_file();
45497   }
45498   mean_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mean_file);
45499   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.WindowDataParameter.mean_file)
45500 }
45501
45502 // optional uint32 batch_size = 4;
45503 bool WindowDataParameter::has_batch_size() const {
45504   return (_has_bits_[0] & 0x00000008u) != 0;
45505 }
45506 void WindowDataParameter::set_has_batch_size() {
45507   _has_bits_[0] |= 0x00000008u;
45508 }
45509 void WindowDataParameter::clear_has_batch_size() {
45510   _has_bits_[0] &= ~0x00000008u;
45511 }
45512 void WindowDataParameter::clear_batch_size() {
45513   batch_size_ = 0u;
45514   clear_has_batch_size();
45515 }
45516 ::google::protobuf::uint32 WindowDataParameter::batch_size() const {
45517   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.batch_size)
45518   return batch_size_;
45519 }
45520 void WindowDataParameter::set_batch_size(::google::protobuf::uint32 value) {
45521   set_has_batch_size();
45522   batch_size_ = value;
45523   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.batch_size)
45524 }
45525
45526 // optional uint32 crop_size = 5 [default = 0];
45527 bool WindowDataParameter::has_crop_size() const {
45528   return (_has_bits_[0] & 0x00000010u) != 0;
45529 }
45530 void WindowDataParameter::set_has_crop_size() {
45531   _has_bits_[0] |= 0x00000010u;
45532 }
45533 void WindowDataParameter::clear_has_crop_size() {
45534   _has_bits_[0] &= ~0x00000010u;
45535 }
45536 void WindowDataParameter::clear_crop_size() {
45537   crop_size_ = 0u;
45538   clear_has_crop_size();
45539 }
45540 ::google::protobuf::uint32 WindowDataParameter::crop_size() const {
45541   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.crop_size)
45542   return crop_size_;
45543 }
45544 void WindowDataParameter::set_crop_size(::google::protobuf::uint32 value) {
45545   set_has_crop_size();
45546   crop_size_ = value;
45547   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.crop_size)
45548 }
45549
45550 // optional bool mirror = 6 [default = false];
45551 bool WindowDataParameter::has_mirror() const {
45552   return (_has_bits_[0] & 0x00000020u) != 0;
45553 }
45554 void WindowDataParameter::set_has_mirror() {
45555   _has_bits_[0] |= 0x00000020u;
45556 }
45557 void WindowDataParameter::clear_has_mirror() {
45558   _has_bits_[0] &= ~0x00000020u;
45559 }
45560 void WindowDataParameter::clear_mirror() {
45561   mirror_ = false;
45562   clear_has_mirror();
45563 }
45564 bool WindowDataParameter::mirror() const {
45565   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.mirror)
45566   return mirror_;
45567 }
45568 void WindowDataParameter::set_mirror(bool value) {
45569   set_has_mirror();
45570   mirror_ = value;
45571   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.mirror)
45572 }
45573
45574 // optional float fg_threshold = 7 [default = 0.5];
45575 bool WindowDataParameter::has_fg_threshold() const {
45576   return (_has_bits_[0] & 0x00000040u) != 0;
45577 }
45578 void WindowDataParameter::set_has_fg_threshold() {
45579   _has_bits_[0] |= 0x00000040u;
45580 }
45581 void WindowDataParameter::clear_has_fg_threshold() {
45582   _has_bits_[0] &= ~0x00000040u;
45583 }
45584 void WindowDataParameter::clear_fg_threshold() {
45585   fg_threshold_ = 0.5f;
45586   clear_has_fg_threshold();
45587 }
45588 float WindowDataParameter::fg_threshold() const {
45589   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.fg_threshold)
45590   return fg_threshold_;
45591 }
45592 void WindowDataParameter::set_fg_threshold(float value) {
45593   set_has_fg_threshold();
45594   fg_threshold_ = value;
45595   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.fg_threshold)
45596 }
45597
45598 // optional float bg_threshold = 8 [default = 0.5];
45599 bool WindowDataParameter::has_bg_threshold() const {
45600   return (_has_bits_[0] & 0x00000080u) != 0;
45601 }
45602 void WindowDataParameter::set_has_bg_threshold() {
45603   _has_bits_[0] |= 0x00000080u;
45604 }
45605 void WindowDataParameter::clear_has_bg_threshold() {
45606   _has_bits_[0] &= ~0x00000080u;
45607 }
45608 void WindowDataParameter::clear_bg_threshold() {
45609   bg_threshold_ = 0.5f;
45610   clear_has_bg_threshold();
45611 }
45612 float WindowDataParameter::bg_threshold() const {
45613   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.bg_threshold)
45614   return bg_threshold_;
45615 }
45616 void WindowDataParameter::set_bg_threshold(float value) {
45617   set_has_bg_threshold();
45618   bg_threshold_ = value;
45619   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.bg_threshold)
45620 }
45621
45622 // optional float fg_fraction = 9 [default = 0.25];
45623 bool WindowDataParameter::has_fg_fraction() const {
45624   return (_has_bits_[0] & 0x00000100u) != 0;
45625 }
45626 void WindowDataParameter::set_has_fg_fraction() {
45627   _has_bits_[0] |= 0x00000100u;
45628 }
45629 void WindowDataParameter::clear_has_fg_fraction() {
45630   _has_bits_[0] &= ~0x00000100u;
45631 }
45632 void WindowDataParameter::clear_fg_fraction() {
45633   fg_fraction_ = 0.25f;
45634   clear_has_fg_fraction();
45635 }
45636 float WindowDataParameter::fg_fraction() const {
45637   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.fg_fraction)
45638   return fg_fraction_;
45639 }
45640 void WindowDataParameter::set_fg_fraction(float value) {
45641   set_has_fg_fraction();
45642   fg_fraction_ = value;
45643   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.fg_fraction)
45644 }
45645
45646 // optional uint32 context_pad = 10 [default = 0];
45647 bool WindowDataParameter::has_context_pad() const {
45648   return (_has_bits_[0] & 0x00000200u) != 0;
45649 }
45650 void WindowDataParameter::set_has_context_pad() {
45651   _has_bits_[0] |= 0x00000200u;
45652 }
45653 void WindowDataParameter::clear_has_context_pad() {
45654   _has_bits_[0] &= ~0x00000200u;
45655 }
45656 void WindowDataParameter::clear_context_pad() {
45657   context_pad_ = 0u;
45658   clear_has_context_pad();
45659 }
45660 ::google::protobuf::uint32 WindowDataParameter::context_pad() const {
45661   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.context_pad)
45662   return context_pad_;
45663 }
45664 void WindowDataParameter::set_context_pad(::google::protobuf::uint32 value) {
45665   set_has_context_pad();
45666   context_pad_ = value;
45667   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.context_pad)
45668 }
45669
45670 // optional string crop_mode = 11 [default = "warp"];
45671 bool WindowDataParameter::has_crop_mode() const {
45672   return (_has_bits_[0] & 0x00000400u) != 0;
45673 }
45674 void WindowDataParameter::set_has_crop_mode() {
45675   _has_bits_[0] |= 0x00000400u;
45676 }
45677 void WindowDataParameter::clear_has_crop_mode() {
45678   _has_bits_[0] &= ~0x00000400u;
45679 }
45680 void WindowDataParameter::clear_crop_mode() {
45681   crop_mode_.ClearToDefaultNoArena(_default_crop_mode_);
45682   clear_has_crop_mode();
45683 }
45684 const ::std::string& WindowDataParameter::crop_mode() const {
45685   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.crop_mode)
45686   return crop_mode_.GetNoArena(_default_crop_mode_);
45687 }
45688 void WindowDataParameter::set_crop_mode(const ::std::string& value) {
45689   set_has_crop_mode();
45690   crop_mode_.SetNoArena(_default_crop_mode_, value);
45691   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.crop_mode)
45692 }
45693 void WindowDataParameter::set_crop_mode(const char* value) {
45694   set_has_crop_mode();
45695   crop_mode_.SetNoArena(_default_crop_mode_, ::std::string(value));
45696   // @@protoc_insertion_point(field_set_char:opencv_caffe.WindowDataParameter.crop_mode)
45697 }
45698 void WindowDataParameter::set_crop_mode(const char* value, size_t size) {
45699   set_has_crop_mode();
45700   crop_mode_.SetNoArena(_default_crop_mode_,
45701       ::std::string(reinterpret_cast<const char*>(value), size));
45702   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.WindowDataParameter.crop_mode)
45703 }
45704 ::std::string* WindowDataParameter::mutable_crop_mode() {
45705   set_has_crop_mode();
45706   // @@protoc_insertion_point(field_mutable:opencv_caffe.WindowDataParameter.crop_mode)
45707   return crop_mode_.MutableNoArena(_default_crop_mode_);
45708 }
45709 ::std::string* WindowDataParameter::release_crop_mode() {
45710   // @@protoc_insertion_point(field_release:opencv_caffe.WindowDataParameter.crop_mode)
45711   clear_has_crop_mode();
45712   return crop_mode_.ReleaseNoArena(_default_crop_mode_);
45713 }
45714 void WindowDataParameter::set_allocated_crop_mode(::std::string* crop_mode) {
45715   if (crop_mode != NULL) {
45716     set_has_crop_mode();
45717   } else {
45718     clear_has_crop_mode();
45719   }
45720   crop_mode_.SetAllocatedNoArena(_default_crop_mode_, crop_mode);
45721   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.WindowDataParameter.crop_mode)
45722 }
45723
45724 // optional bool cache_images = 12 [default = false];
45725 bool WindowDataParameter::has_cache_images() const {
45726   return (_has_bits_[0] & 0x00000800u) != 0;
45727 }
45728 void WindowDataParameter::set_has_cache_images() {
45729   _has_bits_[0] |= 0x00000800u;
45730 }
45731 void WindowDataParameter::clear_has_cache_images() {
45732   _has_bits_[0] &= ~0x00000800u;
45733 }
45734 void WindowDataParameter::clear_cache_images() {
45735   cache_images_ = false;
45736   clear_has_cache_images();
45737 }
45738 bool WindowDataParameter::cache_images() const {
45739   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.cache_images)
45740   return cache_images_;
45741 }
45742 void WindowDataParameter::set_cache_images(bool value) {
45743   set_has_cache_images();
45744   cache_images_ = value;
45745   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.cache_images)
45746 }
45747
45748 // optional string root_folder = 13 [default = ""];
45749 bool WindowDataParameter::has_root_folder() const {
45750   return (_has_bits_[0] & 0x00001000u) != 0;
45751 }
45752 void WindowDataParameter::set_has_root_folder() {
45753   _has_bits_[0] |= 0x00001000u;
45754 }
45755 void WindowDataParameter::clear_has_root_folder() {
45756   _has_bits_[0] &= ~0x00001000u;
45757 }
45758 void WindowDataParameter::clear_root_folder() {
45759   root_folder_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45760   clear_has_root_folder();
45761 }
45762 const ::std::string& WindowDataParameter::root_folder() const {
45763   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.root_folder)
45764   return root_folder_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45765 }
45766 void WindowDataParameter::set_root_folder(const ::std::string& value) {
45767   set_has_root_folder();
45768   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
45769   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.root_folder)
45770 }
45771 void WindowDataParameter::set_root_folder(const char* value) {
45772   set_has_root_folder();
45773   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
45774   // @@protoc_insertion_point(field_set_char:opencv_caffe.WindowDataParameter.root_folder)
45775 }
45776 void WindowDataParameter::set_root_folder(const char* value, size_t size) {
45777   set_has_root_folder();
45778   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
45779       ::std::string(reinterpret_cast<const char*>(value), size));
45780   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.WindowDataParameter.root_folder)
45781 }
45782 ::std::string* WindowDataParameter::mutable_root_folder() {
45783   set_has_root_folder();
45784   // @@protoc_insertion_point(field_mutable:opencv_caffe.WindowDataParameter.root_folder)
45785   return root_folder_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45786 }
45787 ::std::string* WindowDataParameter::release_root_folder() {
45788   // @@protoc_insertion_point(field_release:opencv_caffe.WindowDataParameter.root_folder)
45789   clear_has_root_folder();
45790   return root_folder_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45791 }
45792 void WindowDataParameter::set_allocated_root_folder(::std::string* root_folder) {
45793   if (root_folder != NULL) {
45794     set_has_root_folder();
45795   } else {
45796     clear_has_root_folder();
45797   }
45798   root_folder_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), root_folder);
45799   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.WindowDataParameter.root_folder)
45800 }
45801
45802 inline const WindowDataParameter* WindowDataParameter::internal_default_instance() {
45803   return &WindowDataParameter_default_instance_.get();
45804 }
45805 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
45806
45807 // ===================================================================
45808
45809 const ::google::protobuf::EnumDescriptor* SPPParameter_PoolMethod_descriptor() {
45810   protobuf_AssignDescriptorsOnce();
45811   return SPPParameter_PoolMethod_descriptor_;
45812 }
45813 bool SPPParameter_PoolMethod_IsValid(int value) {
45814   switch (value) {
45815     case 0:
45816     case 1:
45817     case 2:
45818       return true;
45819     default:
45820       return false;
45821   }
45822 }
45823
45824 #if !defined(_MSC_VER) || _MSC_VER >= 1900
45825 const SPPParameter_PoolMethod SPPParameter::MAX;
45826 const SPPParameter_PoolMethod SPPParameter::AVE;
45827 const SPPParameter_PoolMethod SPPParameter::STOCHASTIC;
45828 const SPPParameter_PoolMethod SPPParameter::PoolMethod_MIN;
45829 const SPPParameter_PoolMethod SPPParameter::PoolMethod_MAX;
45830 const int SPPParameter::PoolMethod_ARRAYSIZE;
45831 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
45832 const ::google::protobuf::EnumDescriptor* SPPParameter_Engine_descriptor() {
45833   protobuf_AssignDescriptorsOnce();
45834   return SPPParameter_Engine_descriptor_;
45835 }
45836 bool SPPParameter_Engine_IsValid(int value) {
45837   switch (value) {
45838     case 0:
45839     case 1:
45840     case 2:
45841       return true;
45842     default:
45843       return false;
45844   }
45845 }
45846
45847 #if !defined(_MSC_VER) || _MSC_VER >= 1900
45848 const SPPParameter_Engine SPPParameter::DEFAULT;
45849 const SPPParameter_Engine SPPParameter::CAFFE;
45850 const SPPParameter_Engine SPPParameter::CUDNN;
45851 const SPPParameter_Engine SPPParameter::Engine_MIN;
45852 const SPPParameter_Engine SPPParameter::Engine_MAX;
45853 const int SPPParameter::Engine_ARRAYSIZE;
45854 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
45855 #if !defined(_MSC_VER) || _MSC_VER >= 1900
45856 const int SPPParameter::kPyramidHeightFieldNumber;
45857 const int SPPParameter::kPoolFieldNumber;
45858 const int SPPParameter::kEngineFieldNumber;
45859 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
45860
45861 SPPParameter::SPPParameter()
45862   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
45863   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
45864   SharedCtor();
45865   // @@protoc_insertion_point(constructor:opencv_caffe.SPPParameter)
45866 }
45867
45868 void SPPParameter::InitAsDefaultInstance() {
45869 }
45870
45871 SPPParameter::SPPParameter(const SPPParameter& from)
45872   : ::google::protobuf::Message(),
45873     _internal_metadata_(NULL) {
45874   SharedCtor();
45875   UnsafeMergeFrom(from);
45876   // @@protoc_insertion_point(copy_constructor:opencv_caffe.SPPParameter)
45877 }
45878
45879 void SPPParameter::SharedCtor() {
45880   _cached_size_ = 0;
45881   ::memset(&pyramid_height_, 0, reinterpret_cast<char*>(&engine_) -
45882     reinterpret_cast<char*>(&pyramid_height_) + sizeof(engine_));
45883 }
45884
45885 SPPParameter::~SPPParameter() {
45886   // @@protoc_insertion_point(destructor:opencv_caffe.SPPParameter)
45887   SharedDtor();
45888 }
45889
45890 void SPPParameter::SharedDtor() {
45891 }
45892
45893 void SPPParameter::SetCachedSize(int size) const {
45894   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
45895   _cached_size_ = size;
45896   GOOGLE_SAFE_CONCURRENT_WRITES_END();
45897 }
45898 const ::google::protobuf::Descriptor* SPPParameter::descriptor() {
45899   protobuf_AssignDescriptorsOnce();
45900   return SPPParameter_descriptor_;
45901 }
45902
45903 const SPPParameter& SPPParameter::default_instance() {
45904   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
45905   return *internal_default_instance();
45906 }
45907
45908 ::google::protobuf::internal::ExplicitlyConstructed<SPPParameter> SPPParameter_default_instance_;
45909
45910 SPPParameter* SPPParameter::New(::google::protobuf::Arena* arena) const {
45911   SPPParameter* n = new SPPParameter;
45912   if (arena != NULL) {
45913     arena->Own(n);
45914   }
45915   return n;
45916 }
45917
45918 void SPPParameter::Clear() {
45919 // @@protoc_insertion_point(message_clear_start:opencv_caffe.SPPParameter)
45920 #if defined(__clang__)
45921 #define ZR_HELPER_(f) \
45922   _Pragma("clang diagnostic push") \
45923   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
45924   __builtin_offsetof(SPPParameter, f) \
45925   _Pragma("clang diagnostic pop")
45926 #else
45927 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
45928   &reinterpret_cast<SPPParameter*>(16)->f)
45929 #endif
45930
45931 #define ZR_(first, last) do {\
45932   ::memset(&(first), 0,\
45933            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
45934 } while (0)
45935
45936   ZR_(pyramid_height_, engine_);
45937
45938 #undef ZR_HELPER_
45939 #undef ZR_
45940
45941   _has_bits_.Clear();
45942   if (_internal_metadata_.have_unknown_fields()) {
45943     mutable_unknown_fields()->Clear();
45944   }
45945 }
45946
45947 bool SPPParameter::MergePartialFromCodedStream(
45948     ::google::protobuf::io::CodedInputStream* input) {
45949 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
45950   ::google::protobuf::uint32 tag;
45951   // @@protoc_insertion_point(parse_start:opencv_caffe.SPPParameter)
45952   for (;;) {
45953     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
45954     tag = p.first;
45955     if (!p.second) goto handle_unusual;
45956     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
45957       // optional uint32 pyramid_height = 1;
45958       case 1: {
45959         if (tag == 8) {
45960           set_has_pyramid_height();
45961           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
45962                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
45963                  input, &pyramid_height_)));
45964         } else {
45965           goto handle_unusual;
45966         }
45967         if (input->ExpectTag(16)) goto parse_pool;
45968         break;
45969       }
45970
45971       // optional .opencv_caffe.SPPParameter.PoolMethod pool = 2 [default = MAX];
45972       case 2: {
45973         if (tag == 16) {
45974          parse_pool:
45975           int value;
45976           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
45977                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
45978                  input, &value)));
45979           if (::opencv_caffe::SPPParameter_PoolMethod_IsValid(value)) {
45980             set_pool(static_cast< ::opencv_caffe::SPPParameter_PoolMethod >(value));
45981           } else {
45982             mutable_unknown_fields()->AddVarint(2, value);
45983           }
45984         } else {
45985           goto handle_unusual;
45986         }
45987         if (input->ExpectTag(48)) goto parse_engine;
45988         break;
45989       }
45990
45991       // optional .opencv_caffe.SPPParameter.Engine engine = 6 [default = DEFAULT];
45992       case 6: {
45993         if (tag == 48) {
45994          parse_engine:
45995           int value;
45996           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
45997                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
45998                  input, &value)));
45999           if (::opencv_caffe::SPPParameter_Engine_IsValid(value)) {
46000             set_engine(static_cast< ::opencv_caffe::SPPParameter_Engine >(value));
46001           } else {
46002             mutable_unknown_fields()->AddVarint(6, value);
46003           }
46004         } else {
46005           goto handle_unusual;
46006         }
46007         if (input->ExpectAtEnd()) goto success;
46008         break;
46009       }
46010
46011       default: {
46012       handle_unusual:
46013         if (tag == 0 ||
46014             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
46015             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
46016           goto success;
46017         }
46018         DO_(::google::protobuf::internal::WireFormat::SkipField(
46019               input, tag, mutable_unknown_fields()));
46020         break;
46021       }
46022     }
46023   }
46024 success:
46025   // @@protoc_insertion_point(parse_success:opencv_caffe.SPPParameter)
46026   return true;
46027 failure:
46028   // @@protoc_insertion_point(parse_failure:opencv_caffe.SPPParameter)
46029   return false;
46030 #undef DO_
46031 }
46032
46033 void SPPParameter::SerializeWithCachedSizes(
46034     ::google::protobuf::io::CodedOutputStream* output) const {
46035   // @@protoc_insertion_point(serialize_start:opencv_caffe.SPPParameter)
46036   // optional uint32 pyramid_height = 1;
46037   if (has_pyramid_height()) {
46038     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->pyramid_height(), output);
46039   }
46040
46041   // optional .opencv_caffe.SPPParameter.PoolMethod pool = 2 [default = MAX];
46042   if (has_pool()) {
46043     ::google::protobuf::internal::WireFormatLite::WriteEnum(
46044       2, this->pool(), output);
46045   }
46046
46047   // optional .opencv_caffe.SPPParameter.Engine engine = 6 [default = DEFAULT];
46048   if (has_engine()) {
46049     ::google::protobuf::internal::WireFormatLite::WriteEnum(
46050       6, this->engine(), output);
46051   }
46052
46053   if (_internal_metadata_.have_unknown_fields()) {
46054     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
46055         unknown_fields(), output);
46056   }
46057   // @@protoc_insertion_point(serialize_end:opencv_caffe.SPPParameter)
46058 }
46059
46060 ::google::protobuf::uint8* SPPParameter::InternalSerializeWithCachedSizesToArray(
46061     bool deterministic, ::google::protobuf::uint8* target) const {
46062   (void)deterministic; // Unused
46063   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.SPPParameter)
46064   // optional uint32 pyramid_height = 1;
46065   if (has_pyramid_height()) {
46066     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->pyramid_height(), target);
46067   }
46068
46069   // optional .opencv_caffe.SPPParameter.PoolMethod pool = 2 [default = MAX];
46070   if (has_pool()) {
46071     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
46072       2, this->pool(), target);
46073   }
46074
46075   // optional .opencv_caffe.SPPParameter.Engine engine = 6 [default = DEFAULT];
46076   if (has_engine()) {
46077     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
46078       6, this->engine(), target);
46079   }
46080
46081   if (_internal_metadata_.have_unknown_fields()) {
46082     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
46083         unknown_fields(), target);
46084   }
46085   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.SPPParameter)
46086   return target;
46087 }
46088
46089 size_t SPPParameter::ByteSizeLong() const {
46090 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.SPPParameter)
46091   size_t total_size = 0;
46092
46093   if (_has_bits_[0 / 32] & 7u) {
46094     // optional uint32 pyramid_height = 1;
46095     if (has_pyramid_height()) {
46096       total_size += 1 +
46097         ::google::protobuf::internal::WireFormatLite::UInt32Size(
46098           this->pyramid_height());
46099     }
46100
46101     // optional .opencv_caffe.SPPParameter.PoolMethod pool = 2 [default = MAX];
46102     if (has_pool()) {
46103       total_size += 1 +
46104         ::google::protobuf::internal::WireFormatLite::EnumSize(this->pool());
46105     }
46106
46107     // optional .opencv_caffe.SPPParameter.Engine engine = 6 [default = DEFAULT];
46108     if (has_engine()) {
46109       total_size += 1 +
46110         ::google::protobuf::internal::WireFormatLite::EnumSize(this->engine());
46111     }
46112
46113   }
46114   if (_internal_metadata_.have_unknown_fields()) {
46115     total_size +=
46116       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
46117         unknown_fields());
46118   }
46119   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
46120   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
46121   _cached_size_ = cached_size;
46122   GOOGLE_SAFE_CONCURRENT_WRITES_END();
46123   return total_size;
46124 }
46125
46126 void SPPParameter::MergeFrom(const ::google::protobuf::Message& from) {
46127 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.SPPParameter)
46128   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
46129   const SPPParameter* source =
46130       ::google::protobuf::internal::DynamicCastToGenerated<const SPPParameter>(
46131           &from);
46132   if (source == NULL) {
46133   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.SPPParameter)
46134     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
46135   } else {
46136   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.SPPParameter)
46137     UnsafeMergeFrom(*source);
46138   }
46139 }
46140
46141 void SPPParameter::MergeFrom(const SPPParameter& from) {
46142 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.SPPParameter)
46143   if (GOOGLE_PREDICT_TRUE(&from != this)) {
46144     UnsafeMergeFrom(from);
46145   } else {
46146     MergeFromFail(__LINE__);
46147   }
46148 }
46149
46150 void SPPParameter::UnsafeMergeFrom(const SPPParameter& from) {
46151   GOOGLE_DCHECK(&from != this);
46152   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
46153     if (from.has_pyramid_height()) {
46154       set_pyramid_height(from.pyramid_height());
46155     }
46156     if (from.has_pool()) {
46157       set_pool(from.pool());
46158     }
46159     if (from.has_engine()) {
46160       set_engine(from.engine());
46161     }
46162   }
46163   if (from._internal_metadata_.have_unknown_fields()) {
46164     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
46165       from.unknown_fields(), &_internal_metadata_);
46166   }
46167 }
46168
46169 void SPPParameter::CopyFrom(const ::google::protobuf::Message& from) {
46170 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.SPPParameter)
46171   if (&from == this) return;
46172   Clear();
46173   MergeFrom(from);
46174 }
46175
46176 void SPPParameter::CopyFrom(const SPPParameter& from) {
46177 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.SPPParameter)
46178   if (&from == this) return;
46179   Clear();
46180   UnsafeMergeFrom(from);
46181 }
46182
46183 bool SPPParameter::IsInitialized() const {
46184
46185   return true;
46186 }
46187
46188 void SPPParameter::Swap(SPPParameter* other) {
46189   if (other == this) return;
46190   InternalSwap(other);
46191 }
46192 void SPPParameter::InternalSwap(SPPParameter* other) {
46193   std::swap(pyramid_height_, other->pyramid_height_);
46194   std::swap(pool_, other->pool_);
46195   std::swap(engine_, other->engine_);
46196   std::swap(_has_bits_[0], other->_has_bits_[0]);
46197   _internal_metadata_.Swap(&other->_internal_metadata_);
46198   std::swap(_cached_size_, other->_cached_size_);
46199 }
46200
46201 ::google::protobuf::Metadata SPPParameter::GetMetadata() const {
46202   protobuf_AssignDescriptorsOnce();
46203   ::google::protobuf::Metadata metadata;
46204   metadata.descriptor = SPPParameter_descriptor_;
46205   metadata.reflection = SPPParameter_reflection_;
46206   return metadata;
46207 }
46208
46209 #if PROTOBUF_INLINE_NOT_IN_HEADERS
46210 // SPPParameter
46211
46212 // optional uint32 pyramid_height = 1;
46213 bool SPPParameter::has_pyramid_height() const {
46214   return (_has_bits_[0] & 0x00000001u) != 0;
46215 }
46216 void SPPParameter::set_has_pyramid_height() {
46217   _has_bits_[0] |= 0x00000001u;
46218 }
46219 void SPPParameter::clear_has_pyramid_height() {
46220   _has_bits_[0] &= ~0x00000001u;
46221 }
46222 void SPPParameter::clear_pyramid_height() {
46223   pyramid_height_ = 0u;
46224   clear_has_pyramid_height();
46225 }
46226 ::google::protobuf::uint32 SPPParameter::pyramid_height() const {
46227   // @@protoc_insertion_point(field_get:opencv_caffe.SPPParameter.pyramid_height)
46228   return pyramid_height_;
46229 }
46230 void SPPParameter::set_pyramid_height(::google::protobuf::uint32 value) {
46231   set_has_pyramid_height();
46232   pyramid_height_ = value;
46233   // @@protoc_insertion_point(field_set:opencv_caffe.SPPParameter.pyramid_height)
46234 }
46235
46236 // optional .opencv_caffe.SPPParameter.PoolMethod pool = 2 [default = MAX];
46237 bool SPPParameter::has_pool() const {
46238   return (_has_bits_[0] & 0x00000002u) != 0;
46239 }
46240 void SPPParameter::set_has_pool() {
46241   _has_bits_[0] |= 0x00000002u;
46242 }
46243 void SPPParameter::clear_has_pool() {
46244   _has_bits_[0] &= ~0x00000002u;
46245 }
46246 void SPPParameter::clear_pool() {
46247   pool_ = 0;
46248   clear_has_pool();
46249 }
46250 ::opencv_caffe::SPPParameter_PoolMethod SPPParameter::pool() const {
46251   // @@protoc_insertion_point(field_get:opencv_caffe.SPPParameter.pool)
46252   return static_cast< ::opencv_caffe::SPPParameter_PoolMethod >(pool_);
46253 }
46254 void SPPParameter::set_pool(::opencv_caffe::SPPParameter_PoolMethod value) {
46255   assert(::opencv_caffe::SPPParameter_PoolMethod_IsValid(value));
46256   set_has_pool();
46257   pool_ = value;
46258   // @@protoc_insertion_point(field_set:opencv_caffe.SPPParameter.pool)
46259 }
46260
46261 // optional .opencv_caffe.SPPParameter.Engine engine = 6 [default = DEFAULT];
46262 bool SPPParameter::has_engine() const {
46263   return (_has_bits_[0] & 0x00000004u) != 0;
46264 }
46265 void SPPParameter::set_has_engine() {
46266   _has_bits_[0] |= 0x00000004u;
46267 }
46268 void SPPParameter::clear_has_engine() {
46269   _has_bits_[0] &= ~0x00000004u;
46270 }
46271 void SPPParameter::clear_engine() {
46272   engine_ = 0;
46273   clear_has_engine();
46274 }
46275 ::opencv_caffe::SPPParameter_Engine SPPParameter::engine() const {
46276   // @@protoc_insertion_point(field_get:opencv_caffe.SPPParameter.engine)
46277   return static_cast< ::opencv_caffe::SPPParameter_Engine >(engine_);
46278 }
46279 void SPPParameter::set_engine(::opencv_caffe::SPPParameter_Engine value) {
46280   assert(::opencv_caffe::SPPParameter_Engine_IsValid(value));
46281   set_has_engine();
46282   engine_ = value;
46283   // @@protoc_insertion_point(field_set:opencv_caffe.SPPParameter.engine)
46284 }
46285
46286 inline const SPPParameter* SPPParameter::internal_default_instance() {
46287   return &SPPParameter_default_instance_.get();
46288 }
46289 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
46290
46291 // ===================================================================
46292
46293 const ::google::protobuf::EnumDescriptor* V1LayerParameter_LayerType_descriptor() {
46294   protobuf_AssignDescriptorsOnce();
46295   return V1LayerParameter_LayerType_descriptor_;
46296 }
46297 bool V1LayerParameter_LayerType_IsValid(int value) {
46298   switch (value) {
46299     case 0:
46300     case 1:
46301     case 2:
46302     case 3:
46303     case 4:
46304     case 5:
46305     case 6:
46306     case 7:
46307     case 8:
46308     case 9:
46309     case 10:
46310     case 11:
46311     case 12:
46312     case 13:
46313     case 14:
46314     case 15:
46315     case 16:
46316     case 17:
46317     case 18:
46318     case 19:
46319     case 20:
46320     case 21:
46321     case 22:
46322     case 23:
46323     case 24:
46324     case 25:
46325     case 26:
46326     case 27:
46327     case 28:
46328     case 29:
46329     case 30:
46330     case 31:
46331     case 32:
46332     case 33:
46333     case 34:
46334     case 35:
46335     case 36:
46336     case 37:
46337     case 38:
46338     case 39:
46339       return true;
46340     default:
46341       return false;
46342   }
46343 }
46344
46345 #if !defined(_MSC_VER) || _MSC_VER >= 1900
46346 const V1LayerParameter_LayerType V1LayerParameter::NONE;
46347 const V1LayerParameter_LayerType V1LayerParameter::ABSVAL;
46348 const V1LayerParameter_LayerType V1LayerParameter::ACCURACY;
46349 const V1LayerParameter_LayerType V1LayerParameter::ARGMAX;
46350 const V1LayerParameter_LayerType V1LayerParameter::BNLL;
46351 const V1LayerParameter_LayerType V1LayerParameter::CONCAT;
46352 const V1LayerParameter_LayerType V1LayerParameter::CONTRASTIVE_LOSS;
46353 const V1LayerParameter_LayerType V1LayerParameter::CONVOLUTION;
46354 const V1LayerParameter_LayerType V1LayerParameter::DATA;
46355 const V1LayerParameter_LayerType V1LayerParameter::DECONVOLUTION;
46356 const V1LayerParameter_LayerType V1LayerParameter::DROPOUT;
46357 const V1LayerParameter_LayerType V1LayerParameter::DUMMY_DATA;
46358 const V1LayerParameter_LayerType V1LayerParameter::EUCLIDEAN_LOSS;
46359 const V1LayerParameter_LayerType V1LayerParameter::ELTWISE;
46360 const V1LayerParameter_LayerType V1LayerParameter::EXP;
46361 const V1LayerParameter_LayerType V1LayerParameter::FLATTEN;
46362 const V1LayerParameter_LayerType V1LayerParameter::HDF5_DATA;
46363 const V1LayerParameter_LayerType V1LayerParameter::HDF5_OUTPUT;
46364 const V1LayerParameter_LayerType V1LayerParameter::HINGE_LOSS;
46365 const V1LayerParameter_LayerType V1LayerParameter::IM2COL;
46366 const V1LayerParameter_LayerType V1LayerParameter::IMAGE_DATA;
46367 const V1LayerParameter_LayerType V1LayerParameter::INFOGAIN_LOSS;
46368 const V1LayerParameter_LayerType V1LayerParameter::INNER_PRODUCT;
46369 const V1LayerParameter_LayerType V1LayerParameter::LRN;
46370 const V1LayerParameter_LayerType V1LayerParameter::MEMORY_DATA;
46371 const V1LayerParameter_LayerType V1LayerParameter::MULTINOMIAL_LOGISTIC_LOSS;
46372 const V1LayerParameter_LayerType V1LayerParameter::MVN;
46373 const V1LayerParameter_LayerType V1LayerParameter::POOLING;
46374 const V1LayerParameter_LayerType V1LayerParameter::POWER;
46375 const V1LayerParameter_LayerType V1LayerParameter::RELU;
46376 const V1LayerParameter_LayerType V1LayerParameter::SIGMOID;
46377 const V1LayerParameter_LayerType V1LayerParameter::SIGMOID_CROSS_ENTROPY_LOSS;
46378 const V1LayerParameter_LayerType V1LayerParameter::SILENCE;
46379 const V1LayerParameter_LayerType V1LayerParameter::SOFTMAX;
46380 const V1LayerParameter_LayerType V1LayerParameter::SOFTMAX_LOSS;
46381 const V1LayerParameter_LayerType V1LayerParameter::SPLIT;
46382 const V1LayerParameter_LayerType V1LayerParameter::SLICE;
46383 const V1LayerParameter_LayerType V1LayerParameter::TANH;
46384 const V1LayerParameter_LayerType V1LayerParameter::WINDOW_DATA;
46385 const V1LayerParameter_LayerType V1LayerParameter::THRESHOLD;
46386 const V1LayerParameter_LayerType V1LayerParameter::LayerType_MIN;
46387 const V1LayerParameter_LayerType V1LayerParameter::LayerType_MAX;
46388 const int V1LayerParameter::LayerType_ARRAYSIZE;
46389 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
46390 const ::google::protobuf::EnumDescriptor* V1LayerParameter_DimCheckMode_descriptor() {
46391   protobuf_AssignDescriptorsOnce();
46392   return V1LayerParameter_DimCheckMode_descriptor_;
46393 }
46394 bool V1LayerParameter_DimCheckMode_IsValid(int value) {
46395   switch (value) {
46396     case 0:
46397     case 1:
46398       return true;
46399     default:
46400       return false;
46401   }
46402 }
46403
46404 #if !defined(_MSC_VER) || _MSC_VER >= 1900
46405 const V1LayerParameter_DimCheckMode V1LayerParameter::STRICT;
46406 const V1LayerParameter_DimCheckMode V1LayerParameter::PERMISSIVE;
46407 const V1LayerParameter_DimCheckMode V1LayerParameter::DimCheckMode_MIN;
46408 const V1LayerParameter_DimCheckMode V1LayerParameter::DimCheckMode_MAX;
46409 const int V1LayerParameter::DimCheckMode_ARRAYSIZE;
46410 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
46411 #if !defined(_MSC_VER) || _MSC_VER >= 1900
46412 const int V1LayerParameter::kBottomFieldNumber;
46413 const int V1LayerParameter::kTopFieldNumber;
46414 const int V1LayerParameter::kNameFieldNumber;
46415 const int V1LayerParameter::kIncludeFieldNumber;
46416 const int V1LayerParameter::kExcludeFieldNumber;
46417 const int V1LayerParameter::kTypeFieldNumber;
46418 const int V1LayerParameter::kBlobsFieldNumber;
46419 const int V1LayerParameter::kParamFieldNumber;
46420 const int V1LayerParameter::kBlobShareModeFieldNumber;
46421 const int V1LayerParameter::kBlobsLrFieldNumber;
46422 const int V1LayerParameter::kWeightDecayFieldNumber;
46423 const int V1LayerParameter::kLossWeightFieldNumber;
46424 const int V1LayerParameter::kAccuracyParamFieldNumber;
46425 const int V1LayerParameter::kArgmaxParamFieldNumber;
46426 const int V1LayerParameter::kConcatParamFieldNumber;
46427 const int V1LayerParameter::kContrastiveLossParamFieldNumber;
46428 const int V1LayerParameter::kConvolutionParamFieldNumber;
46429 const int V1LayerParameter::kDataParamFieldNumber;
46430 const int V1LayerParameter::kDropoutParamFieldNumber;
46431 const int V1LayerParameter::kDummyDataParamFieldNumber;
46432 const int V1LayerParameter::kEltwiseParamFieldNumber;
46433 const int V1LayerParameter::kExpParamFieldNumber;
46434 const int V1LayerParameter::kHdf5DataParamFieldNumber;
46435 const int V1LayerParameter::kHdf5OutputParamFieldNumber;
46436 const int V1LayerParameter::kHingeLossParamFieldNumber;
46437 const int V1LayerParameter::kImageDataParamFieldNumber;
46438 const int V1LayerParameter::kInfogainLossParamFieldNumber;
46439 const int V1LayerParameter::kInnerProductParamFieldNumber;
46440 const int V1LayerParameter::kLrnParamFieldNumber;
46441 const int V1LayerParameter::kMemoryDataParamFieldNumber;
46442 const int V1LayerParameter::kMvnParamFieldNumber;
46443 const int V1LayerParameter::kPoolingParamFieldNumber;
46444 const int V1LayerParameter::kPowerParamFieldNumber;
46445 const int V1LayerParameter::kReluParamFieldNumber;
46446 const int V1LayerParameter::kSigmoidParamFieldNumber;
46447 const int V1LayerParameter::kSoftmaxParamFieldNumber;
46448 const int V1LayerParameter::kSliceParamFieldNumber;
46449 const int V1LayerParameter::kTanhParamFieldNumber;
46450 const int V1LayerParameter::kThresholdParamFieldNumber;
46451 const int V1LayerParameter::kWindowDataParamFieldNumber;
46452 const int V1LayerParameter::kTransformParamFieldNumber;
46453 const int V1LayerParameter::kLossParamFieldNumber;
46454 const int V1LayerParameter::kLayerFieldNumber;
46455 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
46456
46457 V1LayerParameter::V1LayerParameter()
46458   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
46459   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
46460   SharedCtor();
46461   // @@protoc_insertion_point(constructor:opencv_caffe.V1LayerParameter)
46462 }
46463
46464 void V1LayerParameter::InitAsDefaultInstance() {
46465   accuracy_param_ = const_cast< ::opencv_caffe::AccuracyParameter*>(
46466       ::opencv_caffe::AccuracyParameter::internal_default_instance());
46467   argmax_param_ = const_cast< ::opencv_caffe::ArgMaxParameter*>(
46468       ::opencv_caffe::ArgMaxParameter::internal_default_instance());
46469   concat_param_ = const_cast< ::opencv_caffe::ConcatParameter*>(
46470       ::opencv_caffe::ConcatParameter::internal_default_instance());
46471   contrastive_loss_param_ = const_cast< ::opencv_caffe::ContrastiveLossParameter*>(
46472       ::opencv_caffe::ContrastiveLossParameter::internal_default_instance());
46473   convolution_param_ = const_cast< ::opencv_caffe::ConvolutionParameter*>(
46474       ::opencv_caffe::ConvolutionParameter::internal_default_instance());
46475   data_param_ = const_cast< ::opencv_caffe::DataParameter*>(
46476       ::opencv_caffe::DataParameter::internal_default_instance());
46477   dropout_param_ = const_cast< ::opencv_caffe::DropoutParameter*>(
46478       ::opencv_caffe::DropoutParameter::internal_default_instance());
46479   dummy_data_param_ = const_cast< ::opencv_caffe::DummyDataParameter*>(
46480       ::opencv_caffe::DummyDataParameter::internal_default_instance());
46481   eltwise_param_ = const_cast< ::opencv_caffe::EltwiseParameter*>(
46482       ::opencv_caffe::EltwiseParameter::internal_default_instance());
46483   exp_param_ = const_cast< ::opencv_caffe::ExpParameter*>(
46484       ::opencv_caffe::ExpParameter::internal_default_instance());
46485   hdf5_data_param_ = const_cast< ::opencv_caffe::HDF5DataParameter*>(
46486       ::opencv_caffe::HDF5DataParameter::internal_default_instance());
46487   hdf5_output_param_ = const_cast< ::opencv_caffe::HDF5OutputParameter*>(
46488       ::opencv_caffe::HDF5OutputParameter::internal_default_instance());
46489   hinge_loss_param_ = const_cast< ::opencv_caffe::HingeLossParameter*>(
46490       ::opencv_caffe::HingeLossParameter::internal_default_instance());
46491   image_data_param_ = const_cast< ::opencv_caffe::ImageDataParameter*>(
46492       ::opencv_caffe::ImageDataParameter::internal_default_instance());
46493   infogain_loss_param_ = const_cast< ::opencv_caffe::InfogainLossParameter*>(
46494       ::opencv_caffe::InfogainLossParameter::internal_default_instance());
46495   inner_product_param_ = const_cast< ::opencv_caffe::InnerProductParameter*>(
46496       ::opencv_caffe::InnerProductParameter::internal_default_instance());
46497   lrn_param_ = const_cast< ::opencv_caffe::LRNParameter*>(
46498       ::opencv_caffe::LRNParameter::internal_default_instance());
46499   memory_data_param_ = const_cast< ::opencv_caffe::MemoryDataParameter*>(
46500       ::opencv_caffe::MemoryDataParameter::internal_default_instance());
46501   mvn_param_ = const_cast< ::opencv_caffe::MVNParameter*>(
46502       ::opencv_caffe::MVNParameter::internal_default_instance());
46503   pooling_param_ = const_cast< ::opencv_caffe::PoolingParameter*>(
46504       ::opencv_caffe::PoolingParameter::internal_default_instance());
46505   power_param_ = const_cast< ::opencv_caffe::PowerParameter*>(
46506       ::opencv_caffe::PowerParameter::internal_default_instance());
46507   relu_param_ = const_cast< ::opencv_caffe::ReLUParameter*>(
46508       ::opencv_caffe::ReLUParameter::internal_default_instance());
46509   sigmoid_param_ = const_cast< ::opencv_caffe::SigmoidParameter*>(
46510       ::opencv_caffe::SigmoidParameter::internal_default_instance());
46511   softmax_param_ = const_cast< ::opencv_caffe::SoftmaxParameter*>(
46512       ::opencv_caffe::SoftmaxParameter::internal_default_instance());
46513   slice_param_ = const_cast< ::opencv_caffe::SliceParameter*>(
46514       ::opencv_caffe::SliceParameter::internal_default_instance());
46515   tanh_param_ = const_cast< ::opencv_caffe::TanHParameter*>(
46516       ::opencv_caffe::TanHParameter::internal_default_instance());
46517   threshold_param_ = const_cast< ::opencv_caffe::ThresholdParameter*>(
46518       ::opencv_caffe::ThresholdParameter::internal_default_instance());
46519   window_data_param_ = const_cast< ::opencv_caffe::WindowDataParameter*>(
46520       ::opencv_caffe::WindowDataParameter::internal_default_instance());
46521   transform_param_ = const_cast< ::opencv_caffe::TransformationParameter*>(
46522       ::opencv_caffe::TransformationParameter::internal_default_instance());
46523   loss_param_ = const_cast< ::opencv_caffe::LossParameter*>(
46524       ::opencv_caffe::LossParameter::internal_default_instance());
46525   layer_ = const_cast< ::opencv_caffe::V0LayerParameter*>(
46526       ::opencv_caffe::V0LayerParameter::internal_default_instance());
46527 }
46528
46529 V1LayerParameter::V1LayerParameter(const V1LayerParameter& from)
46530   : ::google::protobuf::Message(),
46531     _internal_metadata_(NULL) {
46532   SharedCtor();
46533   UnsafeMergeFrom(from);
46534   // @@protoc_insertion_point(copy_constructor:opencv_caffe.V1LayerParameter)
46535 }
46536
46537 void V1LayerParameter::SharedCtor() {
46538   name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
46539   accuracy_param_ = NULL;
46540   argmax_param_ = NULL;
46541   concat_param_ = NULL;
46542   contrastive_loss_param_ = NULL;
46543   convolution_param_ = NULL;
46544   data_param_ = NULL;
46545   dropout_param_ = NULL;
46546   dummy_data_param_ = NULL;
46547   eltwise_param_ = NULL;
46548   exp_param_ = NULL;
46549   hdf5_data_param_ = NULL;
46550   hdf5_output_param_ = NULL;
46551   hinge_loss_param_ = NULL;
46552   image_data_param_ = NULL;
46553   infogain_loss_param_ = NULL;
46554   inner_product_param_ = NULL;
46555   lrn_param_ = NULL;
46556   memory_data_param_ = NULL;
46557   mvn_param_ = NULL;
46558   pooling_param_ = NULL;
46559   power_param_ = NULL;
46560   relu_param_ = NULL;
46561   sigmoid_param_ = NULL;
46562   softmax_param_ = NULL;
46563   slice_param_ = NULL;
46564   tanh_param_ = NULL;
46565   threshold_param_ = NULL;
46566   window_data_param_ = NULL;
46567   transform_param_ = NULL;
46568   loss_param_ = NULL;
46569   layer_ = NULL;
46570   type_ = 0;
46571   _cached_size_ = 0;
46572 }
46573
46574 V1LayerParameter::~V1LayerParameter() {
46575   // @@protoc_insertion_point(destructor:opencv_caffe.V1LayerParameter)
46576   SharedDtor();
46577 }
46578
46579 void V1LayerParameter::SharedDtor() {
46580   name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
46581   if (this != &V1LayerParameter_default_instance_.get()) {
46582     delete accuracy_param_;
46583     delete argmax_param_;
46584     delete concat_param_;
46585     delete contrastive_loss_param_;
46586     delete convolution_param_;
46587     delete data_param_;
46588     delete dropout_param_;
46589     delete dummy_data_param_;
46590     delete eltwise_param_;
46591     delete exp_param_;
46592     delete hdf5_data_param_;
46593     delete hdf5_output_param_;
46594     delete hinge_loss_param_;
46595     delete image_data_param_;
46596     delete infogain_loss_param_;
46597     delete inner_product_param_;
46598     delete lrn_param_;
46599     delete memory_data_param_;
46600     delete mvn_param_;
46601     delete pooling_param_;
46602     delete power_param_;
46603     delete relu_param_;
46604     delete sigmoid_param_;
46605     delete softmax_param_;
46606     delete slice_param_;
46607     delete tanh_param_;
46608     delete threshold_param_;
46609     delete window_data_param_;
46610     delete transform_param_;
46611     delete loss_param_;
46612     delete layer_;
46613   }
46614 }
46615
46616 void V1LayerParameter::SetCachedSize(int size) const {
46617   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
46618   _cached_size_ = size;
46619   GOOGLE_SAFE_CONCURRENT_WRITES_END();
46620 }
46621 const ::google::protobuf::Descriptor* V1LayerParameter::descriptor() {
46622   protobuf_AssignDescriptorsOnce();
46623   return V1LayerParameter_descriptor_;
46624 }
46625
46626 const V1LayerParameter& V1LayerParameter::default_instance() {
46627   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
46628   return *internal_default_instance();
46629 }
46630
46631 ::google::protobuf::internal::ExplicitlyConstructed<V1LayerParameter> V1LayerParameter_default_instance_;
46632
46633 V1LayerParameter* V1LayerParameter::New(::google::protobuf::Arena* arena) const {
46634   V1LayerParameter* n = new V1LayerParameter;
46635   if (arena != NULL) {
46636     arena->Own(n);
46637   }
46638   return n;
46639 }
46640
46641 void V1LayerParameter::Clear() {
46642 // @@protoc_insertion_point(message_clear_start:opencv_caffe.V1LayerParameter)
46643   if (_has_bits_[0 / 32] & 36u) {
46644     if (has_name()) {
46645       name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
46646     }
46647     type_ = 0;
46648   }
46649   if (_has_bits_[8 / 32] & 61440u) {
46650     if (has_accuracy_param()) {
46651       if (accuracy_param_ != NULL) accuracy_param_->::opencv_caffe::AccuracyParameter::Clear();
46652     }
46653     if (has_argmax_param()) {
46654       if (argmax_param_ != NULL) argmax_param_->::opencv_caffe::ArgMaxParameter::Clear();
46655     }
46656     if (has_concat_param()) {
46657       if (concat_param_ != NULL) concat_param_->::opencv_caffe::ConcatParameter::Clear();
46658     }
46659     if (has_contrastive_loss_param()) {
46660       if (contrastive_loss_param_ != NULL) contrastive_loss_param_->::opencv_caffe::ContrastiveLossParameter::Clear();
46661     }
46662   }
46663   if (_has_bits_[16 / 32] & 16711680u) {
46664     if (has_convolution_param()) {
46665       if (convolution_param_ != NULL) convolution_param_->::opencv_caffe::ConvolutionParameter::Clear();
46666     }
46667     if (has_data_param()) {
46668       if (data_param_ != NULL) data_param_->::opencv_caffe::DataParameter::Clear();
46669     }
46670     if (has_dropout_param()) {
46671       if (dropout_param_ != NULL) dropout_param_->::opencv_caffe::DropoutParameter::Clear();
46672     }
46673     if (has_dummy_data_param()) {
46674       if (dummy_data_param_ != NULL) dummy_data_param_->::opencv_caffe::DummyDataParameter::Clear();
46675     }
46676     if (has_eltwise_param()) {
46677       if (eltwise_param_ != NULL) eltwise_param_->::opencv_caffe::EltwiseParameter::Clear();
46678     }
46679     if (has_exp_param()) {
46680       if (exp_param_ != NULL) exp_param_->::opencv_caffe::ExpParameter::Clear();
46681     }
46682     if (has_hdf5_data_param()) {
46683       if (hdf5_data_param_ != NULL) hdf5_data_param_->::opencv_caffe::HDF5DataParameter::Clear();
46684     }
46685     if (has_hdf5_output_param()) {
46686       if (hdf5_output_param_ != NULL) hdf5_output_param_->::opencv_caffe::HDF5OutputParameter::Clear();
46687     }
46688   }
46689   if (_has_bits_[24 / 32] & 4278190080u) {
46690     if (has_hinge_loss_param()) {
46691       if (hinge_loss_param_ != NULL) hinge_loss_param_->::opencv_caffe::HingeLossParameter::Clear();
46692     }
46693     if (has_image_data_param()) {
46694       if (image_data_param_ != NULL) image_data_param_->::opencv_caffe::ImageDataParameter::Clear();
46695     }
46696     if (has_infogain_loss_param()) {
46697       if (infogain_loss_param_ != NULL) infogain_loss_param_->::opencv_caffe::InfogainLossParameter::Clear();
46698     }
46699     if (has_inner_product_param()) {
46700       if (inner_product_param_ != NULL) inner_product_param_->::opencv_caffe::InnerProductParameter::Clear();
46701     }
46702     if (has_lrn_param()) {
46703       if (lrn_param_ != NULL) lrn_param_->::opencv_caffe::LRNParameter::Clear();
46704     }
46705     if (has_memory_data_param()) {
46706       if (memory_data_param_ != NULL) memory_data_param_->::opencv_caffe::MemoryDataParameter::Clear();
46707     }
46708     if (has_mvn_param()) {
46709       if (mvn_param_ != NULL) mvn_param_->::opencv_caffe::MVNParameter::Clear();
46710     }
46711     if (has_pooling_param()) {
46712       if (pooling_param_ != NULL) pooling_param_->::opencv_caffe::PoolingParameter::Clear();
46713     }
46714   }
46715   if (_has_bits_[32 / 32] & 255u) {
46716     if (has_power_param()) {
46717       if (power_param_ != NULL) power_param_->::opencv_caffe::PowerParameter::Clear();
46718     }
46719     if (has_relu_param()) {
46720       if (relu_param_ != NULL) relu_param_->::opencv_caffe::ReLUParameter::Clear();
46721     }
46722     if (has_sigmoid_param()) {
46723       if (sigmoid_param_ != NULL) sigmoid_param_->::opencv_caffe::SigmoidParameter::Clear();
46724     }
46725     if (has_softmax_param()) {
46726       if (softmax_param_ != NULL) softmax_param_->::opencv_caffe::SoftmaxParameter::Clear();
46727     }
46728     if (has_slice_param()) {
46729       if (slice_param_ != NULL) slice_param_->::opencv_caffe::SliceParameter::Clear();
46730     }
46731     if (has_tanh_param()) {
46732       if (tanh_param_ != NULL) tanh_param_->::opencv_caffe::TanHParameter::Clear();
46733     }
46734     if (has_threshold_param()) {
46735       if (threshold_param_ != NULL) threshold_param_->::opencv_caffe::ThresholdParameter::Clear();
46736     }
46737     if (has_window_data_param()) {
46738       if (window_data_param_ != NULL) window_data_param_->::opencv_caffe::WindowDataParameter::Clear();
46739     }
46740   }
46741   if (_has_bits_[40 / 32] & 1792u) {
46742     if (has_transform_param()) {
46743       if (transform_param_ != NULL) transform_param_->::opencv_caffe::TransformationParameter::Clear();
46744     }
46745     if (has_loss_param()) {
46746       if (loss_param_ != NULL) loss_param_->::opencv_caffe::LossParameter::Clear();
46747     }
46748     if (has_layer()) {
46749       if (layer_ != NULL) layer_->::opencv_caffe::V0LayerParameter::Clear();
46750     }
46751   }
46752   bottom_.Clear();
46753   top_.Clear();
46754   include_.Clear();
46755   exclude_.Clear();
46756   blobs_.Clear();
46757   param_.Clear();
46758   blob_share_mode_.Clear();
46759   blobs_lr_.Clear();
46760   weight_decay_.Clear();
46761   loss_weight_.Clear();
46762   _has_bits_.Clear();
46763   if (_internal_metadata_.have_unknown_fields()) {
46764     mutable_unknown_fields()->Clear();
46765   }
46766 }
46767
46768 bool V1LayerParameter::MergePartialFromCodedStream(
46769     ::google::protobuf::io::CodedInputStream* input) {
46770 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
46771   ::google::protobuf::uint32 tag;
46772   // @@protoc_insertion_point(parse_start:opencv_caffe.V1LayerParameter)
46773   for (;;) {
46774     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
46775     tag = p.first;
46776     if (!p.second) goto handle_unusual;
46777     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
46778       // optional .opencv_caffe.V0LayerParameter layer = 1;
46779       case 1: {
46780         if (tag == 10) {
46781           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46782                input, mutable_layer()));
46783         } else {
46784           goto handle_unusual;
46785         }
46786         if (input->ExpectTag(18)) goto parse_bottom;
46787         break;
46788       }
46789
46790       // repeated string bottom = 2;
46791       case 2: {
46792         if (tag == 18) {
46793          parse_bottom:
46794           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
46795                 input, this->add_bottom()));
46796           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
46797             this->bottom(this->bottom_size() - 1).data(),
46798             this->bottom(this->bottom_size() - 1).length(),
46799             ::google::protobuf::internal::WireFormat::PARSE,
46800             "opencv_caffe.V1LayerParameter.bottom");
46801         } else {
46802           goto handle_unusual;
46803         }
46804         if (input->ExpectTag(18)) goto parse_bottom;
46805         if (input->ExpectTag(26)) goto parse_top;
46806         break;
46807       }
46808
46809       // repeated string top = 3;
46810       case 3: {
46811         if (tag == 26) {
46812          parse_top:
46813           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
46814                 input, this->add_top()));
46815           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
46816             this->top(this->top_size() - 1).data(),
46817             this->top(this->top_size() - 1).length(),
46818             ::google::protobuf::internal::WireFormat::PARSE,
46819             "opencv_caffe.V1LayerParameter.top");
46820         } else {
46821           goto handle_unusual;
46822         }
46823         if (input->ExpectTag(26)) goto parse_top;
46824         if (input->ExpectTag(34)) goto parse_name;
46825         break;
46826       }
46827
46828       // optional string name = 4;
46829       case 4: {
46830         if (tag == 34) {
46831          parse_name:
46832           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
46833                 input, this->mutable_name()));
46834           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
46835             this->name().data(), this->name().length(),
46836             ::google::protobuf::internal::WireFormat::PARSE,
46837             "opencv_caffe.V1LayerParameter.name");
46838         } else {
46839           goto handle_unusual;
46840         }
46841         if (input->ExpectTag(40)) goto parse_type;
46842         break;
46843       }
46844
46845       // optional .opencv_caffe.V1LayerParameter.LayerType type = 5;
46846       case 5: {
46847         if (tag == 40) {
46848          parse_type:
46849           int value;
46850           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
46851                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
46852                  input, &value)));
46853           if (::opencv_caffe::V1LayerParameter_LayerType_IsValid(value)) {
46854             set_type(static_cast< ::opencv_caffe::V1LayerParameter_LayerType >(value));
46855           } else {
46856             mutable_unknown_fields()->AddVarint(5, value);
46857           }
46858         } else {
46859           goto handle_unusual;
46860         }
46861         if (input->ExpectTag(50)) goto parse_blobs;
46862         break;
46863       }
46864
46865       // repeated .opencv_caffe.BlobProto blobs = 6;
46866       case 6: {
46867         if (tag == 50) {
46868          parse_blobs:
46869           DO_(input->IncrementRecursionDepth());
46870          parse_loop_blobs:
46871           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
46872                 input, add_blobs()));
46873         } else {
46874           goto handle_unusual;
46875         }
46876         if (input->ExpectTag(50)) goto parse_loop_blobs;
46877         input->UnsafeDecrementRecursionDepth();
46878         if (input->ExpectTag(61)) goto parse_blobs_lr;
46879         break;
46880       }
46881
46882       // repeated float blobs_lr = 7;
46883       case 7: {
46884         if (tag == 61) {
46885          parse_blobs_lr:
46886           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
46887                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
46888                  1, 61, input, this->mutable_blobs_lr())));
46889         } else if (tag == 58) {
46890           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
46891                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
46892                  input, this->mutable_blobs_lr())));
46893         } else {
46894           goto handle_unusual;
46895         }
46896         if (input->ExpectTag(61)) goto parse_blobs_lr;
46897         if (input->ExpectTag(69)) goto parse_weight_decay;
46898         break;
46899       }
46900
46901       // repeated float weight_decay = 8;
46902       case 8: {
46903         if (tag == 69) {
46904          parse_weight_decay:
46905           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
46906                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
46907                  1, 69, input, this->mutable_weight_decay())));
46908         } else if (tag == 66) {
46909           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
46910                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
46911                  input, this->mutable_weight_decay())));
46912         } else {
46913           goto handle_unusual;
46914         }
46915         if (input->ExpectTag(69)) goto parse_weight_decay;
46916         if (input->ExpectTag(74)) goto parse_concat_param;
46917         break;
46918       }
46919
46920       // optional .opencv_caffe.ConcatParameter concat_param = 9;
46921       case 9: {
46922         if (tag == 74) {
46923          parse_concat_param:
46924           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46925                input, mutable_concat_param()));
46926         } else {
46927           goto handle_unusual;
46928         }
46929         if (input->ExpectTag(82)) goto parse_convolution_param;
46930         break;
46931       }
46932
46933       // optional .opencv_caffe.ConvolutionParameter convolution_param = 10;
46934       case 10: {
46935         if (tag == 82) {
46936          parse_convolution_param:
46937           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46938                input, mutable_convolution_param()));
46939         } else {
46940           goto handle_unusual;
46941         }
46942         if (input->ExpectTag(90)) goto parse_data_param;
46943         break;
46944       }
46945
46946       // optional .opencv_caffe.DataParameter data_param = 11;
46947       case 11: {
46948         if (tag == 90) {
46949          parse_data_param:
46950           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46951                input, mutable_data_param()));
46952         } else {
46953           goto handle_unusual;
46954         }
46955         if (input->ExpectTag(98)) goto parse_dropout_param;
46956         break;
46957       }
46958
46959       // optional .opencv_caffe.DropoutParameter dropout_param = 12;
46960       case 12: {
46961         if (tag == 98) {
46962          parse_dropout_param:
46963           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46964                input, mutable_dropout_param()));
46965         } else {
46966           goto handle_unusual;
46967         }
46968         if (input->ExpectTag(106)) goto parse_hdf5_data_param;
46969         break;
46970       }
46971
46972       // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 13;
46973       case 13: {
46974         if (tag == 106) {
46975          parse_hdf5_data_param:
46976           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46977                input, mutable_hdf5_data_param()));
46978         } else {
46979           goto handle_unusual;
46980         }
46981         if (input->ExpectTag(114)) goto parse_hdf5_output_param;
46982         break;
46983       }
46984
46985       // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 14;
46986       case 14: {
46987         if (tag == 114) {
46988          parse_hdf5_output_param:
46989           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46990                input, mutable_hdf5_output_param()));
46991         } else {
46992           goto handle_unusual;
46993         }
46994         if (input->ExpectTag(122)) goto parse_image_data_param;
46995         break;
46996       }
46997
46998       // optional .opencv_caffe.ImageDataParameter image_data_param = 15;
46999       case 15: {
47000         if (tag == 122) {
47001          parse_image_data_param:
47002           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47003                input, mutable_image_data_param()));
47004         } else {
47005           goto handle_unusual;
47006         }
47007         if (input->ExpectTag(130)) goto parse_infogain_loss_param;
47008         break;
47009       }
47010
47011       // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 16;
47012       case 16: {
47013         if (tag == 130) {
47014          parse_infogain_loss_param:
47015           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47016                input, mutable_infogain_loss_param()));
47017         } else {
47018           goto handle_unusual;
47019         }
47020         if (input->ExpectTag(138)) goto parse_inner_product_param;
47021         break;
47022       }
47023
47024       // optional .opencv_caffe.InnerProductParameter inner_product_param = 17;
47025       case 17: {
47026         if (tag == 138) {
47027          parse_inner_product_param:
47028           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47029                input, mutable_inner_product_param()));
47030         } else {
47031           goto handle_unusual;
47032         }
47033         if (input->ExpectTag(146)) goto parse_lrn_param;
47034         break;
47035       }
47036
47037       // optional .opencv_caffe.LRNParameter lrn_param = 18;
47038       case 18: {
47039         if (tag == 146) {
47040          parse_lrn_param:
47041           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47042                input, mutable_lrn_param()));
47043         } else {
47044           goto handle_unusual;
47045         }
47046         if (input->ExpectTag(154)) goto parse_pooling_param;
47047         break;
47048       }
47049
47050       // optional .opencv_caffe.PoolingParameter pooling_param = 19;
47051       case 19: {
47052         if (tag == 154) {
47053          parse_pooling_param:
47054           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47055                input, mutable_pooling_param()));
47056         } else {
47057           goto handle_unusual;
47058         }
47059         if (input->ExpectTag(162)) goto parse_window_data_param;
47060         break;
47061       }
47062
47063       // optional .opencv_caffe.WindowDataParameter window_data_param = 20;
47064       case 20: {
47065         if (tag == 162) {
47066          parse_window_data_param:
47067           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47068                input, mutable_window_data_param()));
47069         } else {
47070           goto handle_unusual;
47071         }
47072         if (input->ExpectTag(170)) goto parse_power_param;
47073         break;
47074       }
47075
47076       // optional .opencv_caffe.PowerParameter power_param = 21;
47077       case 21: {
47078         if (tag == 170) {
47079          parse_power_param:
47080           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47081                input, mutable_power_param()));
47082         } else {
47083           goto handle_unusual;
47084         }
47085         if (input->ExpectTag(178)) goto parse_memory_data_param;
47086         break;
47087       }
47088
47089       // optional .opencv_caffe.MemoryDataParameter memory_data_param = 22;
47090       case 22: {
47091         if (tag == 178) {
47092          parse_memory_data_param:
47093           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47094                input, mutable_memory_data_param()));
47095         } else {
47096           goto handle_unusual;
47097         }
47098         if (input->ExpectTag(186)) goto parse_argmax_param;
47099         break;
47100       }
47101
47102       // optional .opencv_caffe.ArgMaxParameter argmax_param = 23;
47103       case 23: {
47104         if (tag == 186) {
47105          parse_argmax_param:
47106           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47107                input, mutable_argmax_param()));
47108         } else {
47109           goto handle_unusual;
47110         }
47111         if (input->ExpectTag(194)) goto parse_eltwise_param;
47112         break;
47113       }
47114
47115       // optional .opencv_caffe.EltwiseParameter eltwise_param = 24;
47116       case 24: {
47117         if (tag == 194) {
47118          parse_eltwise_param:
47119           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47120                input, mutable_eltwise_param()));
47121         } else {
47122           goto handle_unusual;
47123         }
47124         if (input->ExpectTag(202)) goto parse_threshold_param;
47125         break;
47126       }
47127
47128       // optional .opencv_caffe.ThresholdParameter threshold_param = 25;
47129       case 25: {
47130         if (tag == 202) {
47131          parse_threshold_param:
47132           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47133                input, mutable_threshold_param()));
47134         } else {
47135           goto handle_unusual;
47136         }
47137         if (input->ExpectTag(210)) goto parse_dummy_data_param;
47138         break;
47139       }
47140
47141       // optional .opencv_caffe.DummyDataParameter dummy_data_param = 26;
47142       case 26: {
47143         if (tag == 210) {
47144          parse_dummy_data_param:
47145           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47146                input, mutable_dummy_data_param()));
47147         } else {
47148           goto handle_unusual;
47149         }
47150         if (input->ExpectTag(218)) goto parse_accuracy_param;
47151         break;
47152       }
47153
47154       // optional .opencv_caffe.AccuracyParameter accuracy_param = 27;
47155       case 27: {
47156         if (tag == 218) {
47157          parse_accuracy_param:
47158           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47159                input, mutable_accuracy_param()));
47160         } else {
47161           goto handle_unusual;
47162         }
47163         if (input->ExpectTag(234)) goto parse_hinge_loss_param;
47164         break;
47165       }
47166
47167       // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 29;
47168       case 29: {
47169         if (tag == 234) {
47170          parse_hinge_loss_param:
47171           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47172                input, mutable_hinge_loss_param()));
47173         } else {
47174           goto handle_unusual;
47175         }
47176         if (input->ExpectTag(242)) goto parse_relu_param;
47177         break;
47178       }
47179
47180       // optional .opencv_caffe.ReLUParameter relu_param = 30;
47181       case 30: {
47182         if (tag == 242) {
47183          parse_relu_param:
47184           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47185                input, mutable_relu_param()));
47186         } else {
47187           goto handle_unusual;
47188         }
47189         if (input->ExpectTag(250)) goto parse_slice_param;
47190         break;
47191       }
47192
47193       // optional .opencv_caffe.SliceParameter slice_param = 31;
47194       case 31: {
47195         if (tag == 250) {
47196          parse_slice_param:
47197           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47198                input, mutable_slice_param()));
47199         } else {
47200           goto handle_unusual;
47201         }
47202         if (input->ExpectTag(258)) goto parse_include;
47203         break;
47204       }
47205
47206       // repeated .opencv_caffe.NetStateRule include = 32;
47207       case 32: {
47208         if (tag == 258) {
47209          parse_include:
47210           DO_(input->IncrementRecursionDepth());
47211          parse_loop_include:
47212           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
47213                 input, add_include()));
47214         } else {
47215           goto handle_unusual;
47216         }
47217         if (input->ExpectTag(258)) goto parse_loop_include;
47218         if (input->ExpectTag(266)) goto parse_loop_exclude;
47219         input->UnsafeDecrementRecursionDepth();
47220         break;
47221       }
47222
47223       // repeated .opencv_caffe.NetStateRule exclude = 33;
47224       case 33: {
47225         if (tag == 266) {
47226           DO_(input->IncrementRecursionDepth());
47227          parse_loop_exclude:
47228           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
47229                 input, add_exclude()));
47230         } else {
47231           goto handle_unusual;
47232         }
47233         if (input->ExpectTag(266)) goto parse_loop_exclude;
47234         input->UnsafeDecrementRecursionDepth();
47235         if (input->ExpectTag(274)) goto parse_mvn_param;
47236         break;
47237       }
47238
47239       // optional .opencv_caffe.MVNParameter mvn_param = 34;
47240       case 34: {
47241         if (tag == 274) {
47242          parse_mvn_param:
47243           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47244                input, mutable_mvn_param()));
47245         } else {
47246           goto handle_unusual;
47247         }
47248         if (input->ExpectTag(285)) goto parse_loss_weight;
47249         break;
47250       }
47251
47252       // repeated float loss_weight = 35;
47253       case 35: {
47254         if (tag == 285) {
47255          parse_loss_weight:
47256           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
47257                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
47258                  2, 285, input, this->mutable_loss_weight())));
47259         } else if (tag == 282) {
47260           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
47261                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
47262                  input, this->mutable_loss_weight())));
47263         } else {
47264           goto handle_unusual;
47265         }
47266         if (input->ExpectTag(285)) goto parse_loss_weight;
47267         if (input->ExpectTag(290)) goto parse_transform_param;
47268         break;
47269       }
47270
47271       // optional .opencv_caffe.TransformationParameter transform_param = 36;
47272       case 36: {
47273         if (tag == 290) {
47274          parse_transform_param:
47275           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47276                input, mutable_transform_param()));
47277         } else {
47278           goto handle_unusual;
47279         }
47280         if (input->ExpectTag(298)) goto parse_tanh_param;
47281         break;
47282       }
47283
47284       // optional .opencv_caffe.TanHParameter tanh_param = 37;
47285       case 37: {
47286         if (tag == 298) {
47287          parse_tanh_param:
47288           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47289                input, mutable_tanh_param()));
47290         } else {
47291           goto handle_unusual;
47292         }
47293         if (input->ExpectTag(306)) goto parse_sigmoid_param;
47294         break;
47295       }
47296
47297       // optional .opencv_caffe.SigmoidParameter sigmoid_param = 38;
47298       case 38: {
47299         if (tag == 306) {
47300          parse_sigmoid_param:
47301           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47302                input, mutable_sigmoid_param()));
47303         } else {
47304           goto handle_unusual;
47305         }
47306         if (input->ExpectTag(314)) goto parse_softmax_param;
47307         break;
47308       }
47309
47310       // optional .opencv_caffe.SoftmaxParameter softmax_param = 39;
47311       case 39: {
47312         if (tag == 314) {
47313          parse_softmax_param:
47314           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47315                input, mutable_softmax_param()));
47316         } else {
47317           goto handle_unusual;
47318         }
47319         if (input->ExpectTag(322)) goto parse_contrastive_loss_param;
47320         break;
47321       }
47322
47323       // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 40;
47324       case 40: {
47325         if (tag == 322) {
47326          parse_contrastive_loss_param:
47327           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47328                input, mutable_contrastive_loss_param()));
47329         } else {
47330           goto handle_unusual;
47331         }
47332         if (input->ExpectTag(330)) goto parse_exp_param;
47333         break;
47334       }
47335
47336       // optional .opencv_caffe.ExpParameter exp_param = 41;
47337       case 41: {
47338         if (tag == 330) {
47339          parse_exp_param:
47340           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47341                input, mutable_exp_param()));
47342         } else {
47343           goto handle_unusual;
47344         }
47345         if (input->ExpectTag(338)) goto parse_loss_param;
47346         break;
47347       }
47348
47349       // optional .opencv_caffe.LossParameter loss_param = 42;
47350       case 42: {
47351         if (tag == 338) {
47352          parse_loss_param:
47353           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47354                input, mutable_loss_param()));
47355         } else {
47356           goto handle_unusual;
47357         }
47358         if (input->ExpectTag(8010)) goto parse_param;
47359         break;
47360       }
47361
47362       // repeated string param = 1001;
47363       case 1001: {
47364         if (tag == 8010) {
47365          parse_param:
47366           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
47367                 input, this->add_param()));
47368           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
47369             this->param(this->param_size() - 1).data(),
47370             this->param(this->param_size() - 1).length(),
47371             ::google::protobuf::internal::WireFormat::PARSE,
47372             "opencv_caffe.V1LayerParameter.param");
47373         } else {
47374           goto handle_unusual;
47375         }
47376         if (input->ExpectTag(8010)) goto parse_param;
47377         if (input->ExpectTag(8016)) goto parse_blob_share_mode;
47378         break;
47379       }
47380
47381       // repeated .opencv_caffe.V1LayerParameter.DimCheckMode blob_share_mode = 1002;
47382       case 1002: {
47383         if (tag == 8016) {
47384          parse_blob_share_mode:
47385           int value;
47386           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
47387                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
47388                  input, &value)));
47389           if (::opencv_caffe::V1LayerParameter_DimCheckMode_IsValid(value)) {
47390             add_blob_share_mode(static_cast< ::opencv_caffe::V1LayerParameter_DimCheckMode >(value));
47391           } else {
47392             mutable_unknown_fields()->AddVarint(1002, value);
47393           }
47394         } else if (tag == 8018) {
47395           DO_((::google::protobuf::internal::WireFormat::ReadPackedEnumPreserveUnknowns(
47396                  input,
47397                  1002,
47398                  ::opencv_caffe::V1LayerParameter_DimCheckMode_IsValid,
47399                  mutable_unknown_fields(),
47400                  this->mutable_blob_share_mode())));
47401         } else {
47402           goto handle_unusual;
47403         }
47404         if (input->ExpectTag(8016)) goto parse_blob_share_mode;
47405         if (input->ExpectAtEnd()) goto success;
47406         break;
47407       }
47408
47409       default: {
47410       handle_unusual:
47411         if (tag == 0 ||
47412             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
47413             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
47414           goto success;
47415         }
47416         DO_(::google::protobuf::internal::WireFormat::SkipField(
47417               input, tag, mutable_unknown_fields()));
47418         break;
47419       }
47420     }
47421   }
47422 success:
47423   // @@protoc_insertion_point(parse_success:opencv_caffe.V1LayerParameter)
47424   return true;
47425 failure:
47426   // @@protoc_insertion_point(parse_failure:opencv_caffe.V1LayerParameter)
47427   return false;
47428 #undef DO_
47429 }
47430
47431 void V1LayerParameter::SerializeWithCachedSizes(
47432     ::google::protobuf::io::CodedOutputStream* output) const {
47433   // @@protoc_insertion_point(serialize_start:opencv_caffe.V1LayerParameter)
47434   // optional .opencv_caffe.V0LayerParameter layer = 1;
47435   if (has_layer()) {
47436     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47437       1, *this->layer_, output);
47438   }
47439
47440   // repeated string bottom = 2;
47441   for (int i = 0; i < this->bottom_size(); i++) {
47442     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
47443       this->bottom(i).data(), this->bottom(i).length(),
47444       ::google::protobuf::internal::WireFormat::SERIALIZE,
47445       "opencv_caffe.V1LayerParameter.bottom");
47446     ::google::protobuf::internal::WireFormatLite::WriteString(
47447       2, this->bottom(i), output);
47448   }
47449
47450   // repeated string top = 3;
47451   for (int i = 0; i < this->top_size(); i++) {
47452     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
47453       this->top(i).data(), this->top(i).length(),
47454       ::google::protobuf::internal::WireFormat::SERIALIZE,
47455       "opencv_caffe.V1LayerParameter.top");
47456     ::google::protobuf::internal::WireFormatLite::WriteString(
47457       3, this->top(i), output);
47458   }
47459
47460   // optional string name = 4;
47461   if (has_name()) {
47462     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
47463       this->name().data(), this->name().length(),
47464       ::google::protobuf::internal::WireFormat::SERIALIZE,
47465       "opencv_caffe.V1LayerParameter.name");
47466     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
47467       4, this->name(), output);
47468   }
47469
47470   // optional .opencv_caffe.V1LayerParameter.LayerType type = 5;
47471   if (has_type()) {
47472     ::google::protobuf::internal::WireFormatLite::WriteEnum(
47473       5, this->type(), output);
47474   }
47475
47476   // repeated .opencv_caffe.BlobProto blobs = 6;
47477   for (unsigned int i = 0, n = this->blobs_size(); i < n; i++) {
47478     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47479       6, this->blobs(i), output);
47480   }
47481
47482   // repeated float blobs_lr = 7;
47483   for (int i = 0; i < this->blobs_lr_size(); i++) {
47484     ::google::protobuf::internal::WireFormatLite::WriteFloat(
47485       7, this->blobs_lr(i), output);
47486   }
47487
47488   // repeated float weight_decay = 8;
47489   for (int i = 0; i < this->weight_decay_size(); i++) {
47490     ::google::protobuf::internal::WireFormatLite::WriteFloat(
47491       8, this->weight_decay(i), output);
47492   }
47493
47494   // optional .opencv_caffe.ConcatParameter concat_param = 9;
47495   if (has_concat_param()) {
47496     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47497       9, *this->concat_param_, output);
47498   }
47499
47500   // optional .opencv_caffe.ConvolutionParameter convolution_param = 10;
47501   if (has_convolution_param()) {
47502     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47503       10, *this->convolution_param_, output);
47504   }
47505
47506   // optional .opencv_caffe.DataParameter data_param = 11;
47507   if (has_data_param()) {
47508     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47509       11, *this->data_param_, output);
47510   }
47511
47512   // optional .opencv_caffe.DropoutParameter dropout_param = 12;
47513   if (has_dropout_param()) {
47514     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47515       12, *this->dropout_param_, output);
47516   }
47517
47518   // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 13;
47519   if (has_hdf5_data_param()) {
47520     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47521       13, *this->hdf5_data_param_, output);
47522   }
47523
47524   // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 14;
47525   if (has_hdf5_output_param()) {
47526     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47527       14, *this->hdf5_output_param_, output);
47528   }
47529
47530   // optional .opencv_caffe.ImageDataParameter image_data_param = 15;
47531   if (has_image_data_param()) {
47532     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47533       15, *this->image_data_param_, output);
47534   }
47535
47536   // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 16;
47537   if (has_infogain_loss_param()) {
47538     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47539       16, *this->infogain_loss_param_, output);
47540   }
47541
47542   // optional .opencv_caffe.InnerProductParameter inner_product_param = 17;
47543   if (has_inner_product_param()) {
47544     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47545       17, *this->inner_product_param_, output);
47546   }
47547
47548   // optional .opencv_caffe.LRNParameter lrn_param = 18;
47549   if (has_lrn_param()) {
47550     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47551       18, *this->lrn_param_, output);
47552   }
47553
47554   // optional .opencv_caffe.PoolingParameter pooling_param = 19;
47555   if (has_pooling_param()) {
47556     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47557       19, *this->pooling_param_, output);
47558   }
47559
47560   // optional .opencv_caffe.WindowDataParameter window_data_param = 20;
47561   if (has_window_data_param()) {
47562     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47563       20, *this->window_data_param_, output);
47564   }
47565
47566   // optional .opencv_caffe.PowerParameter power_param = 21;
47567   if (has_power_param()) {
47568     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47569       21, *this->power_param_, output);
47570   }
47571
47572   // optional .opencv_caffe.MemoryDataParameter memory_data_param = 22;
47573   if (has_memory_data_param()) {
47574     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47575       22, *this->memory_data_param_, output);
47576   }
47577
47578   // optional .opencv_caffe.ArgMaxParameter argmax_param = 23;
47579   if (has_argmax_param()) {
47580     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47581       23, *this->argmax_param_, output);
47582   }
47583
47584   // optional .opencv_caffe.EltwiseParameter eltwise_param = 24;
47585   if (has_eltwise_param()) {
47586     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47587       24, *this->eltwise_param_, output);
47588   }
47589
47590   // optional .opencv_caffe.ThresholdParameter threshold_param = 25;
47591   if (has_threshold_param()) {
47592     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47593       25, *this->threshold_param_, output);
47594   }
47595
47596   // optional .opencv_caffe.DummyDataParameter dummy_data_param = 26;
47597   if (has_dummy_data_param()) {
47598     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47599       26, *this->dummy_data_param_, output);
47600   }
47601
47602   // optional .opencv_caffe.AccuracyParameter accuracy_param = 27;
47603   if (has_accuracy_param()) {
47604     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47605       27, *this->accuracy_param_, output);
47606   }
47607
47608   // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 29;
47609   if (has_hinge_loss_param()) {
47610     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47611       29, *this->hinge_loss_param_, output);
47612   }
47613
47614   // optional .opencv_caffe.ReLUParameter relu_param = 30;
47615   if (has_relu_param()) {
47616     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47617       30, *this->relu_param_, output);
47618   }
47619
47620   // optional .opencv_caffe.SliceParameter slice_param = 31;
47621   if (has_slice_param()) {
47622     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47623       31, *this->slice_param_, output);
47624   }
47625
47626   // repeated .opencv_caffe.NetStateRule include = 32;
47627   for (unsigned int i = 0, n = this->include_size(); i < n; i++) {
47628     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47629       32, this->include(i), output);
47630   }
47631
47632   // repeated .opencv_caffe.NetStateRule exclude = 33;
47633   for (unsigned int i = 0, n = this->exclude_size(); i < n; i++) {
47634     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47635       33, this->exclude(i), output);
47636   }
47637
47638   // optional .opencv_caffe.MVNParameter mvn_param = 34;
47639   if (has_mvn_param()) {
47640     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47641       34, *this->mvn_param_, output);
47642   }
47643
47644   // repeated float loss_weight = 35;
47645   for (int i = 0; i < this->loss_weight_size(); i++) {
47646     ::google::protobuf::internal::WireFormatLite::WriteFloat(
47647       35, this->loss_weight(i), output);
47648   }
47649
47650   // optional .opencv_caffe.TransformationParameter transform_param = 36;
47651   if (has_transform_param()) {
47652     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47653       36, *this->transform_param_, output);
47654   }
47655
47656   // optional .opencv_caffe.TanHParameter tanh_param = 37;
47657   if (has_tanh_param()) {
47658     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47659       37, *this->tanh_param_, output);
47660   }
47661
47662   // optional .opencv_caffe.SigmoidParameter sigmoid_param = 38;
47663   if (has_sigmoid_param()) {
47664     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47665       38, *this->sigmoid_param_, output);
47666   }
47667
47668   // optional .opencv_caffe.SoftmaxParameter softmax_param = 39;
47669   if (has_softmax_param()) {
47670     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47671       39, *this->softmax_param_, output);
47672   }
47673
47674   // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 40;
47675   if (has_contrastive_loss_param()) {
47676     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47677       40, *this->contrastive_loss_param_, output);
47678   }
47679
47680   // optional .opencv_caffe.ExpParameter exp_param = 41;
47681   if (has_exp_param()) {
47682     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47683       41, *this->exp_param_, output);
47684   }
47685
47686   // optional .opencv_caffe.LossParameter loss_param = 42;
47687   if (has_loss_param()) {
47688     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47689       42, *this->loss_param_, output);
47690   }
47691
47692   // repeated string param = 1001;
47693   for (int i = 0; i < this->param_size(); i++) {
47694     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
47695       this->param(i).data(), this->param(i).length(),
47696       ::google::protobuf::internal::WireFormat::SERIALIZE,
47697       "opencv_caffe.V1LayerParameter.param");
47698     ::google::protobuf::internal::WireFormatLite::WriteString(
47699       1001, this->param(i), output);
47700   }
47701
47702   // repeated .opencv_caffe.V1LayerParameter.DimCheckMode blob_share_mode = 1002;
47703   for (int i = 0; i < this->blob_share_mode_size(); i++) {
47704     ::google::protobuf::internal::WireFormatLite::WriteEnum(
47705       1002, this->blob_share_mode(i), output);
47706   }
47707
47708   if (_internal_metadata_.have_unknown_fields()) {
47709     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
47710         unknown_fields(), output);
47711   }
47712   // @@protoc_insertion_point(serialize_end:opencv_caffe.V1LayerParameter)
47713 }
47714
47715 ::google::protobuf::uint8* V1LayerParameter::InternalSerializeWithCachedSizesToArray(
47716     bool deterministic, ::google::protobuf::uint8* target) const {
47717   (void)deterministic; // Unused
47718   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.V1LayerParameter)
47719   // optional .opencv_caffe.V0LayerParameter layer = 1;
47720   if (has_layer()) {
47721     target = ::google::protobuf::internal::WireFormatLite::
47722       InternalWriteMessageNoVirtualToArray(
47723         1, *this->layer_, false, target);
47724   }
47725
47726   // repeated string bottom = 2;
47727   for (int i = 0; i < this->bottom_size(); i++) {
47728     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
47729       this->bottom(i).data(), this->bottom(i).length(),
47730       ::google::protobuf::internal::WireFormat::SERIALIZE,
47731       "opencv_caffe.V1LayerParameter.bottom");
47732     target = ::google::protobuf::internal::WireFormatLite::
47733       WriteStringToArray(2, this->bottom(i), target);
47734   }
47735
47736   // repeated string top = 3;
47737   for (int i = 0; i < this->top_size(); i++) {
47738     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
47739       this->top(i).data(), this->top(i).length(),
47740       ::google::protobuf::internal::WireFormat::SERIALIZE,
47741       "opencv_caffe.V1LayerParameter.top");
47742     target = ::google::protobuf::internal::WireFormatLite::
47743       WriteStringToArray(3, this->top(i), target);
47744   }
47745
47746   // optional string name = 4;
47747   if (has_name()) {
47748     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
47749       this->name().data(), this->name().length(),
47750       ::google::protobuf::internal::WireFormat::SERIALIZE,
47751       "opencv_caffe.V1LayerParameter.name");
47752     target =
47753       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
47754         4, this->name(), target);
47755   }
47756
47757   // optional .opencv_caffe.V1LayerParameter.LayerType type = 5;
47758   if (has_type()) {
47759     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
47760       5, this->type(), target);
47761   }
47762
47763   // repeated .opencv_caffe.BlobProto blobs = 6;
47764   for (unsigned int i = 0, n = this->blobs_size(); i < n; i++) {
47765     target = ::google::protobuf::internal::WireFormatLite::
47766       InternalWriteMessageNoVirtualToArray(
47767         6, this->blobs(i), false, target);
47768   }
47769
47770   // repeated float blobs_lr = 7;
47771   for (int i = 0; i < this->blobs_lr_size(); i++) {
47772     target = ::google::protobuf::internal::WireFormatLite::
47773       WriteFloatToArray(7, this->blobs_lr(i), target);
47774   }
47775
47776   // repeated float weight_decay = 8;
47777   for (int i = 0; i < this->weight_decay_size(); i++) {
47778     target = ::google::protobuf::internal::WireFormatLite::
47779       WriteFloatToArray(8, this->weight_decay(i), target);
47780   }
47781
47782   // optional .opencv_caffe.ConcatParameter concat_param = 9;
47783   if (has_concat_param()) {
47784     target = ::google::protobuf::internal::WireFormatLite::
47785       InternalWriteMessageNoVirtualToArray(
47786         9, *this->concat_param_, false, target);
47787   }
47788
47789   // optional .opencv_caffe.ConvolutionParameter convolution_param = 10;
47790   if (has_convolution_param()) {
47791     target = ::google::protobuf::internal::WireFormatLite::
47792       InternalWriteMessageNoVirtualToArray(
47793         10, *this->convolution_param_, false, target);
47794   }
47795
47796   // optional .opencv_caffe.DataParameter data_param = 11;
47797   if (has_data_param()) {
47798     target = ::google::protobuf::internal::WireFormatLite::
47799       InternalWriteMessageNoVirtualToArray(
47800         11, *this->data_param_, false, target);
47801   }
47802
47803   // optional .opencv_caffe.DropoutParameter dropout_param = 12;
47804   if (has_dropout_param()) {
47805     target = ::google::protobuf::internal::WireFormatLite::
47806       InternalWriteMessageNoVirtualToArray(
47807         12, *this->dropout_param_, false, target);
47808   }
47809
47810   // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 13;
47811   if (has_hdf5_data_param()) {
47812     target = ::google::protobuf::internal::WireFormatLite::
47813       InternalWriteMessageNoVirtualToArray(
47814         13, *this->hdf5_data_param_, false, target);
47815   }
47816
47817   // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 14;
47818   if (has_hdf5_output_param()) {
47819     target = ::google::protobuf::internal::WireFormatLite::
47820       InternalWriteMessageNoVirtualToArray(
47821         14, *this->hdf5_output_param_, false, target);
47822   }
47823
47824   // optional .opencv_caffe.ImageDataParameter image_data_param = 15;
47825   if (has_image_data_param()) {
47826     target = ::google::protobuf::internal::WireFormatLite::
47827       InternalWriteMessageNoVirtualToArray(
47828         15, *this->image_data_param_, false, target);
47829   }
47830
47831   // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 16;
47832   if (has_infogain_loss_param()) {
47833     target = ::google::protobuf::internal::WireFormatLite::
47834       InternalWriteMessageNoVirtualToArray(
47835         16, *this->infogain_loss_param_, false, target);
47836   }
47837
47838   // optional .opencv_caffe.InnerProductParameter inner_product_param = 17;
47839   if (has_inner_product_param()) {
47840     target = ::google::protobuf::internal::WireFormatLite::
47841       InternalWriteMessageNoVirtualToArray(
47842         17, *this->inner_product_param_, false, target);
47843   }
47844
47845   // optional .opencv_caffe.LRNParameter lrn_param = 18;
47846   if (has_lrn_param()) {
47847     target = ::google::protobuf::internal::WireFormatLite::
47848       InternalWriteMessageNoVirtualToArray(
47849         18, *this->lrn_param_, false, target);
47850   }
47851
47852   // optional .opencv_caffe.PoolingParameter pooling_param = 19;
47853   if (has_pooling_param()) {
47854     target = ::google::protobuf::internal::WireFormatLite::
47855       InternalWriteMessageNoVirtualToArray(
47856         19, *this->pooling_param_, false, target);
47857   }
47858
47859   // optional .opencv_caffe.WindowDataParameter window_data_param = 20;
47860   if (has_window_data_param()) {
47861     target = ::google::protobuf::internal::WireFormatLite::
47862       InternalWriteMessageNoVirtualToArray(
47863         20, *this->window_data_param_, false, target);
47864   }
47865
47866   // optional .opencv_caffe.PowerParameter power_param = 21;
47867   if (has_power_param()) {
47868     target = ::google::protobuf::internal::WireFormatLite::
47869       InternalWriteMessageNoVirtualToArray(
47870         21, *this->power_param_, false, target);
47871   }
47872
47873   // optional .opencv_caffe.MemoryDataParameter memory_data_param = 22;
47874   if (has_memory_data_param()) {
47875     target = ::google::protobuf::internal::WireFormatLite::
47876       InternalWriteMessageNoVirtualToArray(
47877         22, *this->memory_data_param_, false, target);
47878   }
47879
47880   // optional .opencv_caffe.ArgMaxParameter argmax_param = 23;
47881   if (has_argmax_param()) {
47882     target = ::google::protobuf::internal::WireFormatLite::
47883       InternalWriteMessageNoVirtualToArray(
47884         23, *this->argmax_param_, false, target);
47885   }
47886
47887   // optional .opencv_caffe.EltwiseParameter eltwise_param = 24;
47888   if (has_eltwise_param()) {
47889     target = ::google::protobuf::internal::WireFormatLite::
47890       InternalWriteMessageNoVirtualToArray(
47891         24, *this->eltwise_param_, false, target);
47892   }
47893
47894   // optional .opencv_caffe.ThresholdParameter threshold_param = 25;
47895   if (has_threshold_param()) {
47896     target = ::google::protobuf::internal::WireFormatLite::
47897       InternalWriteMessageNoVirtualToArray(
47898         25, *this->threshold_param_, false, target);
47899   }
47900
47901   // optional .opencv_caffe.DummyDataParameter dummy_data_param = 26;
47902   if (has_dummy_data_param()) {
47903     target = ::google::protobuf::internal::WireFormatLite::
47904       InternalWriteMessageNoVirtualToArray(
47905         26, *this->dummy_data_param_, false, target);
47906   }
47907
47908   // optional .opencv_caffe.AccuracyParameter accuracy_param = 27;
47909   if (has_accuracy_param()) {
47910     target = ::google::protobuf::internal::WireFormatLite::
47911       InternalWriteMessageNoVirtualToArray(
47912         27, *this->accuracy_param_, false, target);
47913   }
47914
47915   // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 29;
47916   if (has_hinge_loss_param()) {
47917     target = ::google::protobuf::internal::WireFormatLite::
47918       InternalWriteMessageNoVirtualToArray(
47919         29, *this->hinge_loss_param_, false, target);
47920   }
47921
47922   // optional .opencv_caffe.ReLUParameter relu_param = 30;
47923   if (has_relu_param()) {
47924     target = ::google::protobuf::internal::WireFormatLite::
47925       InternalWriteMessageNoVirtualToArray(
47926         30, *this->relu_param_, false, target);
47927   }
47928
47929   // optional .opencv_caffe.SliceParameter slice_param = 31;
47930   if (has_slice_param()) {
47931     target = ::google::protobuf::internal::WireFormatLite::
47932       InternalWriteMessageNoVirtualToArray(
47933         31, *this->slice_param_, false, target);
47934   }
47935
47936   // repeated .opencv_caffe.NetStateRule include = 32;
47937   for (unsigned int i = 0, n = this->include_size(); i < n; i++) {
47938     target = ::google::protobuf::internal::WireFormatLite::
47939       InternalWriteMessageNoVirtualToArray(
47940         32, this->include(i), false, target);
47941   }
47942
47943   // repeated .opencv_caffe.NetStateRule exclude = 33;
47944   for (unsigned int i = 0, n = this->exclude_size(); i < n; i++) {
47945     target = ::google::protobuf::internal::WireFormatLite::
47946       InternalWriteMessageNoVirtualToArray(
47947         33, this->exclude(i), false, target);
47948   }
47949
47950   // optional .opencv_caffe.MVNParameter mvn_param = 34;
47951   if (has_mvn_param()) {
47952     target = ::google::protobuf::internal::WireFormatLite::
47953       InternalWriteMessageNoVirtualToArray(
47954         34, *this->mvn_param_, false, target);
47955   }
47956
47957   // repeated float loss_weight = 35;
47958   for (int i = 0; i < this->loss_weight_size(); i++) {
47959     target = ::google::protobuf::internal::WireFormatLite::
47960       WriteFloatToArray(35, this->loss_weight(i), target);
47961   }
47962
47963   // optional .opencv_caffe.TransformationParameter transform_param = 36;
47964   if (has_transform_param()) {
47965     target = ::google::protobuf::internal::WireFormatLite::
47966       InternalWriteMessageNoVirtualToArray(
47967         36, *this->transform_param_, false, target);
47968   }
47969
47970   // optional .opencv_caffe.TanHParameter tanh_param = 37;
47971   if (has_tanh_param()) {
47972     target = ::google::protobuf::internal::WireFormatLite::
47973       InternalWriteMessageNoVirtualToArray(
47974         37, *this->tanh_param_, false, target);
47975   }
47976
47977   // optional .opencv_caffe.SigmoidParameter sigmoid_param = 38;
47978   if (has_sigmoid_param()) {
47979     target = ::google::protobuf::internal::WireFormatLite::
47980       InternalWriteMessageNoVirtualToArray(
47981         38, *this->sigmoid_param_, false, target);
47982   }
47983
47984   // optional .opencv_caffe.SoftmaxParameter softmax_param = 39;
47985   if (has_softmax_param()) {
47986     target = ::google::protobuf::internal::WireFormatLite::
47987       InternalWriteMessageNoVirtualToArray(
47988         39, *this->softmax_param_, false, target);
47989   }
47990
47991   // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 40;
47992   if (has_contrastive_loss_param()) {
47993     target = ::google::protobuf::internal::WireFormatLite::
47994       InternalWriteMessageNoVirtualToArray(
47995         40, *this->contrastive_loss_param_, false, target);
47996   }
47997
47998   // optional .opencv_caffe.ExpParameter exp_param = 41;
47999   if (has_exp_param()) {
48000     target = ::google::protobuf::internal::WireFormatLite::
48001       InternalWriteMessageNoVirtualToArray(
48002         41, *this->exp_param_, false, target);
48003   }
48004
48005   // optional .opencv_caffe.LossParameter loss_param = 42;
48006   if (has_loss_param()) {
48007     target = ::google::protobuf::internal::WireFormatLite::
48008       InternalWriteMessageNoVirtualToArray(
48009         42, *this->loss_param_, false, target);
48010   }
48011
48012   // repeated string param = 1001;
48013   for (int i = 0; i < this->param_size(); i++) {
48014     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
48015       this->param(i).data(), this->param(i).length(),
48016       ::google::protobuf::internal::WireFormat::SERIALIZE,
48017       "opencv_caffe.V1LayerParameter.param");
48018     target = ::google::protobuf::internal::WireFormatLite::
48019       WriteStringToArray(1001, this->param(i), target);
48020   }
48021
48022   // repeated .opencv_caffe.V1LayerParameter.DimCheckMode blob_share_mode = 1002;
48023   for (int i = 0; i < this->blob_share_mode_size(); i++) {
48024     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
48025       1002, this->blob_share_mode(i), target);
48026   }
48027
48028   if (_internal_metadata_.have_unknown_fields()) {
48029     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
48030         unknown_fields(), target);
48031   }
48032   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.V1LayerParameter)
48033   return target;
48034 }
48035
48036 size_t V1LayerParameter::ByteSizeLong() const {
48037 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.V1LayerParameter)
48038   size_t total_size = 0;
48039
48040   if (_has_bits_[2 / 32] & 36u) {
48041     // optional string name = 4;
48042     if (has_name()) {
48043       total_size += 1 +
48044         ::google::protobuf::internal::WireFormatLite::StringSize(
48045           this->name());
48046     }
48047
48048     // optional .opencv_caffe.V1LayerParameter.LayerType type = 5;
48049     if (has_type()) {
48050       total_size += 1 +
48051         ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
48052     }
48053
48054   }
48055   if (_has_bits_[12 / 32] & 61440u) {
48056     // optional .opencv_caffe.AccuracyParameter accuracy_param = 27;
48057     if (has_accuracy_param()) {
48058       total_size += 2 +
48059         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48060           *this->accuracy_param_);
48061     }
48062
48063     // optional .opencv_caffe.ArgMaxParameter argmax_param = 23;
48064     if (has_argmax_param()) {
48065       total_size += 2 +
48066         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48067           *this->argmax_param_);
48068     }
48069
48070     // optional .opencv_caffe.ConcatParameter concat_param = 9;
48071     if (has_concat_param()) {
48072       total_size += 1 +
48073         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48074           *this->concat_param_);
48075     }
48076
48077     // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 40;
48078     if (has_contrastive_loss_param()) {
48079       total_size += 2 +
48080         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48081           *this->contrastive_loss_param_);
48082     }
48083
48084   }
48085   if (_has_bits_[16 / 32] & 16711680u) {
48086     // optional .opencv_caffe.ConvolutionParameter convolution_param = 10;
48087     if (has_convolution_param()) {
48088       total_size += 1 +
48089         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48090           *this->convolution_param_);
48091     }
48092
48093     // optional .opencv_caffe.DataParameter data_param = 11;
48094     if (has_data_param()) {
48095       total_size += 1 +
48096         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48097           *this->data_param_);
48098     }
48099
48100     // optional .opencv_caffe.DropoutParameter dropout_param = 12;
48101     if (has_dropout_param()) {
48102       total_size += 1 +
48103         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48104           *this->dropout_param_);
48105     }
48106
48107     // optional .opencv_caffe.DummyDataParameter dummy_data_param = 26;
48108     if (has_dummy_data_param()) {
48109       total_size += 2 +
48110         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48111           *this->dummy_data_param_);
48112     }
48113
48114     // optional .opencv_caffe.EltwiseParameter eltwise_param = 24;
48115     if (has_eltwise_param()) {
48116       total_size += 2 +
48117         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48118           *this->eltwise_param_);
48119     }
48120
48121     // optional .opencv_caffe.ExpParameter exp_param = 41;
48122     if (has_exp_param()) {
48123       total_size += 2 +
48124         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48125           *this->exp_param_);
48126     }
48127
48128     // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 13;
48129     if (has_hdf5_data_param()) {
48130       total_size += 1 +
48131         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48132           *this->hdf5_data_param_);
48133     }
48134
48135     // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 14;
48136     if (has_hdf5_output_param()) {
48137       total_size += 1 +
48138         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48139           *this->hdf5_output_param_);
48140     }
48141
48142   }
48143   if (_has_bits_[24 / 32] & 4278190080u) {
48144     // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 29;
48145     if (has_hinge_loss_param()) {
48146       total_size += 2 +
48147         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48148           *this->hinge_loss_param_);
48149     }
48150
48151     // optional .opencv_caffe.ImageDataParameter image_data_param = 15;
48152     if (has_image_data_param()) {
48153       total_size += 1 +
48154         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48155           *this->image_data_param_);
48156     }
48157
48158     // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 16;
48159     if (has_infogain_loss_param()) {
48160       total_size += 2 +
48161         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48162           *this->infogain_loss_param_);
48163     }
48164
48165     // optional .opencv_caffe.InnerProductParameter inner_product_param = 17;
48166     if (has_inner_product_param()) {
48167       total_size += 2 +
48168         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48169           *this->inner_product_param_);
48170     }
48171
48172     // optional .opencv_caffe.LRNParameter lrn_param = 18;
48173     if (has_lrn_param()) {
48174       total_size += 2 +
48175         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48176           *this->lrn_param_);
48177     }
48178
48179     // optional .opencv_caffe.MemoryDataParameter memory_data_param = 22;
48180     if (has_memory_data_param()) {
48181       total_size += 2 +
48182         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48183           *this->memory_data_param_);
48184     }
48185
48186     // optional .opencv_caffe.MVNParameter mvn_param = 34;
48187     if (has_mvn_param()) {
48188       total_size += 2 +
48189         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48190           *this->mvn_param_);
48191     }
48192
48193     // optional .opencv_caffe.PoolingParameter pooling_param = 19;
48194     if (has_pooling_param()) {
48195       total_size += 2 +
48196         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48197           *this->pooling_param_);
48198     }
48199
48200   }
48201   if (_has_bits_[32 / 32] & 255u) {
48202     // optional .opencv_caffe.PowerParameter power_param = 21;
48203     if (has_power_param()) {
48204       total_size += 2 +
48205         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48206           *this->power_param_);
48207     }
48208
48209     // optional .opencv_caffe.ReLUParameter relu_param = 30;
48210     if (has_relu_param()) {
48211       total_size += 2 +
48212         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48213           *this->relu_param_);
48214     }
48215
48216     // optional .opencv_caffe.SigmoidParameter sigmoid_param = 38;
48217     if (has_sigmoid_param()) {
48218       total_size += 2 +
48219         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48220           *this->sigmoid_param_);
48221     }
48222
48223     // optional .opencv_caffe.SoftmaxParameter softmax_param = 39;
48224     if (has_softmax_param()) {
48225       total_size += 2 +
48226         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48227           *this->softmax_param_);
48228     }
48229
48230     // optional .opencv_caffe.SliceParameter slice_param = 31;
48231     if (has_slice_param()) {
48232       total_size += 2 +
48233         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48234           *this->slice_param_);
48235     }
48236
48237     // optional .opencv_caffe.TanHParameter tanh_param = 37;
48238     if (has_tanh_param()) {
48239       total_size += 2 +
48240         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48241           *this->tanh_param_);
48242     }
48243
48244     // optional .opencv_caffe.ThresholdParameter threshold_param = 25;
48245     if (has_threshold_param()) {
48246       total_size += 2 +
48247         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48248           *this->threshold_param_);
48249     }
48250
48251     // optional .opencv_caffe.WindowDataParameter window_data_param = 20;
48252     if (has_window_data_param()) {
48253       total_size += 2 +
48254         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48255           *this->window_data_param_);
48256     }
48257
48258   }
48259   if (_has_bits_[40 / 32] & 1792u) {
48260     // optional .opencv_caffe.TransformationParameter transform_param = 36;
48261     if (has_transform_param()) {
48262       total_size += 2 +
48263         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48264           *this->transform_param_);
48265     }
48266
48267     // optional .opencv_caffe.LossParameter loss_param = 42;
48268     if (has_loss_param()) {
48269       total_size += 2 +
48270         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48271           *this->loss_param_);
48272     }
48273
48274     // optional .opencv_caffe.V0LayerParameter layer = 1;
48275     if (has_layer()) {
48276       total_size += 1 +
48277         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48278           *this->layer_);
48279     }
48280
48281   }
48282   // repeated string bottom = 2;
48283   total_size += 1 *
48284       ::google::protobuf::internal::FromIntSize(this->bottom_size());
48285   for (int i = 0; i < this->bottom_size(); i++) {
48286     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
48287       this->bottom(i));
48288   }
48289
48290   // repeated string top = 3;
48291   total_size += 1 *
48292       ::google::protobuf::internal::FromIntSize(this->top_size());
48293   for (int i = 0; i < this->top_size(); i++) {
48294     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
48295       this->top(i));
48296   }
48297
48298   // repeated .opencv_caffe.NetStateRule include = 32;
48299   {
48300     unsigned int count = this->include_size();
48301     total_size += 2UL * count;
48302     for (unsigned int i = 0; i < count; i++) {
48303       total_size +=
48304         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48305           this->include(i));
48306     }
48307   }
48308
48309   // repeated .opencv_caffe.NetStateRule exclude = 33;
48310   {
48311     unsigned int count = this->exclude_size();
48312     total_size += 2UL * count;
48313     for (unsigned int i = 0; i < count; i++) {
48314       total_size +=
48315         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48316           this->exclude(i));
48317     }
48318   }
48319
48320   // repeated .opencv_caffe.BlobProto blobs = 6;
48321   {
48322     unsigned int count = this->blobs_size();
48323     total_size += 1UL * count;
48324     for (unsigned int i = 0; i < count; i++) {
48325       total_size +=
48326         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48327           this->blobs(i));
48328     }
48329   }
48330
48331   // repeated string param = 1001;
48332   total_size += 2 *
48333       ::google::protobuf::internal::FromIntSize(this->param_size());
48334   for (int i = 0; i < this->param_size(); i++) {
48335     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
48336       this->param(i));
48337   }
48338
48339   // repeated .opencv_caffe.V1LayerParameter.DimCheckMode blob_share_mode = 1002;
48340   {
48341     size_t data_size = 0;
48342     unsigned int count = this->blob_share_mode_size();for (unsigned int i = 0; i < count; i++) {
48343       data_size += ::google::protobuf::internal::WireFormatLite::EnumSize(
48344         this->blob_share_mode(i));
48345     }
48346     total_size += (2UL * count) + data_size;
48347   }
48348
48349   // repeated float blobs_lr = 7;
48350   {
48351     size_t data_size = 0;
48352     unsigned int count = this->blobs_lr_size();
48353     data_size = 4UL * count;
48354     total_size += 1 *
48355                   ::google::protobuf::internal::FromIntSize(this->blobs_lr_size());
48356     total_size += data_size;
48357   }
48358
48359   // repeated float weight_decay = 8;
48360   {
48361     size_t data_size = 0;
48362     unsigned int count = this->weight_decay_size();
48363     data_size = 4UL * count;
48364     total_size += 1 *
48365                   ::google::protobuf::internal::FromIntSize(this->weight_decay_size());
48366     total_size += data_size;
48367   }
48368
48369   // repeated float loss_weight = 35;
48370   {
48371     size_t data_size = 0;
48372     unsigned int count = this->loss_weight_size();
48373     data_size = 4UL * count;
48374     total_size += 2 *
48375                   ::google::protobuf::internal::FromIntSize(this->loss_weight_size());
48376     total_size += data_size;
48377   }
48378
48379   if (_internal_metadata_.have_unknown_fields()) {
48380     total_size +=
48381       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
48382         unknown_fields());
48383   }
48384   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
48385   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
48386   _cached_size_ = cached_size;
48387   GOOGLE_SAFE_CONCURRENT_WRITES_END();
48388   return total_size;
48389 }
48390
48391 void V1LayerParameter::MergeFrom(const ::google::protobuf::Message& from) {
48392 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.V1LayerParameter)
48393   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
48394   const V1LayerParameter* source =
48395       ::google::protobuf::internal::DynamicCastToGenerated<const V1LayerParameter>(
48396           &from);
48397   if (source == NULL) {
48398   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.V1LayerParameter)
48399     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
48400   } else {
48401   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.V1LayerParameter)
48402     UnsafeMergeFrom(*source);
48403   }
48404 }
48405
48406 void V1LayerParameter::MergeFrom(const V1LayerParameter& from) {
48407 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.V1LayerParameter)
48408   if (GOOGLE_PREDICT_TRUE(&from != this)) {
48409     UnsafeMergeFrom(from);
48410   } else {
48411     MergeFromFail(__LINE__);
48412   }
48413 }
48414
48415 void V1LayerParameter::UnsafeMergeFrom(const V1LayerParameter& from) {
48416   GOOGLE_DCHECK(&from != this);
48417   bottom_.UnsafeMergeFrom(from.bottom_);
48418   top_.UnsafeMergeFrom(from.top_);
48419   include_.MergeFrom(from.include_);
48420   exclude_.MergeFrom(from.exclude_);
48421   blobs_.MergeFrom(from.blobs_);
48422   param_.UnsafeMergeFrom(from.param_);
48423   blob_share_mode_.UnsafeMergeFrom(from.blob_share_mode_);
48424   blobs_lr_.UnsafeMergeFrom(from.blobs_lr_);
48425   weight_decay_.UnsafeMergeFrom(from.weight_decay_);
48426   loss_weight_.UnsafeMergeFrom(from.loss_weight_);
48427   if (from._has_bits_[2 / 32] & (0xffu << (2 % 32))) {
48428     if (from.has_name()) {
48429       set_has_name();
48430       name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
48431     }
48432     if (from.has_type()) {
48433       set_type(from.type());
48434     }
48435   }
48436   if (from._has_bits_[12 / 32] & (0xffu << (12 % 32))) {
48437     if (from.has_accuracy_param()) {
48438       mutable_accuracy_param()->::opencv_caffe::AccuracyParameter::MergeFrom(from.accuracy_param());
48439     }
48440     if (from.has_argmax_param()) {
48441       mutable_argmax_param()->::opencv_caffe::ArgMaxParameter::MergeFrom(from.argmax_param());
48442     }
48443     if (from.has_concat_param()) {
48444       mutable_concat_param()->::opencv_caffe::ConcatParameter::MergeFrom(from.concat_param());
48445     }
48446     if (from.has_contrastive_loss_param()) {
48447       mutable_contrastive_loss_param()->::opencv_caffe::ContrastiveLossParameter::MergeFrom(from.contrastive_loss_param());
48448     }
48449   }
48450   if (from._has_bits_[16 / 32] & (0xffu << (16 % 32))) {
48451     if (from.has_convolution_param()) {
48452       mutable_convolution_param()->::opencv_caffe::ConvolutionParameter::MergeFrom(from.convolution_param());
48453     }
48454     if (from.has_data_param()) {
48455       mutable_data_param()->::opencv_caffe::DataParameter::MergeFrom(from.data_param());
48456     }
48457     if (from.has_dropout_param()) {
48458       mutable_dropout_param()->::opencv_caffe::DropoutParameter::MergeFrom(from.dropout_param());
48459     }
48460     if (from.has_dummy_data_param()) {
48461       mutable_dummy_data_param()->::opencv_caffe::DummyDataParameter::MergeFrom(from.dummy_data_param());
48462     }
48463     if (from.has_eltwise_param()) {
48464       mutable_eltwise_param()->::opencv_caffe::EltwiseParameter::MergeFrom(from.eltwise_param());
48465     }
48466     if (from.has_exp_param()) {
48467       mutable_exp_param()->::opencv_caffe::ExpParameter::MergeFrom(from.exp_param());
48468     }
48469     if (from.has_hdf5_data_param()) {
48470       mutable_hdf5_data_param()->::opencv_caffe::HDF5DataParameter::MergeFrom(from.hdf5_data_param());
48471     }
48472     if (from.has_hdf5_output_param()) {
48473       mutable_hdf5_output_param()->::opencv_caffe::HDF5OutputParameter::MergeFrom(from.hdf5_output_param());
48474     }
48475   }
48476   if (from._has_bits_[24 / 32] & (0xffu << (24 % 32))) {
48477     if (from.has_hinge_loss_param()) {
48478       mutable_hinge_loss_param()->::opencv_caffe::HingeLossParameter::MergeFrom(from.hinge_loss_param());
48479     }
48480     if (from.has_image_data_param()) {
48481       mutable_image_data_param()->::opencv_caffe::ImageDataParameter::MergeFrom(from.image_data_param());
48482     }
48483     if (from.has_infogain_loss_param()) {
48484       mutable_infogain_loss_param()->::opencv_caffe::InfogainLossParameter::MergeFrom(from.infogain_loss_param());
48485     }
48486     if (from.has_inner_product_param()) {
48487       mutable_inner_product_param()->::opencv_caffe::InnerProductParameter::MergeFrom(from.inner_product_param());
48488     }
48489     if (from.has_lrn_param()) {
48490       mutable_lrn_param()->::opencv_caffe::LRNParameter::MergeFrom(from.lrn_param());
48491     }
48492     if (from.has_memory_data_param()) {
48493       mutable_memory_data_param()->::opencv_caffe::MemoryDataParameter::MergeFrom(from.memory_data_param());
48494     }
48495     if (from.has_mvn_param()) {
48496       mutable_mvn_param()->::opencv_caffe::MVNParameter::MergeFrom(from.mvn_param());
48497     }
48498     if (from.has_pooling_param()) {
48499       mutable_pooling_param()->::opencv_caffe::PoolingParameter::MergeFrom(from.pooling_param());
48500     }
48501   }
48502   if (from._has_bits_[32 / 32] & (0xffu << (32 % 32))) {
48503     if (from.has_power_param()) {
48504       mutable_power_param()->::opencv_caffe::PowerParameter::MergeFrom(from.power_param());
48505     }
48506     if (from.has_relu_param()) {
48507       mutable_relu_param()->::opencv_caffe::ReLUParameter::MergeFrom(from.relu_param());
48508     }
48509     if (from.has_sigmoid_param()) {
48510       mutable_sigmoid_param()->::opencv_caffe::SigmoidParameter::MergeFrom(from.sigmoid_param());
48511     }
48512     if (from.has_softmax_param()) {
48513       mutable_softmax_param()->::opencv_caffe::SoftmaxParameter::MergeFrom(from.softmax_param());
48514     }
48515     if (from.has_slice_param()) {
48516       mutable_slice_param()->::opencv_caffe::SliceParameter::MergeFrom(from.slice_param());
48517     }
48518     if (from.has_tanh_param()) {
48519       mutable_tanh_param()->::opencv_caffe::TanHParameter::MergeFrom(from.tanh_param());
48520     }
48521     if (from.has_threshold_param()) {
48522       mutable_threshold_param()->::opencv_caffe::ThresholdParameter::MergeFrom(from.threshold_param());
48523     }
48524     if (from.has_window_data_param()) {
48525       mutable_window_data_param()->::opencv_caffe::WindowDataParameter::MergeFrom(from.window_data_param());
48526     }
48527   }
48528   if (from._has_bits_[40 / 32] & (0xffu << (40 % 32))) {
48529     if (from.has_transform_param()) {
48530       mutable_transform_param()->::opencv_caffe::TransformationParameter::MergeFrom(from.transform_param());
48531     }
48532     if (from.has_loss_param()) {
48533       mutable_loss_param()->::opencv_caffe::LossParameter::MergeFrom(from.loss_param());
48534     }
48535     if (from.has_layer()) {
48536       mutable_layer()->::opencv_caffe::V0LayerParameter::MergeFrom(from.layer());
48537     }
48538   }
48539   if (from._internal_metadata_.have_unknown_fields()) {
48540     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
48541       from.unknown_fields(), &_internal_metadata_);
48542   }
48543 }
48544
48545 void V1LayerParameter::CopyFrom(const ::google::protobuf::Message& from) {
48546 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.V1LayerParameter)
48547   if (&from == this) return;
48548   Clear();
48549   MergeFrom(from);
48550 }
48551
48552 void V1LayerParameter::CopyFrom(const V1LayerParameter& from) {
48553 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.V1LayerParameter)
48554   if (&from == this) return;
48555   Clear();
48556   UnsafeMergeFrom(from);
48557 }
48558
48559 bool V1LayerParameter::IsInitialized() const {
48560
48561   return true;
48562 }
48563
48564 void V1LayerParameter::Swap(V1LayerParameter* other) {
48565   if (other == this) return;
48566   InternalSwap(other);
48567 }
48568 void V1LayerParameter::InternalSwap(V1LayerParameter* other) {
48569   bottom_.UnsafeArenaSwap(&other->bottom_);
48570   top_.UnsafeArenaSwap(&other->top_);
48571   name_.Swap(&other->name_);
48572   include_.UnsafeArenaSwap(&other->include_);
48573   exclude_.UnsafeArenaSwap(&other->exclude_);
48574   std::swap(type_, other->type_);
48575   blobs_.UnsafeArenaSwap(&other->blobs_);
48576   param_.UnsafeArenaSwap(&other->param_);
48577   blob_share_mode_.UnsafeArenaSwap(&other->blob_share_mode_);
48578   blobs_lr_.UnsafeArenaSwap(&other->blobs_lr_);
48579   weight_decay_.UnsafeArenaSwap(&other->weight_decay_);
48580   loss_weight_.UnsafeArenaSwap(&other->loss_weight_);
48581   std::swap(accuracy_param_, other->accuracy_param_);
48582   std::swap(argmax_param_, other->argmax_param_);
48583   std::swap(concat_param_, other->concat_param_);
48584   std::swap(contrastive_loss_param_, other->contrastive_loss_param_);
48585   std::swap(convolution_param_, other->convolution_param_);
48586   std::swap(data_param_, other->data_param_);
48587   std::swap(dropout_param_, other->dropout_param_);
48588   std::swap(dummy_data_param_, other->dummy_data_param_);
48589   std::swap(eltwise_param_, other->eltwise_param_);
48590   std::swap(exp_param_, other->exp_param_);
48591   std::swap(hdf5_data_param_, other->hdf5_data_param_);
48592   std::swap(hdf5_output_param_, other->hdf5_output_param_);
48593   std::swap(hinge_loss_param_, other->hinge_loss_param_);
48594   std::swap(image_data_param_, other->image_data_param_);
48595   std::swap(infogain_loss_param_, other->infogain_loss_param_);
48596   std::swap(inner_product_param_, other->inner_product_param_);
48597   std::swap(lrn_param_, other->lrn_param_);
48598   std::swap(memory_data_param_, other->memory_data_param_);
48599   std::swap(mvn_param_, other->mvn_param_);
48600   std::swap(pooling_param_, other->pooling_param_);
48601   std::swap(power_param_, other->power_param_);
48602   std::swap(relu_param_, other->relu_param_);
48603   std::swap(sigmoid_param_, other->sigmoid_param_);
48604   std::swap(softmax_param_, other->softmax_param_);
48605   std::swap(slice_param_, other->slice_param_);
48606   std::swap(tanh_param_, other->tanh_param_);
48607   std::swap(threshold_param_, other->threshold_param_);
48608   std::swap(window_data_param_, other->window_data_param_);
48609   std::swap(transform_param_, other->transform_param_);
48610   std::swap(loss_param_, other->loss_param_);
48611   std::swap(layer_, other->layer_);
48612   std::swap(_has_bits_[0], other->_has_bits_[0]);
48613   std::swap(_has_bits_[1], other->_has_bits_[1]);
48614   _internal_metadata_.Swap(&other->_internal_metadata_);
48615   std::swap(_cached_size_, other->_cached_size_);
48616 }
48617
48618 ::google::protobuf::Metadata V1LayerParameter::GetMetadata() const {
48619   protobuf_AssignDescriptorsOnce();
48620   ::google::protobuf::Metadata metadata;
48621   metadata.descriptor = V1LayerParameter_descriptor_;
48622   metadata.reflection = V1LayerParameter_reflection_;
48623   return metadata;
48624 }
48625
48626 #if PROTOBUF_INLINE_NOT_IN_HEADERS
48627 // V1LayerParameter
48628
48629 // repeated string bottom = 2;
48630 int V1LayerParameter::bottom_size() const {
48631   return bottom_.size();
48632 }
48633 void V1LayerParameter::clear_bottom() {
48634   bottom_.Clear();
48635 }
48636 const ::std::string& V1LayerParameter::bottom(int index) const {
48637   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.bottom)
48638   return bottom_.Get(index);
48639 }
48640 ::std::string* V1LayerParameter::mutable_bottom(int index) {
48641   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.bottom)
48642   return bottom_.Mutable(index);
48643 }
48644 void V1LayerParameter::set_bottom(int index, const ::std::string& value) {
48645   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.bottom)
48646   bottom_.Mutable(index)->assign(value);
48647 }
48648 void V1LayerParameter::set_bottom(int index, const char* value) {
48649   bottom_.Mutable(index)->assign(value);
48650   // @@protoc_insertion_point(field_set_char:opencv_caffe.V1LayerParameter.bottom)
48651 }
48652 void V1LayerParameter::set_bottom(int index, const char* value, size_t size) {
48653   bottom_.Mutable(index)->assign(
48654     reinterpret_cast<const char*>(value), size);
48655   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V1LayerParameter.bottom)
48656 }
48657 ::std::string* V1LayerParameter::add_bottom() {
48658   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.V1LayerParameter.bottom)
48659   return bottom_.Add();
48660 }
48661 void V1LayerParameter::add_bottom(const ::std::string& value) {
48662   bottom_.Add()->assign(value);
48663   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.bottom)
48664 }
48665 void V1LayerParameter::add_bottom(const char* value) {
48666   bottom_.Add()->assign(value);
48667   // @@protoc_insertion_point(field_add_char:opencv_caffe.V1LayerParameter.bottom)
48668 }
48669 void V1LayerParameter::add_bottom(const char* value, size_t size) {
48670   bottom_.Add()->assign(reinterpret_cast<const char*>(value), size);
48671   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.V1LayerParameter.bottom)
48672 }
48673 const ::google::protobuf::RepeatedPtrField< ::std::string>&
48674 V1LayerParameter::bottom() const {
48675   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.bottom)
48676   return bottom_;
48677 }
48678 ::google::protobuf::RepeatedPtrField< ::std::string>*
48679 V1LayerParameter::mutable_bottom() {
48680   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.bottom)
48681   return &bottom_;
48682 }
48683
48684 // repeated string top = 3;
48685 int V1LayerParameter::top_size() const {
48686   return top_.size();
48687 }
48688 void V1LayerParameter::clear_top() {
48689   top_.Clear();
48690 }
48691 const ::std::string& V1LayerParameter::top(int index) const {
48692   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.top)
48693   return top_.Get(index);
48694 }
48695 ::std::string* V1LayerParameter::mutable_top(int index) {
48696   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.top)
48697   return top_.Mutable(index);
48698 }
48699 void V1LayerParameter::set_top(int index, const ::std::string& value) {
48700   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.top)
48701   top_.Mutable(index)->assign(value);
48702 }
48703 void V1LayerParameter::set_top(int index, const char* value) {
48704   top_.Mutable(index)->assign(value);
48705   // @@protoc_insertion_point(field_set_char:opencv_caffe.V1LayerParameter.top)
48706 }
48707 void V1LayerParameter::set_top(int index, const char* value, size_t size) {
48708   top_.Mutable(index)->assign(
48709     reinterpret_cast<const char*>(value), size);
48710   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V1LayerParameter.top)
48711 }
48712 ::std::string* V1LayerParameter::add_top() {
48713   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.V1LayerParameter.top)
48714   return top_.Add();
48715 }
48716 void V1LayerParameter::add_top(const ::std::string& value) {
48717   top_.Add()->assign(value);
48718   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.top)
48719 }
48720 void V1LayerParameter::add_top(const char* value) {
48721   top_.Add()->assign(value);
48722   // @@protoc_insertion_point(field_add_char:opencv_caffe.V1LayerParameter.top)
48723 }
48724 void V1LayerParameter::add_top(const char* value, size_t size) {
48725   top_.Add()->assign(reinterpret_cast<const char*>(value), size);
48726   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.V1LayerParameter.top)
48727 }
48728 const ::google::protobuf::RepeatedPtrField< ::std::string>&
48729 V1LayerParameter::top() const {
48730   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.top)
48731   return top_;
48732 }
48733 ::google::protobuf::RepeatedPtrField< ::std::string>*
48734 V1LayerParameter::mutable_top() {
48735   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.top)
48736   return &top_;
48737 }
48738
48739 // optional string name = 4;
48740 bool V1LayerParameter::has_name() const {
48741   return (_has_bits_[0] & 0x00000004u) != 0;
48742 }
48743 void V1LayerParameter::set_has_name() {
48744   _has_bits_[0] |= 0x00000004u;
48745 }
48746 void V1LayerParameter::clear_has_name() {
48747   _has_bits_[0] &= ~0x00000004u;
48748 }
48749 void V1LayerParameter::clear_name() {
48750   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
48751   clear_has_name();
48752 }
48753 const ::std::string& V1LayerParameter::name() const {
48754   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.name)
48755   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
48756 }
48757 void V1LayerParameter::set_name(const ::std::string& value) {
48758   set_has_name();
48759   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
48760   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.name)
48761 }
48762 void V1LayerParameter::set_name(const char* value) {
48763   set_has_name();
48764   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
48765   // @@protoc_insertion_point(field_set_char:opencv_caffe.V1LayerParameter.name)
48766 }
48767 void V1LayerParameter::set_name(const char* value, size_t size) {
48768   set_has_name();
48769   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
48770       ::std::string(reinterpret_cast<const char*>(value), size));
48771   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V1LayerParameter.name)
48772 }
48773 ::std::string* V1LayerParameter::mutable_name() {
48774   set_has_name();
48775   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.name)
48776   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
48777 }
48778 ::std::string* V1LayerParameter::release_name() {
48779   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.name)
48780   clear_has_name();
48781   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
48782 }
48783 void V1LayerParameter::set_allocated_name(::std::string* name) {
48784   if (name != NULL) {
48785     set_has_name();
48786   } else {
48787     clear_has_name();
48788   }
48789   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
48790   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.name)
48791 }
48792
48793 // repeated .opencv_caffe.NetStateRule include = 32;
48794 int V1LayerParameter::include_size() const {
48795   return include_.size();
48796 }
48797 void V1LayerParameter::clear_include() {
48798   include_.Clear();
48799 }
48800 const ::opencv_caffe::NetStateRule& V1LayerParameter::include(int index) const {
48801   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.include)
48802   return include_.Get(index);
48803 }
48804 ::opencv_caffe::NetStateRule* V1LayerParameter::mutable_include(int index) {
48805   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.include)
48806   return include_.Mutable(index);
48807 }
48808 ::opencv_caffe::NetStateRule* V1LayerParameter::add_include() {
48809   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.include)
48810   return include_.Add();
48811 }
48812 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
48813 V1LayerParameter::mutable_include() {
48814   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.include)
48815   return &include_;
48816 }
48817 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
48818 V1LayerParameter::include() const {
48819   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.include)
48820   return include_;
48821 }
48822
48823 // repeated .opencv_caffe.NetStateRule exclude = 33;
48824 int V1LayerParameter::exclude_size() const {
48825   return exclude_.size();
48826 }
48827 void V1LayerParameter::clear_exclude() {
48828   exclude_.Clear();
48829 }
48830 const ::opencv_caffe::NetStateRule& V1LayerParameter::exclude(int index) const {
48831   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.exclude)
48832   return exclude_.Get(index);
48833 }
48834 ::opencv_caffe::NetStateRule* V1LayerParameter::mutable_exclude(int index) {
48835   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.exclude)
48836   return exclude_.Mutable(index);
48837 }
48838 ::opencv_caffe::NetStateRule* V1LayerParameter::add_exclude() {
48839   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.exclude)
48840   return exclude_.Add();
48841 }
48842 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
48843 V1LayerParameter::mutable_exclude() {
48844   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.exclude)
48845   return &exclude_;
48846 }
48847 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
48848 V1LayerParameter::exclude() const {
48849   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.exclude)
48850   return exclude_;
48851 }
48852
48853 // optional .opencv_caffe.V1LayerParameter.LayerType type = 5;
48854 bool V1LayerParameter::has_type() const {
48855   return (_has_bits_[0] & 0x00000020u) != 0;
48856 }
48857 void V1LayerParameter::set_has_type() {
48858   _has_bits_[0] |= 0x00000020u;
48859 }
48860 void V1LayerParameter::clear_has_type() {
48861   _has_bits_[0] &= ~0x00000020u;
48862 }
48863 void V1LayerParameter::clear_type() {
48864   type_ = 0;
48865   clear_has_type();
48866 }
48867 ::opencv_caffe::V1LayerParameter_LayerType V1LayerParameter::type() const {
48868   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.type)
48869   return static_cast< ::opencv_caffe::V1LayerParameter_LayerType >(type_);
48870 }
48871 void V1LayerParameter::set_type(::opencv_caffe::V1LayerParameter_LayerType value) {
48872   assert(::opencv_caffe::V1LayerParameter_LayerType_IsValid(value));
48873   set_has_type();
48874   type_ = value;
48875   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.type)
48876 }
48877
48878 // repeated .opencv_caffe.BlobProto blobs = 6;
48879 int V1LayerParameter::blobs_size() const {
48880   return blobs_.size();
48881 }
48882 void V1LayerParameter::clear_blobs() {
48883   blobs_.Clear();
48884 }
48885 const ::opencv_caffe::BlobProto& V1LayerParameter::blobs(int index) const {
48886   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.blobs)
48887   return blobs_.Get(index);
48888 }
48889 ::opencv_caffe::BlobProto* V1LayerParameter::mutable_blobs(int index) {
48890   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.blobs)
48891   return blobs_.Mutable(index);
48892 }
48893 ::opencv_caffe::BlobProto* V1LayerParameter::add_blobs() {
48894   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.blobs)
48895   return blobs_.Add();
48896 }
48897 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
48898 V1LayerParameter::mutable_blobs() {
48899   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.blobs)
48900   return &blobs_;
48901 }
48902 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
48903 V1LayerParameter::blobs() const {
48904   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.blobs)
48905   return blobs_;
48906 }
48907
48908 // repeated string param = 1001;
48909 int V1LayerParameter::param_size() const {
48910   return param_.size();
48911 }
48912 void V1LayerParameter::clear_param() {
48913   param_.Clear();
48914 }
48915 const ::std::string& V1LayerParameter::param(int index) const {
48916   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.param)
48917   return param_.Get(index);
48918 }
48919 ::std::string* V1LayerParameter::mutable_param(int index) {
48920   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.param)
48921   return param_.Mutable(index);
48922 }
48923 void V1LayerParameter::set_param(int index, const ::std::string& value) {
48924   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.param)
48925   param_.Mutable(index)->assign(value);
48926 }
48927 void V1LayerParameter::set_param(int index, const char* value) {
48928   param_.Mutable(index)->assign(value);
48929   // @@protoc_insertion_point(field_set_char:opencv_caffe.V1LayerParameter.param)
48930 }
48931 void V1LayerParameter::set_param(int index, const char* value, size_t size) {
48932   param_.Mutable(index)->assign(
48933     reinterpret_cast<const char*>(value), size);
48934   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V1LayerParameter.param)
48935 }
48936 ::std::string* V1LayerParameter::add_param() {
48937   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.V1LayerParameter.param)
48938   return param_.Add();
48939 }
48940 void V1LayerParameter::add_param(const ::std::string& value) {
48941   param_.Add()->assign(value);
48942   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.param)
48943 }
48944 void V1LayerParameter::add_param(const char* value) {
48945   param_.Add()->assign(value);
48946   // @@protoc_insertion_point(field_add_char:opencv_caffe.V1LayerParameter.param)
48947 }
48948 void V1LayerParameter::add_param(const char* value, size_t size) {
48949   param_.Add()->assign(reinterpret_cast<const char*>(value), size);
48950   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.V1LayerParameter.param)
48951 }
48952 const ::google::protobuf::RepeatedPtrField< ::std::string>&
48953 V1LayerParameter::param() const {
48954   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.param)
48955   return param_;
48956 }
48957 ::google::protobuf::RepeatedPtrField< ::std::string>*
48958 V1LayerParameter::mutable_param() {
48959   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.param)
48960   return &param_;
48961 }
48962
48963 // repeated .opencv_caffe.V1LayerParameter.DimCheckMode blob_share_mode = 1002;
48964 int V1LayerParameter::blob_share_mode_size() const {
48965   return blob_share_mode_.size();
48966 }
48967 void V1LayerParameter::clear_blob_share_mode() {
48968   blob_share_mode_.Clear();
48969 }
48970 ::opencv_caffe::V1LayerParameter_DimCheckMode V1LayerParameter::blob_share_mode(int index) const {
48971   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.blob_share_mode)
48972   return static_cast< ::opencv_caffe::V1LayerParameter_DimCheckMode >(blob_share_mode_.Get(index));
48973 }
48974 void V1LayerParameter::set_blob_share_mode(int index, ::opencv_caffe::V1LayerParameter_DimCheckMode value) {
48975   assert(::opencv_caffe::V1LayerParameter_DimCheckMode_IsValid(value));
48976   blob_share_mode_.Set(index, value);
48977   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.blob_share_mode)
48978 }
48979 void V1LayerParameter::add_blob_share_mode(::opencv_caffe::V1LayerParameter_DimCheckMode value) {
48980   assert(::opencv_caffe::V1LayerParameter_DimCheckMode_IsValid(value));
48981   blob_share_mode_.Add(value);
48982   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.blob_share_mode)
48983 }
48984 const ::google::protobuf::RepeatedField<int>&
48985 V1LayerParameter::blob_share_mode() const {
48986   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.blob_share_mode)
48987   return blob_share_mode_;
48988 }
48989 ::google::protobuf::RepeatedField<int>*
48990 V1LayerParameter::mutable_blob_share_mode() {
48991   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.blob_share_mode)
48992   return &blob_share_mode_;
48993 }
48994
48995 // repeated float blobs_lr = 7;
48996 int V1LayerParameter::blobs_lr_size() const {
48997   return blobs_lr_.size();
48998 }
48999 void V1LayerParameter::clear_blobs_lr() {
49000   blobs_lr_.Clear();
49001 }
49002 float V1LayerParameter::blobs_lr(int index) const {
49003   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.blobs_lr)
49004   return blobs_lr_.Get(index);
49005 }
49006 void V1LayerParameter::set_blobs_lr(int index, float value) {
49007   blobs_lr_.Set(index, value);
49008   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.blobs_lr)
49009 }
49010 void V1LayerParameter::add_blobs_lr(float value) {
49011   blobs_lr_.Add(value);
49012   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.blobs_lr)
49013 }
49014 const ::google::protobuf::RepeatedField< float >&
49015 V1LayerParameter::blobs_lr() const {
49016   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.blobs_lr)
49017   return blobs_lr_;
49018 }
49019 ::google::protobuf::RepeatedField< float >*
49020 V1LayerParameter::mutable_blobs_lr() {
49021   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.blobs_lr)
49022   return &blobs_lr_;
49023 }
49024
49025 // repeated float weight_decay = 8;
49026 int V1LayerParameter::weight_decay_size() const {
49027   return weight_decay_.size();
49028 }
49029 void V1LayerParameter::clear_weight_decay() {
49030   weight_decay_.Clear();
49031 }
49032 float V1LayerParameter::weight_decay(int index) const {
49033   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.weight_decay)
49034   return weight_decay_.Get(index);
49035 }
49036 void V1LayerParameter::set_weight_decay(int index, float value) {
49037   weight_decay_.Set(index, value);
49038   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.weight_decay)
49039 }
49040 void V1LayerParameter::add_weight_decay(float value) {
49041   weight_decay_.Add(value);
49042   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.weight_decay)
49043 }
49044 const ::google::protobuf::RepeatedField< float >&
49045 V1LayerParameter::weight_decay() const {
49046   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.weight_decay)
49047   return weight_decay_;
49048 }
49049 ::google::protobuf::RepeatedField< float >*
49050 V1LayerParameter::mutable_weight_decay() {
49051   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.weight_decay)
49052   return &weight_decay_;
49053 }
49054
49055 // repeated float loss_weight = 35;
49056 int V1LayerParameter::loss_weight_size() const {
49057   return loss_weight_.size();
49058 }
49059 void V1LayerParameter::clear_loss_weight() {
49060   loss_weight_.Clear();
49061 }
49062 float V1LayerParameter::loss_weight(int index) const {
49063   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.loss_weight)
49064   return loss_weight_.Get(index);
49065 }
49066 void V1LayerParameter::set_loss_weight(int index, float value) {
49067   loss_weight_.Set(index, value);
49068   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.loss_weight)
49069 }
49070 void V1LayerParameter::add_loss_weight(float value) {
49071   loss_weight_.Add(value);
49072   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.loss_weight)
49073 }
49074 const ::google::protobuf::RepeatedField< float >&
49075 V1LayerParameter::loss_weight() const {
49076   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.loss_weight)
49077   return loss_weight_;
49078 }
49079 ::google::protobuf::RepeatedField< float >*
49080 V1LayerParameter::mutable_loss_weight() {
49081   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.loss_weight)
49082   return &loss_weight_;
49083 }
49084
49085 // optional .opencv_caffe.AccuracyParameter accuracy_param = 27;
49086 bool V1LayerParameter::has_accuracy_param() const {
49087   return (_has_bits_[0] & 0x00001000u) != 0;
49088 }
49089 void V1LayerParameter::set_has_accuracy_param() {
49090   _has_bits_[0] |= 0x00001000u;
49091 }
49092 void V1LayerParameter::clear_has_accuracy_param() {
49093   _has_bits_[0] &= ~0x00001000u;
49094 }
49095 void V1LayerParameter::clear_accuracy_param() {
49096   if (accuracy_param_ != NULL) accuracy_param_->::opencv_caffe::AccuracyParameter::Clear();
49097   clear_has_accuracy_param();
49098 }
49099 const ::opencv_caffe::AccuracyParameter& V1LayerParameter::accuracy_param() const {
49100   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.accuracy_param)
49101   return accuracy_param_ != NULL ? *accuracy_param_
49102                          : *::opencv_caffe::AccuracyParameter::internal_default_instance();
49103 }
49104 ::opencv_caffe::AccuracyParameter* V1LayerParameter::mutable_accuracy_param() {
49105   set_has_accuracy_param();
49106   if (accuracy_param_ == NULL) {
49107     accuracy_param_ = new ::opencv_caffe::AccuracyParameter;
49108   }
49109   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.accuracy_param)
49110   return accuracy_param_;
49111 }
49112 ::opencv_caffe::AccuracyParameter* V1LayerParameter::release_accuracy_param() {
49113   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.accuracy_param)
49114   clear_has_accuracy_param();
49115   ::opencv_caffe::AccuracyParameter* temp = accuracy_param_;
49116   accuracy_param_ = NULL;
49117   return temp;
49118 }
49119 void V1LayerParameter::set_allocated_accuracy_param(::opencv_caffe::AccuracyParameter* accuracy_param) {
49120   delete accuracy_param_;
49121   accuracy_param_ = accuracy_param;
49122   if (accuracy_param) {
49123     set_has_accuracy_param();
49124   } else {
49125     clear_has_accuracy_param();
49126   }
49127   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.accuracy_param)
49128 }
49129
49130 // optional .opencv_caffe.ArgMaxParameter argmax_param = 23;
49131 bool V1LayerParameter::has_argmax_param() const {
49132   return (_has_bits_[0] & 0x00002000u) != 0;
49133 }
49134 void V1LayerParameter::set_has_argmax_param() {
49135   _has_bits_[0] |= 0x00002000u;
49136 }
49137 void V1LayerParameter::clear_has_argmax_param() {
49138   _has_bits_[0] &= ~0x00002000u;
49139 }
49140 void V1LayerParameter::clear_argmax_param() {
49141   if (argmax_param_ != NULL) argmax_param_->::opencv_caffe::ArgMaxParameter::Clear();
49142   clear_has_argmax_param();
49143 }
49144 const ::opencv_caffe::ArgMaxParameter& V1LayerParameter::argmax_param() const {
49145   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.argmax_param)
49146   return argmax_param_ != NULL ? *argmax_param_
49147                          : *::opencv_caffe::ArgMaxParameter::internal_default_instance();
49148 }
49149 ::opencv_caffe::ArgMaxParameter* V1LayerParameter::mutable_argmax_param() {
49150   set_has_argmax_param();
49151   if (argmax_param_ == NULL) {
49152     argmax_param_ = new ::opencv_caffe::ArgMaxParameter;
49153   }
49154   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.argmax_param)
49155   return argmax_param_;
49156 }
49157 ::opencv_caffe::ArgMaxParameter* V1LayerParameter::release_argmax_param() {
49158   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.argmax_param)
49159   clear_has_argmax_param();
49160   ::opencv_caffe::ArgMaxParameter* temp = argmax_param_;
49161   argmax_param_ = NULL;
49162   return temp;
49163 }
49164 void V1LayerParameter::set_allocated_argmax_param(::opencv_caffe::ArgMaxParameter* argmax_param) {
49165   delete argmax_param_;
49166   argmax_param_ = argmax_param;
49167   if (argmax_param) {
49168     set_has_argmax_param();
49169   } else {
49170     clear_has_argmax_param();
49171   }
49172   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.argmax_param)
49173 }
49174
49175 // optional .opencv_caffe.ConcatParameter concat_param = 9;
49176 bool V1LayerParameter::has_concat_param() const {
49177   return (_has_bits_[0] & 0x00004000u) != 0;
49178 }
49179 void V1LayerParameter::set_has_concat_param() {
49180   _has_bits_[0] |= 0x00004000u;
49181 }
49182 void V1LayerParameter::clear_has_concat_param() {
49183   _has_bits_[0] &= ~0x00004000u;
49184 }
49185 void V1LayerParameter::clear_concat_param() {
49186   if (concat_param_ != NULL) concat_param_->::opencv_caffe::ConcatParameter::Clear();
49187   clear_has_concat_param();
49188 }
49189 const ::opencv_caffe::ConcatParameter& V1LayerParameter::concat_param() const {
49190   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.concat_param)
49191   return concat_param_ != NULL ? *concat_param_
49192                          : *::opencv_caffe::ConcatParameter::internal_default_instance();
49193 }
49194 ::opencv_caffe::ConcatParameter* V1LayerParameter::mutable_concat_param() {
49195   set_has_concat_param();
49196   if (concat_param_ == NULL) {
49197     concat_param_ = new ::opencv_caffe::ConcatParameter;
49198   }
49199   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.concat_param)
49200   return concat_param_;
49201 }
49202 ::opencv_caffe::ConcatParameter* V1LayerParameter::release_concat_param() {
49203   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.concat_param)
49204   clear_has_concat_param();
49205   ::opencv_caffe::ConcatParameter* temp = concat_param_;
49206   concat_param_ = NULL;
49207   return temp;
49208 }
49209 void V1LayerParameter::set_allocated_concat_param(::opencv_caffe::ConcatParameter* concat_param) {
49210   delete concat_param_;
49211   concat_param_ = concat_param;
49212   if (concat_param) {
49213     set_has_concat_param();
49214   } else {
49215     clear_has_concat_param();
49216   }
49217   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.concat_param)
49218 }
49219
49220 // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 40;
49221 bool V1LayerParameter::has_contrastive_loss_param() const {
49222   return (_has_bits_[0] & 0x00008000u) != 0;
49223 }
49224 void V1LayerParameter::set_has_contrastive_loss_param() {
49225   _has_bits_[0] |= 0x00008000u;
49226 }
49227 void V1LayerParameter::clear_has_contrastive_loss_param() {
49228   _has_bits_[0] &= ~0x00008000u;
49229 }
49230 void V1LayerParameter::clear_contrastive_loss_param() {
49231   if (contrastive_loss_param_ != NULL) contrastive_loss_param_->::opencv_caffe::ContrastiveLossParameter::Clear();
49232   clear_has_contrastive_loss_param();
49233 }
49234 const ::opencv_caffe::ContrastiveLossParameter& V1LayerParameter::contrastive_loss_param() const {
49235   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.contrastive_loss_param)
49236   return contrastive_loss_param_ != NULL ? *contrastive_loss_param_
49237                          : *::opencv_caffe::ContrastiveLossParameter::internal_default_instance();
49238 }
49239 ::opencv_caffe::ContrastiveLossParameter* V1LayerParameter::mutable_contrastive_loss_param() {
49240   set_has_contrastive_loss_param();
49241   if (contrastive_loss_param_ == NULL) {
49242     contrastive_loss_param_ = new ::opencv_caffe::ContrastiveLossParameter;
49243   }
49244   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.contrastive_loss_param)
49245   return contrastive_loss_param_;
49246 }
49247 ::opencv_caffe::ContrastiveLossParameter* V1LayerParameter::release_contrastive_loss_param() {
49248   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.contrastive_loss_param)
49249   clear_has_contrastive_loss_param();
49250   ::opencv_caffe::ContrastiveLossParameter* temp = contrastive_loss_param_;
49251   contrastive_loss_param_ = NULL;
49252   return temp;
49253 }
49254 void V1LayerParameter::set_allocated_contrastive_loss_param(::opencv_caffe::ContrastiveLossParameter* contrastive_loss_param) {
49255   delete contrastive_loss_param_;
49256   contrastive_loss_param_ = contrastive_loss_param;
49257   if (contrastive_loss_param) {
49258     set_has_contrastive_loss_param();
49259   } else {
49260     clear_has_contrastive_loss_param();
49261   }
49262   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.contrastive_loss_param)
49263 }
49264
49265 // optional .opencv_caffe.ConvolutionParameter convolution_param = 10;
49266 bool V1LayerParameter::has_convolution_param() const {
49267   return (_has_bits_[0] & 0x00010000u) != 0;
49268 }
49269 void V1LayerParameter::set_has_convolution_param() {
49270   _has_bits_[0] |= 0x00010000u;
49271 }
49272 void V1LayerParameter::clear_has_convolution_param() {
49273   _has_bits_[0] &= ~0x00010000u;
49274 }
49275 void V1LayerParameter::clear_convolution_param() {
49276   if (convolution_param_ != NULL) convolution_param_->::opencv_caffe::ConvolutionParameter::Clear();
49277   clear_has_convolution_param();
49278 }
49279 const ::opencv_caffe::ConvolutionParameter& V1LayerParameter::convolution_param() const {
49280   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.convolution_param)
49281   return convolution_param_ != NULL ? *convolution_param_
49282                          : *::opencv_caffe::ConvolutionParameter::internal_default_instance();
49283 }
49284 ::opencv_caffe::ConvolutionParameter* V1LayerParameter::mutable_convolution_param() {
49285   set_has_convolution_param();
49286   if (convolution_param_ == NULL) {
49287     convolution_param_ = new ::opencv_caffe::ConvolutionParameter;
49288   }
49289   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.convolution_param)
49290   return convolution_param_;
49291 }
49292 ::opencv_caffe::ConvolutionParameter* V1LayerParameter::release_convolution_param() {
49293   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.convolution_param)
49294   clear_has_convolution_param();
49295   ::opencv_caffe::ConvolutionParameter* temp = convolution_param_;
49296   convolution_param_ = NULL;
49297   return temp;
49298 }
49299 void V1LayerParameter::set_allocated_convolution_param(::opencv_caffe::ConvolutionParameter* convolution_param) {
49300   delete convolution_param_;
49301   convolution_param_ = convolution_param;
49302   if (convolution_param) {
49303     set_has_convolution_param();
49304   } else {
49305     clear_has_convolution_param();
49306   }
49307   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.convolution_param)
49308 }
49309
49310 // optional .opencv_caffe.DataParameter data_param = 11;
49311 bool V1LayerParameter::has_data_param() const {
49312   return (_has_bits_[0] & 0x00020000u) != 0;
49313 }
49314 void V1LayerParameter::set_has_data_param() {
49315   _has_bits_[0] |= 0x00020000u;
49316 }
49317 void V1LayerParameter::clear_has_data_param() {
49318   _has_bits_[0] &= ~0x00020000u;
49319 }
49320 void V1LayerParameter::clear_data_param() {
49321   if (data_param_ != NULL) data_param_->::opencv_caffe::DataParameter::Clear();
49322   clear_has_data_param();
49323 }
49324 const ::opencv_caffe::DataParameter& V1LayerParameter::data_param() const {
49325   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.data_param)
49326   return data_param_ != NULL ? *data_param_
49327                          : *::opencv_caffe::DataParameter::internal_default_instance();
49328 }
49329 ::opencv_caffe::DataParameter* V1LayerParameter::mutable_data_param() {
49330   set_has_data_param();
49331   if (data_param_ == NULL) {
49332     data_param_ = new ::opencv_caffe::DataParameter;
49333   }
49334   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.data_param)
49335   return data_param_;
49336 }
49337 ::opencv_caffe::DataParameter* V1LayerParameter::release_data_param() {
49338   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.data_param)
49339   clear_has_data_param();
49340   ::opencv_caffe::DataParameter* temp = data_param_;
49341   data_param_ = NULL;
49342   return temp;
49343 }
49344 void V1LayerParameter::set_allocated_data_param(::opencv_caffe::DataParameter* data_param) {
49345   delete data_param_;
49346   data_param_ = data_param;
49347   if (data_param) {
49348     set_has_data_param();
49349   } else {
49350     clear_has_data_param();
49351   }
49352   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.data_param)
49353 }
49354
49355 // optional .opencv_caffe.DropoutParameter dropout_param = 12;
49356 bool V1LayerParameter::has_dropout_param() const {
49357   return (_has_bits_[0] & 0x00040000u) != 0;
49358 }
49359 void V1LayerParameter::set_has_dropout_param() {
49360   _has_bits_[0] |= 0x00040000u;
49361 }
49362 void V1LayerParameter::clear_has_dropout_param() {
49363   _has_bits_[0] &= ~0x00040000u;
49364 }
49365 void V1LayerParameter::clear_dropout_param() {
49366   if (dropout_param_ != NULL) dropout_param_->::opencv_caffe::DropoutParameter::Clear();
49367   clear_has_dropout_param();
49368 }
49369 const ::opencv_caffe::DropoutParameter& V1LayerParameter::dropout_param() const {
49370   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.dropout_param)
49371   return dropout_param_ != NULL ? *dropout_param_
49372                          : *::opencv_caffe::DropoutParameter::internal_default_instance();
49373 }
49374 ::opencv_caffe::DropoutParameter* V1LayerParameter::mutable_dropout_param() {
49375   set_has_dropout_param();
49376   if (dropout_param_ == NULL) {
49377     dropout_param_ = new ::opencv_caffe::DropoutParameter;
49378   }
49379   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.dropout_param)
49380   return dropout_param_;
49381 }
49382 ::opencv_caffe::DropoutParameter* V1LayerParameter::release_dropout_param() {
49383   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.dropout_param)
49384   clear_has_dropout_param();
49385   ::opencv_caffe::DropoutParameter* temp = dropout_param_;
49386   dropout_param_ = NULL;
49387   return temp;
49388 }
49389 void V1LayerParameter::set_allocated_dropout_param(::opencv_caffe::DropoutParameter* dropout_param) {
49390   delete dropout_param_;
49391   dropout_param_ = dropout_param;
49392   if (dropout_param) {
49393     set_has_dropout_param();
49394   } else {
49395     clear_has_dropout_param();
49396   }
49397   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.dropout_param)
49398 }
49399
49400 // optional .opencv_caffe.DummyDataParameter dummy_data_param = 26;
49401 bool V1LayerParameter::has_dummy_data_param() const {
49402   return (_has_bits_[0] & 0x00080000u) != 0;
49403 }
49404 void V1LayerParameter::set_has_dummy_data_param() {
49405   _has_bits_[0] |= 0x00080000u;
49406 }
49407 void V1LayerParameter::clear_has_dummy_data_param() {
49408   _has_bits_[0] &= ~0x00080000u;
49409 }
49410 void V1LayerParameter::clear_dummy_data_param() {
49411   if (dummy_data_param_ != NULL) dummy_data_param_->::opencv_caffe::DummyDataParameter::Clear();
49412   clear_has_dummy_data_param();
49413 }
49414 const ::opencv_caffe::DummyDataParameter& V1LayerParameter::dummy_data_param() const {
49415   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.dummy_data_param)
49416   return dummy_data_param_ != NULL ? *dummy_data_param_
49417                          : *::opencv_caffe::DummyDataParameter::internal_default_instance();
49418 }
49419 ::opencv_caffe::DummyDataParameter* V1LayerParameter::mutable_dummy_data_param() {
49420   set_has_dummy_data_param();
49421   if (dummy_data_param_ == NULL) {
49422     dummy_data_param_ = new ::opencv_caffe::DummyDataParameter;
49423   }
49424   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.dummy_data_param)
49425   return dummy_data_param_;
49426 }
49427 ::opencv_caffe::DummyDataParameter* V1LayerParameter::release_dummy_data_param() {
49428   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.dummy_data_param)
49429   clear_has_dummy_data_param();
49430   ::opencv_caffe::DummyDataParameter* temp = dummy_data_param_;
49431   dummy_data_param_ = NULL;
49432   return temp;
49433 }
49434 void V1LayerParameter::set_allocated_dummy_data_param(::opencv_caffe::DummyDataParameter* dummy_data_param) {
49435   delete dummy_data_param_;
49436   dummy_data_param_ = dummy_data_param;
49437   if (dummy_data_param) {
49438     set_has_dummy_data_param();
49439   } else {
49440     clear_has_dummy_data_param();
49441   }
49442   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.dummy_data_param)
49443 }
49444
49445 // optional .opencv_caffe.EltwiseParameter eltwise_param = 24;
49446 bool V1LayerParameter::has_eltwise_param() const {
49447   return (_has_bits_[0] & 0x00100000u) != 0;
49448 }
49449 void V1LayerParameter::set_has_eltwise_param() {
49450   _has_bits_[0] |= 0x00100000u;
49451 }
49452 void V1LayerParameter::clear_has_eltwise_param() {
49453   _has_bits_[0] &= ~0x00100000u;
49454 }
49455 void V1LayerParameter::clear_eltwise_param() {
49456   if (eltwise_param_ != NULL) eltwise_param_->::opencv_caffe::EltwiseParameter::Clear();
49457   clear_has_eltwise_param();
49458 }
49459 const ::opencv_caffe::EltwiseParameter& V1LayerParameter::eltwise_param() const {
49460   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.eltwise_param)
49461   return eltwise_param_ != NULL ? *eltwise_param_
49462                          : *::opencv_caffe::EltwiseParameter::internal_default_instance();
49463 }
49464 ::opencv_caffe::EltwiseParameter* V1LayerParameter::mutable_eltwise_param() {
49465   set_has_eltwise_param();
49466   if (eltwise_param_ == NULL) {
49467     eltwise_param_ = new ::opencv_caffe::EltwiseParameter;
49468   }
49469   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.eltwise_param)
49470   return eltwise_param_;
49471 }
49472 ::opencv_caffe::EltwiseParameter* V1LayerParameter::release_eltwise_param() {
49473   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.eltwise_param)
49474   clear_has_eltwise_param();
49475   ::opencv_caffe::EltwiseParameter* temp = eltwise_param_;
49476   eltwise_param_ = NULL;
49477   return temp;
49478 }
49479 void V1LayerParameter::set_allocated_eltwise_param(::opencv_caffe::EltwiseParameter* eltwise_param) {
49480   delete eltwise_param_;
49481   eltwise_param_ = eltwise_param;
49482   if (eltwise_param) {
49483     set_has_eltwise_param();
49484   } else {
49485     clear_has_eltwise_param();
49486   }
49487   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.eltwise_param)
49488 }
49489
49490 // optional .opencv_caffe.ExpParameter exp_param = 41;
49491 bool V1LayerParameter::has_exp_param() const {
49492   return (_has_bits_[0] & 0x00200000u) != 0;
49493 }
49494 void V1LayerParameter::set_has_exp_param() {
49495   _has_bits_[0] |= 0x00200000u;
49496 }
49497 void V1LayerParameter::clear_has_exp_param() {
49498   _has_bits_[0] &= ~0x00200000u;
49499 }
49500 void V1LayerParameter::clear_exp_param() {
49501   if (exp_param_ != NULL) exp_param_->::opencv_caffe::ExpParameter::Clear();
49502   clear_has_exp_param();
49503 }
49504 const ::opencv_caffe::ExpParameter& V1LayerParameter::exp_param() const {
49505   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.exp_param)
49506   return exp_param_ != NULL ? *exp_param_
49507                          : *::opencv_caffe::ExpParameter::internal_default_instance();
49508 }
49509 ::opencv_caffe::ExpParameter* V1LayerParameter::mutable_exp_param() {
49510   set_has_exp_param();
49511   if (exp_param_ == NULL) {
49512     exp_param_ = new ::opencv_caffe::ExpParameter;
49513   }
49514   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.exp_param)
49515   return exp_param_;
49516 }
49517 ::opencv_caffe::ExpParameter* V1LayerParameter::release_exp_param() {
49518   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.exp_param)
49519   clear_has_exp_param();
49520   ::opencv_caffe::ExpParameter* temp = exp_param_;
49521   exp_param_ = NULL;
49522   return temp;
49523 }
49524 void V1LayerParameter::set_allocated_exp_param(::opencv_caffe::ExpParameter* exp_param) {
49525   delete exp_param_;
49526   exp_param_ = exp_param;
49527   if (exp_param) {
49528     set_has_exp_param();
49529   } else {
49530     clear_has_exp_param();
49531   }
49532   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.exp_param)
49533 }
49534
49535 // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 13;
49536 bool V1LayerParameter::has_hdf5_data_param() const {
49537   return (_has_bits_[0] & 0x00400000u) != 0;
49538 }
49539 void V1LayerParameter::set_has_hdf5_data_param() {
49540   _has_bits_[0] |= 0x00400000u;
49541 }
49542 void V1LayerParameter::clear_has_hdf5_data_param() {
49543   _has_bits_[0] &= ~0x00400000u;
49544 }
49545 void V1LayerParameter::clear_hdf5_data_param() {
49546   if (hdf5_data_param_ != NULL) hdf5_data_param_->::opencv_caffe::HDF5DataParameter::Clear();
49547   clear_has_hdf5_data_param();
49548 }
49549 const ::opencv_caffe::HDF5DataParameter& V1LayerParameter::hdf5_data_param() const {
49550   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.hdf5_data_param)
49551   return hdf5_data_param_ != NULL ? *hdf5_data_param_
49552                          : *::opencv_caffe::HDF5DataParameter::internal_default_instance();
49553 }
49554 ::opencv_caffe::HDF5DataParameter* V1LayerParameter::mutable_hdf5_data_param() {
49555   set_has_hdf5_data_param();
49556   if (hdf5_data_param_ == NULL) {
49557     hdf5_data_param_ = new ::opencv_caffe::HDF5DataParameter;
49558   }
49559   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.hdf5_data_param)
49560   return hdf5_data_param_;
49561 }
49562 ::opencv_caffe::HDF5DataParameter* V1LayerParameter::release_hdf5_data_param() {
49563   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.hdf5_data_param)
49564   clear_has_hdf5_data_param();
49565   ::opencv_caffe::HDF5DataParameter* temp = hdf5_data_param_;
49566   hdf5_data_param_ = NULL;
49567   return temp;
49568 }
49569 void V1LayerParameter::set_allocated_hdf5_data_param(::opencv_caffe::HDF5DataParameter* hdf5_data_param) {
49570   delete hdf5_data_param_;
49571   hdf5_data_param_ = hdf5_data_param;
49572   if (hdf5_data_param) {
49573     set_has_hdf5_data_param();
49574   } else {
49575     clear_has_hdf5_data_param();
49576   }
49577   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.hdf5_data_param)
49578 }
49579
49580 // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 14;
49581 bool V1LayerParameter::has_hdf5_output_param() const {
49582   return (_has_bits_[0] & 0x00800000u) != 0;
49583 }
49584 void V1LayerParameter::set_has_hdf5_output_param() {
49585   _has_bits_[0] |= 0x00800000u;
49586 }
49587 void V1LayerParameter::clear_has_hdf5_output_param() {
49588   _has_bits_[0] &= ~0x00800000u;
49589 }
49590 void V1LayerParameter::clear_hdf5_output_param() {
49591   if (hdf5_output_param_ != NULL) hdf5_output_param_->::opencv_caffe::HDF5OutputParameter::Clear();
49592   clear_has_hdf5_output_param();
49593 }
49594 const ::opencv_caffe::HDF5OutputParameter& V1LayerParameter::hdf5_output_param() const {
49595   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.hdf5_output_param)
49596   return hdf5_output_param_ != NULL ? *hdf5_output_param_
49597                          : *::opencv_caffe::HDF5OutputParameter::internal_default_instance();
49598 }
49599 ::opencv_caffe::HDF5OutputParameter* V1LayerParameter::mutable_hdf5_output_param() {
49600   set_has_hdf5_output_param();
49601   if (hdf5_output_param_ == NULL) {
49602     hdf5_output_param_ = new ::opencv_caffe::HDF5OutputParameter;
49603   }
49604   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.hdf5_output_param)
49605   return hdf5_output_param_;
49606 }
49607 ::opencv_caffe::HDF5OutputParameter* V1LayerParameter::release_hdf5_output_param() {
49608   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.hdf5_output_param)
49609   clear_has_hdf5_output_param();
49610   ::opencv_caffe::HDF5OutputParameter* temp = hdf5_output_param_;
49611   hdf5_output_param_ = NULL;
49612   return temp;
49613 }
49614 void V1LayerParameter::set_allocated_hdf5_output_param(::opencv_caffe::HDF5OutputParameter* hdf5_output_param) {
49615   delete hdf5_output_param_;
49616   hdf5_output_param_ = hdf5_output_param;
49617   if (hdf5_output_param) {
49618     set_has_hdf5_output_param();
49619   } else {
49620     clear_has_hdf5_output_param();
49621   }
49622   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.hdf5_output_param)
49623 }
49624
49625 // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 29;
49626 bool V1LayerParameter::has_hinge_loss_param() const {
49627   return (_has_bits_[0] & 0x01000000u) != 0;
49628 }
49629 void V1LayerParameter::set_has_hinge_loss_param() {
49630   _has_bits_[0] |= 0x01000000u;
49631 }
49632 void V1LayerParameter::clear_has_hinge_loss_param() {
49633   _has_bits_[0] &= ~0x01000000u;
49634 }
49635 void V1LayerParameter::clear_hinge_loss_param() {
49636   if (hinge_loss_param_ != NULL) hinge_loss_param_->::opencv_caffe::HingeLossParameter::Clear();
49637   clear_has_hinge_loss_param();
49638 }
49639 const ::opencv_caffe::HingeLossParameter& V1LayerParameter::hinge_loss_param() const {
49640   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.hinge_loss_param)
49641   return hinge_loss_param_ != NULL ? *hinge_loss_param_
49642                          : *::opencv_caffe::HingeLossParameter::internal_default_instance();
49643 }
49644 ::opencv_caffe::HingeLossParameter* V1LayerParameter::mutable_hinge_loss_param() {
49645   set_has_hinge_loss_param();
49646   if (hinge_loss_param_ == NULL) {
49647     hinge_loss_param_ = new ::opencv_caffe::HingeLossParameter;
49648   }
49649   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.hinge_loss_param)
49650   return hinge_loss_param_;
49651 }
49652 ::opencv_caffe::HingeLossParameter* V1LayerParameter::release_hinge_loss_param() {
49653   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.hinge_loss_param)
49654   clear_has_hinge_loss_param();
49655   ::opencv_caffe::HingeLossParameter* temp = hinge_loss_param_;
49656   hinge_loss_param_ = NULL;
49657   return temp;
49658 }
49659 void V1LayerParameter::set_allocated_hinge_loss_param(::opencv_caffe::HingeLossParameter* hinge_loss_param) {
49660   delete hinge_loss_param_;
49661   hinge_loss_param_ = hinge_loss_param;
49662   if (hinge_loss_param) {
49663     set_has_hinge_loss_param();
49664   } else {
49665     clear_has_hinge_loss_param();
49666   }
49667   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.hinge_loss_param)
49668 }
49669
49670 // optional .opencv_caffe.ImageDataParameter image_data_param = 15;
49671 bool V1LayerParameter::has_image_data_param() const {
49672   return (_has_bits_[0] & 0x02000000u) != 0;
49673 }
49674 void V1LayerParameter::set_has_image_data_param() {
49675   _has_bits_[0] |= 0x02000000u;
49676 }
49677 void V1LayerParameter::clear_has_image_data_param() {
49678   _has_bits_[0] &= ~0x02000000u;
49679 }
49680 void V1LayerParameter::clear_image_data_param() {
49681   if (image_data_param_ != NULL) image_data_param_->::opencv_caffe::ImageDataParameter::Clear();
49682   clear_has_image_data_param();
49683 }
49684 const ::opencv_caffe::ImageDataParameter& V1LayerParameter::image_data_param() const {
49685   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.image_data_param)
49686   return image_data_param_ != NULL ? *image_data_param_
49687                          : *::opencv_caffe::ImageDataParameter::internal_default_instance();
49688 }
49689 ::opencv_caffe::ImageDataParameter* V1LayerParameter::mutable_image_data_param() {
49690   set_has_image_data_param();
49691   if (image_data_param_ == NULL) {
49692     image_data_param_ = new ::opencv_caffe::ImageDataParameter;
49693   }
49694   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.image_data_param)
49695   return image_data_param_;
49696 }
49697 ::opencv_caffe::ImageDataParameter* V1LayerParameter::release_image_data_param() {
49698   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.image_data_param)
49699   clear_has_image_data_param();
49700   ::opencv_caffe::ImageDataParameter* temp = image_data_param_;
49701   image_data_param_ = NULL;
49702   return temp;
49703 }
49704 void V1LayerParameter::set_allocated_image_data_param(::opencv_caffe::ImageDataParameter* image_data_param) {
49705   delete image_data_param_;
49706   image_data_param_ = image_data_param;
49707   if (image_data_param) {
49708     set_has_image_data_param();
49709   } else {
49710     clear_has_image_data_param();
49711   }
49712   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.image_data_param)
49713 }
49714
49715 // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 16;
49716 bool V1LayerParameter::has_infogain_loss_param() const {
49717   return (_has_bits_[0] & 0x04000000u) != 0;
49718 }
49719 void V1LayerParameter::set_has_infogain_loss_param() {
49720   _has_bits_[0] |= 0x04000000u;
49721 }
49722 void V1LayerParameter::clear_has_infogain_loss_param() {
49723   _has_bits_[0] &= ~0x04000000u;
49724 }
49725 void V1LayerParameter::clear_infogain_loss_param() {
49726   if (infogain_loss_param_ != NULL) infogain_loss_param_->::opencv_caffe::InfogainLossParameter::Clear();
49727   clear_has_infogain_loss_param();
49728 }
49729 const ::opencv_caffe::InfogainLossParameter& V1LayerParameter::infogain_loss_param() const {
49730   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.infogain_loss_param)
49731   return infogain_loss_param_ != NULL ? *infogain_loss_param_
49732                          : *::opencv_caffe::InfogainLossParameter::internal_default_instance();
49733 }
49734 ::opencv_caffe::InfogainLossParameter* V1LayerParameter::mutable_infogain_loss_param() {
49735   set_has_infogain_loss_param();
49736   if (infogain_loss_param_ == NULL) {
49737     infogain_loss_param_ = new ::opencv_caffe::InfogainLossParameter;
49738   }
49739   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.infogain_loss_param)
49740   return infogain_loss_param_;
49741 }
49742 ::opencv_caffe::InfogainLossParameter* V1LayerParameter::release_infogain_loss_param() {
49743   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.infogain_loss_param)
49744   clear_has_infogain_loss_param();
49745   ::opencv_caffe::InfogainLossParameter* temp = infogain_loss_param_;
49746   infogain_loss_param_ = NULL;
49747   return temp;
49748 }
49749 void V1LayerParameter::set_allocated_infogain_loss_param(::opencv_caffe::InfogainLossParameter* infogain_loss_param) {
49750   delete infogain_loss_param_;
49751   infogain_loss_param_ = infogain_loss_param;
49752   if (infogain_loss_param) {
49753     set_has_infogain_loss_param();
49754   } else {
49755     clear_has_infogain_loss_param();
49756   }
49757   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.infogain_loss_param)
49758 }
49759
49760 // optional .opencv_caffe.InnerProductParameter inner_product_param = 17;
49761 bool V1LayerParameter::has_inner_product_param() const {
49762   return (_has_bits_[0] & 0x08000000u) != 0;
49763 }
49764 void V1LayerParameter::set_has_inner_product_param() {
49765   _has_bits_[0] |= 0x08000000u;
49766 }
49767 void V1LayerParameter::clear_has_inner_product_param() {
49768   _has_bits_[0] &= ~0x08000000u;
49769 }
49770 void V1LayerParameter::clear_inner_product_param() {
49771   if (inner_product_param_ != NULL) inner_product_param_->::opencv_caffe::InnerProductParameter::Clear();
49772   clear_has_inner_product_param();
49773 }
49774 const ::opencv_caffe::InnerProductParameter& V1LayerParameter::inner_product_param() const {
49775   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.inner_product_param)
49776   return inner_product_param_ != NULL ? *inner_product_param_
49777                          : *::opencv_caffe::InnerProductParameter::internal_default_instance();
49778 }
49779 ::opencv_caffe::InnerProductParameter* V1LayerParameter::mutable_inner_product_param() {
49780   set_has_inner_product_param();
49781   if (inner_product_param_ == NULL) {
49782     inner_product_param_ = new ::opencv_caffe::InnerProductParameter;
49783   }
49784   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.inner_product_param)
49785   return inner_product_param_;
49786 }
49787 ::opencv_caffe::InnerProductParameter* V1LayerParameter::release_inner_product_param() {
49788   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.inner_product_param)
49789   clear_has_inner_product_param();
49790   ::opencv_caffe::InnerProductParameter* temp = inner_product_param_;
49791   inner_product_param_ = NULL;
49792   return temp;
49793 }
49794 void V1LayerParameter::set_allocated_inner_product_param(::opencv_caffe::InnerProductParameter* inner_product_param) {
49795   delete inner_product_param_;
49796   inner_product_param_ = inner_product_param;
49797   if (inner_product_param) {
49798     set_has_inner_product_param();
49799   } else {
49800     clear_has_inner_product_param();
49801   }
49802   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.inner_product_param)
49803 }
49804
49805 // optional .opencv_caffe.LRNParameter lrn_param = 18;
49806 bool V1LayerParameter::has_lrn_param() const {
49807   return (_has_bits_[0] & 0x10000000u) != 0;
49808 }
49809 void V1LayerParameter::set_has_lrn_param() {
49810   _has_bits_[0] |= 0x10000000u;
49811 }
49812 void V1LayerParameter::clear_has_lrn_param() {
49813   _has_bits_[0] &= ~0x10000000u;
49814 }
49815 void V1LayerParameter::clear_lrn_param() {
49816   if (lrn_param_ != NULL) lrn_param_->::opencv_caffe::LRNParameter::Clear();
49817   clear_has_lrn_param();
49818 }
49819 const ::opencv_caffe::LRNParameter& V1LayerParameter::lrn_param() const {
49820   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.lrn_param)
49821   return lrn_param_ != NULL ? *lrn_param_
49822                          : *::opencv_caffe::LRNParameter::internal_default_instance();
49823 }
49824 ::opencv_caffe::LRNParameter* V1LayerParameter::mutable_lrn_param() {
49825   set_has_lrn_param();
49826   if (lrn_param_ == NULL) {
49827     lrn_param_ = new ::opencv_caffe::LRNParameter;
49828   }
49829   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.lrn_param)
49830   return lrn_param_;
49831 }
49832 ::opencv_caffe::LRNParameter* V1LayerParameter::release_lrn_param() {
49833   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.lrn_param)
49834   clear_has_lrn_param();
49835   ::opencv_caffe::LRNParameter* temp = lrn_param_;
49836   lrn_param_ = NULL;
49837   return temp;
49838 }
49839 void V1LayerParameter::set_allocated_lrn_param(::opencv_caffe::LRNParameter* lrn_param) {
49840   delete lrn_param_;
49841   lrn_param_ = lrn_param;
49842   if (lrn_param) {
49843     set_has_lrn_param();
49844   } else {
49845     clear_has_lrn_param();
49846   }
49847   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.lrn_param)
49848 }
49849
49850 // optional .opencv_caffe.MemoryDataParameter memory_data_param = 22;
49851 bool V1LayerParameter::has_memory_data_param() const {
49852   return (_has_bits_[0] & 0x20000000u) != 0;
49853 }
49854 void V1LayerParameter::set_has_memory_data_param() {
49855   _has_bits_[0] |= 0x20000000u;
49856 }
49857 void V1LayerParameter::clear_has_memory_data_param() {
49858   _has_bits_[0] &= ~0x20000000u;
49859 }
49860 void V1LayerParameter::clear_memory_data_param() {
49861   if (memory_data_param_ != NULL) memory_data_param_->::opencv_caffe::MemoryDataParameter::Clear();
49862   clear_has_memory_data_param();
49863 }
49864 const ::opencv_caffe::MemoryDataParameter& V1LayerParameter::memory_data_param() const {
49865   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.memory_data_param)
49866   return memory_data_param_ != NULL ? *memory_data_param_
49867                          : *::opencv_caffe::MemoryDataParameter::internal_default_instance();
49868 }
49869 ::opencv_caffe::MemoryDataParameter* V1LayerParameter::mutable_memory_data_param() {
49870   set_has_memory_data_param();
49871   if (memory_data_param_ == NULL) {
49872     memory_data_param_ = new ::opencv_caffe::MemoryDataParameter;
49873   }
49874   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.memory_data_param)
49875   return memory_data_param_;
49876 }
49877 ::opencv_caffe::MemoryDataParameter* V1LayerParameter::release_memory_data_param() {
49878   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.memory_data_param)
49879   clear_has_memory_data_param();
49880   ::opencv_caffe::MemoryDataParameter* temp = memory_data_param_;
49881   memory_data_param_ = NULL;
49882   return temp;
49883 }
49884 void V1LayerParameter::set_allocated_memory_data_param(::opencv_caffe::MemoryDataParameter* memory_data_param) {
49885   delete memory_data_param_;
49886   memory_data_param_ = memory_data_param;
49887   if (memory_data_param) {
49888     set_has_memory_data_param();
49889   } else {
49890     clear_has_memory_data_param();
49891   }
49892   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.memory_data_param)
49893 }
49894
49895 // optional .opencv_caffe.MVNParameter mvn_param = 34;
49896 bool V1LayerParameter::has_mvn_param() const {
49897   return (_has_bits_[0] & 0x40000000u) != 0;
49898 }
49899 void V1LayerParameter::set_has_mvn_param() {
49900   _has_bits_[0] |= 0x40000000u;
49901 }
49902 void V1LayerParameter::clear_has_mvn_param() {
49903   _has_bits_[0] &= ~0x40000000u;
49904 }
49905 void V1LayerParameter::clear_mvn_param() {
49906   if (mvn_param_ != NULL) mvn_param_->::opencv_caffe::MVNParameter::Clear();
49907   clear_has_mvn_param();
49908 }
49909 const ::opencv_caffe::MVNParameter& V1LayerParameter::mvn_param() const {
49910   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.mvn_param)
49911   return mvn_param_ != NULL ? *mvn_param_
49912                          : *::opencv_caffe::MVNParameter::internal_default_instance();
49913 }
49914 ::opencv_caffe::MVNParameter* V1LayerParameter::mutable_mvn_param() {
49915   set_has_mvn_param();
49916   if (mvn_param_ == NULL) {
49917     mvn_param_ = new ::opencv_caffe::MVNParameter;
49918   }
49919   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.mvn_param)
49920   return mvn_param_;
49921 }
49922 ::opencv_caffe::MVNParameter* V1LayerParameter::release_mvn_param() {
49923   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.mvn_param)
49924   clear_has_mvn_param();
49925   ::opencv_caffe::MVNParameter* temp = mvn_param_;
49926   mvn_param_ = NULL;
49927   return temp;
49928 }
49929 void V1LayerParameter::set_allocated_mvn_param(::opencv_caffe::MVNParameter* mvn_param) {
49930   delete mvn_param_;
49931   mvn_param_ = mvn_param;
49932   if (mvn_param) {
49933     set_has_mvn_param();
49934   } else {
49935     clear_has_mvn_param();
49936   }
49937   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.mvn_param)
49938 }
49939
49940 // optional .opencv_caffe.PoolingParameter pooling_param = 19;
49941 bool V1LayerParameter::has_pooling_param() const {
49942   return (_has_bits_[0] & 0x80000000u) != 0;
49943 }
49944 void V1LayerParameter::set_has_pooling_param() {
49945   _has_bits_[0] |= 0x80000000u;
49946 }
49947 void V1LayerParameter::clear_has_pooling_param() {
49948   _has_bits_[0] &= ~0x80000000u;
49949 }
49950 void V1LayerParameter::clear_pooling_param() {
49951   if (pooling_param_ != NULL) pooling_param_->::opencv_caffe::PoolingParameter::Clear();
49952   clear_has_pooling_param();
49953 }
49954 const ::opencv_caffe::PoolingParameter& V1LayerParameter::pooling_param() const {
49955   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.pooling_param)
49956   return pooling_param_ != NULL ? *pooling_param_
49957                          : *::opencv_caffe::PoolingParameter::internal_default_instance();
49958 }
49959 ::opencv_caffe::PoolingParameter* V1LayerParameter::mutable_pooling_param() {
49960   set_has_pooling_param();
49961   if (pooling_param_ == NULL) {
49962     pooling_param_ = new ::opencv_caffe::PoolingParameter;
49963   }
49964   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.pooling_param)
49965   return pooling_param_;
49966 }
49967 ::opencv_caffe::PoolingParameter* V1LayerParameter::release_pooling_param() {
49968   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.pooling_param)
49969   clear_has_pooling_param();
49970   ::opencv_caffe::PoolingParameter* temp = pooling_param_;
49971   pooling_param_ = NULL;
49972   return temp;
49973 }
49974 void V1LayerParameter::set_allocated_pooling_param(::opencv_caffe::PoolingParameter* pooling_param) {
49975   delete pooling_param_;
49976   pooling_param_ = pooling_param;
49977   if (pooling_param) {
49978     set_has_pooling_param();
49979   } else {
49980     clear_has_pooling_param();
49981   }
49982   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.pooling_param)
49983 }
49984
49985 // optional .opencv_caffe.PowerParameter power_param = 21;
49986 bool V1LayerParameter::has_power_param() const {
49987   return (_has_bits_[1] & 0x00000001u) != 0;
49988 }
49989 void V1LayerParameter::set_has_power_param() {
49990   _has_bits_[1] |= 0x00000001u;
49991 }
49992 void V1LayerParameter::clear_has_power_param() {
49993   _has_bits_[1] &= ~0x00000001u;
49994 }
49995 void V1LayerParameter::clear_power_param() {
49996   if (power_param_ != NULL) power_param_->::opencv_caffe::PowerParameter::Clear();
49997   clear_has_power_param();
49998 }
49999 const ::opencv_caffe::PowerParameter& V1LayerParameter::power_param() const {
50000   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.power_param)
50001   return power_param_ != NULL ? *power_param_
50002                          : *::opencv_caffe::PowerParameter::internal_default_instance();
50003 }
50004 ::opencv_caffe::PowerParameter* V1LayerParameter::mutable_power_param() {
50005   set_has_power_param();
50006   if (power_param_ == NULL) {
50007     power_param_ = new ::opencv_caffe::PowerParameter;
50008   }
50009   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.power_param)
50010   return power_param_;
50011 }
50012 ::opencv_caffe::PowerParameter* V1LayerParameter::release_power_param() {
50013   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.power_param)
50014   clear_has_power_param();
50015   ::opencv_caffe::PowerParameter* temp = power_param_;
50016   power_param_ = NULL;
50017   return temp;
50018 }
50019 void V1LayerParameter::set_allocated_power_param(::opencv_caffe::PowerParameter* power_param) {
50020   delete power_param_;
50021   power_param_ = power_param;
50022   if (power_param) {
50023     set_has_power_param();
50024   } else {
50025     clear_has_power_param();
50026   }
50027   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.power_param)
50028 }
50029
50030 // optional .opencv_caffe.ReLUParameter relu_param = 30;
50031 bool V1LayerParameter::has_relu_param() const {
50032   return (_has_bits_[1] & 0x00000002u) != 0;
50033 }
50034 void V1LayerParameter::set_has_relu_param() {
50035   _has_bits_[1] |= 0x00000002u;
50036 }
50037 void V1LayerParameter::clear_has_relu_param() {
50038   _has_bits_[1] &= ~0x00000002u;
50039 }
50040 void V1LayerParameter::clear_relu_param() {
50041   if (relu_param_ != NULL) relu_param_->::opencv_caffe::ReLUParameter::Clear();
50042   clear_has_relu_param();
50043 }
50044 const ::opencv_caffe::ReLUParameter& V1LayerParameter::relu_param() const {
50045   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.relu_param)
50046   return relu_param_ != NULL ? *relu_param_
50047                          : *::opencv_caffe::ReLUParameter::internal_default_instance();
50048 }
50049 ::opencv_caffe::ReLUParameter* V1LayerParameter::mutable_relu_param() {
50050   set_has_relu_param();
50051   if (relu_param_ == NULL) {
50052     relu_param_ = new ::opencv_caffe::ReLUParameter;
50053   }
50054   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.relu_param)
50055   return relu_param_;
50056 }
50057 ::opencv_caffe::ReLUParameter* V1LayerParameter::release_relu_param() {
50058   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.relu_param)
50059   clear_has_relu_param();
50060   ::opencv_caffe::ReLUParameter* temp = relu_param_;
50061   relu_param_ = NULL;
50062   return temp;
50063 }
50064 void V1LayerParameter::set_allocated_relu_param(::opencv_caffe::ReLUParameter* relu_param) {
50065   delete relu_param_;
50066   relu_param_ = relu_param;
50067   if (relu_param) {
50068     set_has_relu_param();
50069   } else {
50070     clear_has_relu_param();
50071   }
50072   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.relu_param)
50073 }
50074
50075 // optional .opencv_caffe.SigmoidParameter sigmoid_param = 38;
50076 bool V1LayerParameter::has_sigmoid_param() const {
50077   return (_has_bits_[1] & 0x00000004u) != 0;
50078 }
50079 void V1LayerParameter::set_has_sigmoid_param() {
50080   _has_bits_[1] |= 0x00000004u;
50081 }
50082 void V1LayerParameter::clear_has_sigmoid_param() {
50083   _has_bits_[1] &= ~0x00000004u;
50084 }
50085 void V1LayerParameter::clear_sigmoid_param() {
50086   if (sigmoid_param_ != NULL) sigmoid_param_->::opencv_caffe::SigmoidParameter::Clear();
50087   clear_has_sigmoid_param();
50088 }
50089 const ::opencv_caffe::SigmoidParameter& V1LayerParameter::sigmoid_param() const {
50090   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.sigmoid_param)
50091   return sigmoid_param_ != NULL ? *sigmoid_param_
50092                          : *::opencv_caffe::SigmoidParameter::internal_default_instance();
50093 }
50094 ::opencv_caffe::SigmoidParameter* V1LayerParameter::mutable_sigmoid_param() {
50095   set_has_sigmoid_param();
50096   if (sigmoid_param_ == NULL) {
50097     sigmoid_param_ = new ::opencv_caffe::SigmoidParameter;
50098   }
50099   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.sigmoid_param)
50100   return sigmoid_param_;
50101 }
50102 ::opencv_caffe::SigmoidParameter* V1LayerParameter::release_sigmoid_param() {
50103   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.sigmoid_param)
50104   clear_has_sigmoid_param();
50105   ::opencv_caffe::SigmoidParameter* temp = sigmoid_param_;
50106   sigmoid_param_ = NULL;
50107   return temp;
50108 }
50109 void V1LayerParameter::set_allocated_sigmoid_param(::opencv_caffe::SigmoidParameter* sigmoid_param) {
50110   delete sigmoid_param_;
50111   sigmoid_param_ = sigmoid_param;
50112   if (sigmoid_param) {
50113     set_has_sigmoid_param();
50114   } else {
50115     clear_has_sigmoid_param();
50116   }
50117   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.sigmoid_param)
50118 }
50119
50120 // optional .opencv_caffe.SoftmaxParameter softmax_param = 39;
50121 bool V1LayerParameter::has_softmax_param() const {
50122   return (_has_bits_[1] & 0x00000008u) != 0;
50123 }
50124 void V1LayerParameter::set_has_softmax_param() {
50125   _has_bits_[1] |= 0x00000008u;
50126 }
50127 void V1LayerParameter::clear_has_softmax_param() {
50128   _has_bits_[1] &= ~0x00000008u;
50129 }
50130 void V1LayerParameter::clear_softmax_param() {
50131   if (softmax_param_ != NULL) softmax_param_->::opencv_caffe::SoftmaxParameter::Clear();
50132   clear_has_softmax_param();
50133 }
50134 const ::opencv_caffe::SoftmaxParameter& V1LayerParameter::softmax_param() const {
50135   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.softmax_param)
50136   return softmax_param_ != NULL ? *softmax_param_
50137                          : *::opencv_caffe::SoftmaxParameter::internal_default_instance();
50138 }
50139 ::opencv_caffe::SoftmaxParameter* V1LayerParameter::mutable_softmax_param() {
50140   set_has_softmax_param();
50141   if (softmax_param_ == NULL) {
50142     softmax_param_ = new ::opencv_caffe::SoftmaxParameter;
50143   }
50144   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.softmax_param)
50145   return softmax_param_;
50146 }
50147 ::opencv_caffe::SoftmaxParameter* V1LayerParameter::release_softmax_param() {
50148   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.softmax_param)
50149   clear_has_softmax_param();
50150   ::opencv_caffe::SoftmaxParameter* temp = softmax_param_;
50151   softmax_param_ = NULL;
50152   return temp;
50153 }
50154 void V1LayerParameter::set_allocated_softmax_param(::opencv_caffe::SoftmaxParameter* softmax_param) {
50155   delete softmax_param_;
50156   softmax_param_ = softmax_param;
50157   if (softmax_param) {
50158     set_has_softmax_param();
50159   } else {
50160     clear_has_softmax_param();
50161   }
50162   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.softmax_param)
50163 }
50164
50165 // optional .opencv_caffe.SliceParameter slice_param = 31;
50166 bool V1LayerParameter::has_slice_param() const {
50167   return (_has_bits_[1] & 0x00000010u) != 0;
50168 }
50169 void V1LayerParameter::set_has_slice_param() {
50170   _has_bits_[1] |= 0x00000010u;
50171 }
50172 void V1LayerParameter::clear_has_slice_param() {
50173   _has_bits_[1] &= ~0x00000010u;
50174 }
50175 void V1LayerParameter::clear_slice_param() {
50176   if (slice_param_ != NULL) slice_param_->::opencv_caffe::SliceParameter::Clear();
50177   clear_has_slice_param();
50178 }
50179 const ::opencv_caffe::SliceParameter& V1LayerParameter::slice_param() const {
50180   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.slice_param)
50181   return slice_param_ != NULL ? *slice_param_
50182                          : *::opencv_caffe::SliceParameter::internal_default_instance();
50183 }
50184 ::opencv_caffe::SliceParameter* V1LayerParameter::mutable_slice_param() {
50185   set_has_slice_param();
50186   if (slice_param_ == NULL) {
50187     slice_param_ = new ::opencv_caffe::SliceParameter;
50188   }
50189   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.slice_param)
50190   return slice_param_;
50191 }
50192 ::opencv_caffe::SliceParameter* V1LayerParameter::release_slice_param() {
50193   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.slice_param)
50194   clear_has_slice_param();
50195   ::opencv_caffe::SliceParameter* temp = slice_param_;
50196   slice_param_ = NULL;
50197   return temp;
50198 }
50199 void V1LayerParameter::set_allocated_slice_param(::opencv_caffe::SliceParameter* slice_param) {
50200   delete slice_param_;
50201   slice_param_ = slice_param;
50202   if (slice_param) {
50203     set_has_slice_param();
50204   } else {
50205     clear_has_slice_param();
50206   }
50207   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.slice_param)
50208 }
50209
50210 // optional .opencv_caffe.TanHParameter tanh_param = 37;
50211 bool V1LayerParameter::has_tanh_param() const {
50212   return (_has_bits_[1] & 0x00000020u) != 0;
50213 }
50214 void V1LayerParameter::set_has_tanh_param() {
50215   _has_bits_[1] |= 0x00000020u;
50216 }
50217 void V1LayerParameter::clear_has_tanh_param() {
50218   _has_bits_[1] &= ~0x00000020u;
50219 }
50220 void V1LayerParameter::clear_tanh_param() {
50221   if (tanh_param_ != NULL) tanh_param_->::opencv_caffe::TanHParameter::Clear();
50222   clear_has_tanh_param();
50223 }
50224 const ::opencv_caffe::TanHParameter& V1LayerParameter::tanh_param() const {
50225   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.tanh_param)
50226   return tanh_param_ != NULL ? *tanh_param_
50227                          : *::opencv_caffe::TanHParameter::internal_default_instance();
50228 }
50229 ::opencv_caffe::TanHParameter* V1LayerParameter::mutable_tanh_param() {
50230   set_has_tanh_param();
50231   if (tanh_param_ == NULL) {
50232     tanh_param_ = new ::opencv_caffe::TanHParameter;
50233   }
50234   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.tanh_param)
50235   return tanh_param_;
50236 }
50237 ::opencv_caffe::TanHParameter* V1LayerParameter::release_tanh_param() {
50238   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.tanh_param)
50239   clear_has_tanh_param();
50240   ::opencv_caffe::TanHParameter* temp = tanh_param_;
50241   tanh_param_ = NULL;
50242   return temp;
50243 }
50244 void V1LayerParameter::set_allocated_tanh_param(::opencv_caffe::TanHParameter* tanh_param) {
50245   delete tanh_param_;
50246   tanh_param_ = tanh_param;
50247   if (tanh_param) {
50248     set_has_tanh_param();
50249   } else {
50250     clear_has_tanh_param();
50251   }
50252   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.tanh_param)
50253 }
50254
50255 // optional .opencv_caffe.ThresholdParameter threshold_param = 25;
50256 bool V1LayerParameter::has_threshold_param() const {
50257   return (_has_bits_[1] & 0x00000040u) != 0;
50258 }
50259 void V1LayerParameter::set_has_threshold_param() {
50260   _has_bits_[1] |= 0x00000040u;
50261 }
50262 void V1LayerParameter::clear_has_threshold_param() {
50263   _has_bits_[1] &= ~0x00000040u;
50264 }
50265 void V1LayerParameter::clear_threshold_param() {
50266   if (threshold_param_ != NULL) threshold_param_->::opencv_caffe::ThresholdParameter::Clear();
50267   clear_has_threshold_param();
50268 }
50269 const ::opencv_caffe::ThresholdParameter& V1LayerParameter::threshold_param() const {
50270   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.threshold_param)
50271   return threshold_param_ != NULL ? *threshold_param_
50272                          : *::opencv_caffe::ThresholdParameter::internal_default_instance();
50273 }
50274 ::opencv_caffe::ThresholdParameter* V1LayerParameter::mutable_threshold_param() {
50275   set_has_threshold_param();
50276   if (threshold_param_ == NULL) {
50277     threshold_param_ = new ::opencv_caffe::ThresholdParameter;
50278   }
50279   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.threshold_param)
50280   return threshold_param_;
50281 }
50282 ::opencv_caffe::ThresholdParameter* V1LayerParameter::release_threshold_param() {
50283   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.threshold_param)
50284   clear_has_threshold_param();
50285   ::opencv_caffe::ThresholdParameter* temp = threshold_param_;
50286   threshold_param_ = NULL;
50287   return temp;
50288 }
50289 void V1LayerParameter::set_allocated_threshold_param(::opencv_caffe::ThresholdParameter* threshold_param) {
50290   delete threshold_param_;
50291   threshold_param_ = threshold_param;
50292   if (threshold_param) {
50293     set_has_threshold_param();
50294   } else {
50295     clear_has_threshold_param();
50296   }
50297   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.threshold_param)
50298 }
50299
50300 // optional .opencv_caffe.WindowDataParameter window_data_param = 20;
50301 bool V1LayerParameter::has_window_data_param() const {
50302   return (_has_bits_[1] & 0x00000080u) != 0;
50303 }
50304 void V1LayerParameter::set_has_window_data_param() {
50305   _has_bits_[1] |= 0x00000080u;
50306 }
50307 void V1LayerParameter::clear_has_window_data_param() {
50308   _has_bits_[1] &= ~0x00000080u;
50309 }
50310 void V1LayerParameter::clear_window_data_param() {
50311   if (window_data_param_ != NULL) window_data_param_->::opencv_caffe::WindowDataParameter::Clear();
50312   clear_has_window_data_param();
50313 }
50314 const ::opencv_caffe::WindowDataParameter& V1LayerParameter::window_data_param() const {
50315   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.window_data_param)
50316   return window_data_param_ != NULL ? *window_data_param_
50317                          : *::opencv_caffe::WindowDataParameter::internal_default_instance();
50318 }
50319 ::opencv_caffe::WindowDataParameter* V1LayerParameter::mutable_window_data_param() {
50320   set_has_window_data_param();
50321   if (window_data_param_ == NULL) {
50322     window_data_param_ = new ::opencv_caffe::WindowDataParameter;
50323   }
50324   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.window_data_param)
50325   return window_data_param_;
50326 }
50327 ::opencv_caffe::WindowDataParameter* V1LayerParameter::release_window_data_param() {
50328   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.window_data_param)
50329   clear_has_window_data_param();
50330   ::opencv_caffe::WindowDataParameter* temp = window_data_param_;
50331   window_data_param_ = NULL;
50332   return temp;
50333 }
50334 void V1LayerParameter::set_allocated_window_data_param(::opencv_caffe::WindowDataParameter* window_data_param) {
50335   delete window_data_param_;
50336   window_data_param_ = window_data_param;
50337   if (window_data_param) {
50338     set_has_window_data_param();
50339   } else {
50340     clear_has_window_data_param();
50341   }
50342   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.window_data_param)
50343 }
50344
50345 // optional .opencv_caffe.TransformationParameter transform_param = 36;
50346 bool V1LayerParameter::has_transform_param() const {
50347   return (_has_bits_[1] & 0x00000100u) != 0;
50348 }
50349 void V1LayerParameter::set_has_transform_param() {
50350   _has_bits_[1] |= 0x00000100u;
50351 }
50352 void V1LayerParameter::clear_has_transform_param() {
50353   _has_bits_[1] &= ~0x00000100u;
50354 }
50355 void V1LayerParameter::clear_transform_param() {
50356   if (transform_param_ != NULL) transform_param_->::opencv_caffe::TransformationParameter::Clear();
50357   clear_has_transform_param();
50358 }
50359 const ::opencv_caffe::TransformationParameter& V1LayerParameter::transform_param() const {
50360   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.transform_param)
50361   return transform_param_ != NULL ? *transform_param_
50362                          : *::opencv_caffe::TransformationParameter::internal_default_instance();
50363 }
50364 ::opencv_caffe::TransformationParameter* V1LayerParameter::mutable_transform_param() {
50365   set_has_transform_param();
50366   if (transform_param_ == NULL) {
50367     transform_param_ = new ::opencv_caffe::TransformationParameter;
50368   }
50369   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.transform_param)
50370   return transform_param_;
50371 }
50372 ::opencv_caffe::TransformationParameter* V1LayerParameter::release_transform_param() {
50373   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.transform_param)
50374   clear_has_transform_param();
50375   ::opencv_caffe::TransformationParameter* temp = transform_param_;
50376   transform_param_ = NULL;
50377   return temp;
50378 }
50379 void V1LayerParameter::set_allocated_transform_param(::opencv_caffe::TransformationParameter* transform_param) {
50380   delete transform_param_;
50381   transform_param_ = transform_param;
50382   if (transform_param) {
50383     set_has_transform_param();
50384   } else {
50385     clear_has_transform_param();
50386   }
50387   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.transform_param)
50388 }
50389
50390 // optional .opencv_caffe.LossParameter loss_param = 42;
50391 bool V1LayerParameter::has_loss_param() const {
50392   return (_has_bits_[1] & 0x00000200u) != 0;
50393 }
50394 void V1LayerParameter::set_has_loss_param() {
50395   _has_bits_[1] |= 0x00000200u;
50396 }
50397 void V1LayerParameter::clear_has_loss_param() {
50398   _has_bits_[1] &= ~0x00000200u;
50399 }
50400 void V1LayerParameter::clear_loss_param() {
50401   if (loss_param_ != NULL) loss_param_->::opencv_caffe::LossParameter::Clear();
50402   clear_has_loss_param();
50403 }
50404 const ::opencv_caffe::LossParameter& V1LayerParameter::loss_param() const {
50405   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.loss_param)
50406   return loss_param_ != NULL ? *loss_param_
50407                          : *::opencv_caffe::LossParameter::internal_default_instance();
50408 }
50409 ::opencv_caffe::LossParameter* V1LayerParameter::mutable_loss_param() {
50410   set_has_loss_param();
50411   if (loss_param_ == NULL) {
50412     loss_param_ = new ::opencv_caffe::LossParameter;
50413   }
50414   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.loss_param)
50415   return loss_param_;
50416 }
50417 ::opencv_caffe::LossParameter* V1LayerParameter::release_loss_param() {
50418   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.loss_param)
50419   clear_has_loss_param();
50420   ::opencv_caffe::LossParameter* temp = loss_param_;
50421   loss_param_ = NULL;
50422   return temp;
50423 }
50424 void V1LayerParameter::set_allocated_loss_param(::opencv_caffe::LossParameter* loss_param) {
50425   delete loss_param_;
50426   loss_param_ = loss_param;
50427   if (loss_param) {
50428     set_has_loss_param();
50429   } else {
50430     clear_has_loss_param();
50431   }
50432   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.loss_param)
50433 }
50434
50435 // optional .opencv_caffe.V0LayerParameter layer = 1;
50436 bool V1LayerParameter::has_layer() const {
50437   return (_has_bits_[1] & 0x00000400u) != 0;
50438 }
50439 void V1LayerParameter::set_has_layer() {
50440   _has_bits_[1] |= 0x00000400u;
50441 }
50442 void V1LayerParameter::clear_has_layer() {
50443   _has_bits_[1] &= ~0x00000400u;
50444 }
50445 void V1LayerParameter::clear_layer() {
50446   if (layer_ != NULL) layer_->::opencv_caffe::V0LayerParameter::Clear();
50447   clear_has_layer();
50448 }
50449 const ::opencv_caffe::V0LayerParameter& V1LayerParameter::layer() const {
50450   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.layer)
50451   return layer_ != NULL ? *layer_
50452                          : *::opencv_caffe::V0LayerParameter::internal_default_instance();
50453 }
50454 ::opencv_caffe::V0LayerParameter* V1LayerParameter::mutable_layer() {
50455   set_has_layer();
50456   if (layer_ == NULL) {
50457     layer_ = new ::opencv_caffe::V0LayerParameter;
50458   }
50459   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.layer)
50460   return layer_;
50461 }
50462 ::opencv_caffe::V0LayerParameter* V1LayerParameter::release_layer() {
50463   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.layer)
50464   clear_has_layer();
50465   ::opencv_caffe::V0LayerParameter* temp = layer_;
50466   layer_ = NULL;
50467   return temp;
50468 }
50469 void V1LayerParameter::set_allocated_layer(::opencv_caffe::V0LayerParameter* layer) {
50470   delete layer_;
50471   layer_ = layer;
50472   if (layer) {
50473     set_has_layer();
50474   } else {
50475     clear_has_layer();
50476   }
50477   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.layer)
50478 }
50479
50480 inline const V1LayerParameter* V1LayerParameter::internal_default_instance() {
50481   return &V1LayerParameter_default_instance_.get();
50482 }
50483 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
50484
50485 // ===================================================================
50486
50487 const ::google::protobuf::EnumDescriptor* V0LayerParameter_PoolMethod_descriptor() {
50488   protobuf_AssignDescriptorsOnce();
50489   return V0LayerParameter_PoolMethod_descriptor_;
50490 }
50491 bool V0LayerParameter_PoolMethod_IsValid(int value) {
50492   switch (value) {
50493     case 0:
50494     case 1:
50495     case 2:
50496       return true;
50497     default:
50498       return false;
50499   }
50500 }
50501
50502 #if !defined(_MSC_VER) || _MSC_VER >= 1900
50503 const V0LayerParameter_PoolMethod V0LayerParameter::MAX;
50504 const V0LayerParameter_PoolMethod V0LayerParameter::AVE;
50505 const V0LayerParameter_PoolMethod V0LayerParameter::STOCHASTIC;
50506 const V0LayerParameter_PoolMethod V0LayerParameter::PoolMethod_MIN;
50507 const V0LayerParameter_PoolMethod V0LayerParameter::PoolMethod_MAX;
50508 const int V0LayerParameter::PoolMethod_ARRAYSIZE;
50509 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
50510 ::std::string* V0LayerParameter::_default_det_crop_mode_ = NULL;
50511 #if !defined(_MSC_VER) || _MSC_VER >= 1900
50512 const int V0LayerParameter::kNameFieldNumber;
50513 const int V0LayerParameter::kTypeFieldNumber;
50514 const int V0LayerParameter::kNumOutputFieldNumber;
50515 const int V0LayerParameter::kBiastermFieldNumber;
50516 const int V0LayerParameter::kWeightFillerFieldNumber;
50517 const int V0LayerParameter::kBiasFillerFieldNumber;
50518 const int V0LayerParameter::kPadFieldNumber;
50519 const int V0LayerParameter::kKernelsizeFieldNumber;
50520 const int V0LayerParameter::kGroupFieldNumber;
50521 const int V0LayerParameter::kStrideFieldNumber;
50522 const int V0LayerParameter::kPoolFieldNumber;
50523 const int V0LayerParameter::kDropoutRatioFieldNumber;
50524 const int V0LayerParameter::kLocalSizeFieldNumber;
50525 const int V0LayerParameter::kAlphaFieldNumber;
50526 const int V0LayerParameter::kBetaFieldNumber;
50527 const int V0LayerParameter::kKFieldNumber;
50528 const int V0LayerParameter::kSourceFieldNumber;
50529 const int V0LayerParameter::kScaleFieldNumber;
50530 const int V0LayerParameter::kMeanfileFieldNumber;
50531 const int V0LayerParameter::kBatchsizeFieldNumber;
50532 const int V0LayerParameter::kCropsizeFieldNumber;
50533 const int V0LayerParameter::kMirrorFieldNumber;
50534 const int V0LayerParameter::kBlobsFieldNumber;
50535 const int V0LayerParameter::kBlobsLrFieldNumber;
50536 const int V0LayerParameter::kWeightDecayFieldNumber;
50537 const int V0LayerParameter::kRandSkipFieldNumber;
50538 const int V0LayerParameter::kDetFgThresholdFieldNumber;
50539 const int V0LayerParameter::kDetBgThresholdFieldNumber;
50540 const int V0LayerParameter::kDetFgFractionFieldNumber;
50541 const int V0LayerParameter::kDetContextPadFieldNumber;
50542 const int V0LayerParameter::kDetCropModeFieldNumber;
50543 const int V0LayerParameter::kNewNumFieldNumber;
50544 const int V0LayerParameter::kNewChannelsFieldNumber;
50545 const int V0LayerParameter::kNewHeightFieldNumber;
50546 const int V0LayerParameter::kNewWidthFieldNumber;
50547 const int V0LayerParameter::kShuffleImagesFieldNumber;
50548 const int V0LayerParameter::kConcatDimFieldNumber;
50549 const int V0LayerParameter::kHdf5OutputParamFieldNumber;
50550 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
50551
50552 V0LayerParameter::V0LayerParameter()
50553   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
50554   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
50555   SharedCtor();
50556   // @@protoc_insertion_point(constructor:opencv_caffe.V0LayerParameter)
50557 }
50558
50559 void V0LayerParameter::InitAsDefaultInstance() {
50560   weight_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
50561       ::opencv_caffe::FillerParameter::internal_default_instance());
50562   bias_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
50563       ::opencv_caffe::FillerParameter::internal_default_instance());
50564   hdf5_output_param_ = const_cast< ::opencv_caffe::HDF5OutputParameter*>(
50565       ::opencv_caffe::HDF5OutputParameter::internal_default_instance());
50566 }
50567
50568 V0LayerParameter::V0LayerParameter(const V0LayerParameter& from)
50569   : ::google::protobuf::Message(),
50570     _internal_metadata_(NULL) {
50571   SharedCtor();
50572   UnsafeMergeFrom(from);
50573   // @@protoc_insertion_point(copy_constructor:opencv_caffe.V0LayerParameter)
50574 }
50575
50576 void V0LayerParameter::SharedCtor() {
50577   name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50578   type_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50579   source_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50580   meanfile_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50581   det_crop_mode_.UnsafeSetDefault(_default_det_crop_mode_);
50582   weight_filler_ = NULL;
50583   bias_filler_ = NULL;
50584   hdf5_output_param_ = NULL;
50585   ::memset(&num_output_, 0, reinterpret_cast<char*>(&new_width_) -
50586     reinterpret_cast<char*>(&num_output_) + sizeof(new_width_));
50587   concat_dim_ = 1u;
50588   biasterm_ = true;
50589   group_ = 1u;
50590   stride_ = 1u;
50591   dropout_ratio_ = 0.5f;
50592   local_size_ = 5u;
50593   alpha_ = 1;
50594   beta_ = 0.75f;
50595   k_ = 1;
50596   scale_ = 1;
50597   det_fg_threshold_ = 0.5f;
50598   det_bg_threshold_ = 0.5f;
50599   det_fg_fraction_ = 0.25f;
50600   _cached_size_ = 0;
50601 }
50602
50603 V0LayerParameter::~V0LayerParameter() {
50604   // @@protoc_insertion_point(destructor:opencv_caffe.V0LayerParameter)
50605   SharedDtor();
50606 }
50607
50608 void V0LayerParameter::SharedDtor() {
50609   name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50610   type_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50611   source_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50612   meanfile_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50613   det_crop_mode_.DestroyNoArena(_default_det_crop_mode_);
50614   if (this != &V0LayerParameter_default_instance_.get()) {
50615     delete weight_filler_;
50616     delete bias_filler_;
50617     delete hdf5_output_param_;
50618   }
50619 }
50620
50621 void V0LayerParameter::SetCachedSize(int size) const {
50622   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
50623   _cached_size_ = size;
50624   GOOGLE_SAFE_CONCURRENT_WRITES_END();
50625 }
50626 const ::google::protobuf::Descriptor* V0LayerParameter::descriptor() {
50627   protobuf_AssignDescriptorsOnce();
50628   return V0LayerParameter_descriptor_;
50629 }
50630
50631 const V0LayerParameter& V0LayerParameter::default_instance() {
50632   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
50633   return *internal_default_instance();
50634 }
50635
50636 ::google::protobuf::internal::ExplicitlyConstructed<V0LayerParameter> V0LayerParameter_default_instance_;
50637
50638 V0LayerParameter* V0LayerParameter::New(::google::protobuf::Arena* arena) const {
50639   V0LayerParameter* n = new V0LayerParameter;
50640   if (arena != NULL) {
50641     arena->Own(n);
50642   }
50643   return n;
50644 }
50645
50646 void V0LayerParameter::Clear() {
50647 // @@protoc_insertion_point(message_clear_start:opencv_caffe.V0LayerParameter)
50648 #if defined(__clang__)
50649 #define ZR_HELPER_(f) \
50650   _Pragma("clang diagnostic push") \
50651   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
50652   __builtin_offsetof(V0LayerParameter, f) \
50653   _Pragma("clang diagnostic pop")
50654 #else
50655 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
50656   &reinterpret_cast<V0LayerParameter*>(16)->f)
50657 #endif
50658
50659 #define ZR_(first, last) do {\
50660   ::memset(&(first), 0,\
50661            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
50662 } while (0)
50663
50664   if (_has_bits_[0 / 32] & 255u) {
50665     ZR_(num_output_, kernelsize_);
50666     if (has_name()) {
50667       name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50668     }
50669     if (has_type()) {
50670       type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50671     }
50672     biasterm_ = true;
50673     if (has_weight_filler()) {
50674       if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
50675     }
50676     if (has_bias_filler()) {
50677       if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
50678     }
50679   }
50680   if (_has_bits_[8 / 32] & 65280u) {
50681     group_ = 1u;
50682     stride_ = 1u;
50683     pool_ = 0;
50684     dropout_ratio_ = 0.5f;
50685     local_size_ = 5u;
50686     alpha_ = 1;
50687     beta_ = 0.75f;
50688     k_ = 1;
50689   }
50690   if (_has_bits_[16 / 32] & 4128768u) {
50691     ZR_(batchsize_, cropsize_);
50692     if (has_source()) {
50693       source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50694     }
50695     scale_ = 1;
50696     if (has_meanfile()) {
50697       meanfile_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50698     }
50699     mirror_ = false;
50700   }
50701   if (_has_bits_[24 / 32] & 4261412864u) {
50702     ZR_(det_context_pad_, new_num_);
50703     rand_skip_ = 0u;
50704     det_fg_threshold_ = 0.5f;
50705     det_bg_threshold_ = 0.5f;
50706     det_fg_fraction_ = 0.25f;
50707     if (has_det_crop_mode()) {
50708       det_crop_mode_.ClearToDefaultNoArena(_default_det_crop_mode_);
50709     }
50710   }
50711   if (_has_bits_[32 / 32] & 63u) {
50712     ZR_(new_channels_, new_width_);
50713     shuffle_images_ = false;
50714     concat_dim_ = 1u;
50715     if (has_hdf5_output_param()) {
50716       if (hdf5_output_param_ != NULL) hdf5_output_param_->::opencv_caffe::HDF5OutputParameter::Clear();
50717     }
50718   }
50719
50720 #undef ZR_HELPER_
50721 #undef ZR_
50722
50723   blobs_.Clear();
50724   blobs_lr_.Clear();
50725   weight_decay_.Clear();
50726   _has_bits_.Clear();
50727   if (_internal_metadata_.have_unknown_fields()) {
50728     mutable_unknown_fields()->Clear();
50729   }
50730 }
50731
50732 bool V0LayerParameter::MergePartialFromCodedStream(
50733     ::google::protobuf::io::CodedInputStream* input) {
50734 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
50735   ::google::protobuf::uint32 tag;
50736   // @@protoc_insertion_point(parse_start:opencv_caffe.V0LayerParameter)
50737   for (;;) {
50738     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
50739     tag = p.first;
50740     if (!p.second) goto handle_unusual;
50741     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
50742       // optional string name = 1;
50743       case 1: {
50744         if (tag == 10) {
50745           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
50746                 input, this->mutable_name()));
50747           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
50748             this->name().data(), this->name().length(),
50749             ::google::protobuf::internal::WireFormat::PARSE,
50750             "opencv_caffe.V0LayerParameter.name");
50751         } else {
50752           goto handle_unusual;
50753         }
50754         if (input->ExpectTag(18)) goto parse_type;
50755         break;
50756       }
50757
50758       // optional string type = 2;
50759       case 2: {
50760         if (tag == 18) {
50761          parse_type:
50762           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
50763                 input, this->mutable_type()));
50764           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
50765             this->type().data(), this->type().length(),
50766             ::google::protobuf::internal::WireFormat::PARSE,
50767             "opencv_caffe.V0LayerParameter.type");
50768         } else {
50769           goto handle_unusual;
50770         }
50771         if (input->ExpectTag(24)) goto parse_num_output;
50772         break;
50773       }
50774
50775       // optional uint32 num_output = 3;
50776       case 3: {
50777         if (tag == 24) {
50778          parse_num_output:
50779           set_has_num_output();
50780           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50781                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
50782                  input, &num_output_)));
50783         } else {
50784           goto handle_unusual;
50785         }
50786         if (input->ExpectTag(32)) goto parse_biasterm;
50787         break;
50788       }
50789
50790       // optional bool biasterm = 4 [default = true];
50791       case 4: {
50792         if (tag == 32) {
50793          parse_biasterm:
50794           set_has_biasterm();
50795           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50796                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
50797                  input, &biasterm_)));
50798         } else {
50799           goto handle_unusual;
50800         }
50801         if (input->ExpectTag(42)) goto parse_weight_filler;
50802         break;
50803       }
50804
50805       // optional .opencv_caffe.FillerParameter weight_filler = 5;
50806       case 5: {
50807         if (tag == 42) {
50808          parse_weight_filler:
50809           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
50810                input, mutable_weight_filler()));
50811         } else {
50812           goto handle_unusual;
50813         }
50814         if (input->ExpectTag(50)) goto parse_bias_filler;
50815         break;
50816       }
50817
50818       // optional .opencv_caffe.FillerParameter bias_filler = 6;
50819       case 6: {
50820         if (tag == 50) {
50821          parse_bias_filler:
50822           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
50823                input, mutable_bias_filler()));
50824         } else {
50825           goto handle_unusual;
50826         }
50827         if (input->ExpectTag(56)) goto parse_pad;
50828         break;
50829       }
50830
50831       // optional uint32 pad = 7 [default = 0];
50832       case 7: {
50833         if (tag == 56) {
50834          parse_pad:
50835           set_has_pad();
50836           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50837                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
50838                  input, &pad_)));
50839         } else {
50840           goto handle_unusual;
50841         }
50842         if (input->ExpectTag(64)) goto parse_kernelsize;
50843         break;
50844       }
50845
50846       // optional uint32 kernelsize = 8;
50847       case 8: {
50848         if (tag == 64) {
50849          parse_kernelsize:
50850           set_has_kernelsize();
50851           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50852                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
50853                  input, &kernelsize_)));
50854         } else {
50855           goto handle_unusual;
50856         }
50857         if (input->ExpectTag(72)) goto parse_group;
50858         break;
50859       }
50860
50861       // optional uint32 group = 9 [default = 1];
50862       case 9: {
50863         if (tag == 72) {
50864          parse_group:
50865           set_has_group();
50866           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50867                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
50868                  input, &group_)));
50869         } else {
50870           goto handle_unusual;
50871         }
50872         if (input->ExpectTag(80)) goto parse_stride;
50873         break;
50874       }
50875
50876       // optional uint32 stride = 10 [default = 1];
50877       case 10: {
50878         if (tag == 80) {
50879          parse_stride:
50880           set_has_stride();
50881           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50882                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
50883                  input, &stride_)));
50884         } else {
50885           goto handle_unusual;
50886         }
50887         if (input->ExpectTag(88)) goto parse_pool;
50888         break;
50889       }
50890
50891       // optional .opencv_caffe.V0LayerParameter.PoolMethod pool = 11 [default = MAX];
50892       case 11: {
50893         if (tag == 88) {
50894          parse_pool:
50895           int value;
50896           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50897                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
50898                  input, &value)));
50899           if (::opencv_caffe::V0LayerParameter_PoolMethod_IsValid(value)) {
50900             set_pool(static_cast< ::opencv_caffe::V0LayerParameter_PoolMethod >(value));
50901           } else {
50902             mutable_unknown_fields()->AddVarint(11, value);
50903           }
50904         } else {
50905           goto handle_unusual;
50906         }
50907         if (input->ExpectTag(101)) goto parse_dropout_ratio;
50908         break;
50909       }
50910
50911       // optional float dropout_ratio = 12 [default = 0.5];
50912       case 12: {
50913         if (tag == 101) {
50914          parse_dropout_ratio:
50915           set_has_dropout_ratio();
50916           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50917                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
50918                  input, &dropout_ratio_)));
50919         } else {
50920           goto handle_unusual;
50921         }
50922         if (input->ExpectTag(104)) goto parse_local_size;
50923         break;
50924       }
50925
50926       // optional uint32 local_size = 13 [default = 5];
50927       case 13: {
50928         if (tag == 104) {
50929          parse_local_size:
50930           set_has_local_size();
50931           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50932                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
50933                  input, &local_size_)));
50934         } else {
50935           goto handle_unusual;
50936         }
50937         if (input->ExpectTag(117)) goto parse_alpha;
50938         break;
50939       }
50940
50941       // optional float alpha = 14 [default = 1];
50942       case 14: {
50943         if (tag == 117) {
50944          parse_alpha:
50945           set_has_alpha();
50946           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50947                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
50948                  input, &alpha_)));
50949         } else {
50950           goto handle_unusual;
50951         }
50952         if (input->ExpectTag(125)) goto parse_beta;
50953         break;
50954       }
50955
50956       // optional float beta = 15 [default = 0.75];
50957       case 15: {
50958         if (tag == 125) {
50959          parse_beta:
50960           set_has_beta();
50961           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50962                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
50963                  input, &beta_)));
50964         } else {
50965           goto handle_unusual;
50966         }
50967         if (input->ExpectTag(130)) goto parse_source;
50968         break;
50969       }
50970
50971       // optional string source = 16;
50972       case 16: {
50973         if (tag == 130) {
50974          parse_source:
50975           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
50976                 input, this->mutable_source()));
50977           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
50978             this->source().data(), this->source().length(),
50979             ::google::protobuf::internal::WireFormat::PARSE,
50980             "opencv_caffe.V0LayerParameter.source");
50981         } else {
50982           goto handle_unusual;
50983         }
50984         if (input->ExpectTag(141)) goto parse_scale;
50985         break;
50986       }
50987
50988       // optional float scale = 17 [default = 1];
50989       case 17: {
50990         if (tag == 141) {
50991          parse_scale:
50992           set_has_scale();
50993           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50994                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
50995                  input, &scale_)));
50996         } else {
50997           goto handle_unusual;
50998         }
50999         if (input->ExpectTag(146)) goto parse_meanfile;
51000         break;
51001       }
51002
51003       // optional string meanfile = 18;
51004       case 18: {
51005         if (tag == 146) {
51006          parse_meanfile:
51007           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
51008                 input, this->mutable_meanfile()));
51009           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
51010             this->meanfile().data(), this->meanfile().length(),
51011             ::google::protobuf::internal::WireFormat::PARSE,
51012             "opencv_caffe.V0LayerParameter.meanfile");
51013         } else {
51014           goto handle_unusual;
51015         }
51016         if (input->ExpectTag(152)) goto parse_batchsize;
51017         break;
51018       }
51019
51020       // optional uint32 batchsize = 19;
51021       case 19: {
51022         if (tag == 152) {
51023          parse_batchsize:
51024           set_has_batchsize();
51025           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
51026                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
51027                  input, &batchsize_)));
51028         } else {
51029           goto handle_unusual;
51030         }
51031         if (input->ExpectTag(160)) goto parse_cropsize;
51032         break;
51033       }
51034
51035       // optional uint32 cropsize = 20 [default = 0];
51036       case 20: {
51037         if (tag == 160) {
51038          parse_cropsize:
51039           set_has_cropsize();
51040           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
51041                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
51042                  input, &cropsize_)));
51043         } else {
51044           goto handle_unusual;
51045         }
51046         if (input->ExpectTag(168)) goto parse_mirror;
51047         break;
51048       }
51049
51050       // optional bool mirror = 21 [default = false];
51051       case 21: {
51052         if (tag == 168) {
51053          parse_mirror:
51054           set_has_mirror();
51055           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
51056                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
51057                  input, &mirror_)));
51058         } else {
51059           goto handle_unusual;
51060         }
51061         if (input->ExpectTag(181)) goto parse_k;
51062         break;
51063       }
51064
51065       // optional float k = 22 [default = 1];
51066       case 22: {
51067         if (tag == 181) {
51068          parse_k:
51069           set_has_k();
51070           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
51071                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
51072                  input, &k_)));
51073         } else {
51074           goto handle_unusual;
51075         }
51076         if (input->ExpectTag(402)) goto parse_blobs;
51077         break;
51078       }
51079
51080       // repeated .opencv_caffe.BlobProto blobs = 50;
51081       case 50: {
51082         if (tag == 402) {
51083          parse_blobs:
51084           DO_(input->IncrementRecursionDepth());
51085          parse_loop_blobs:
51086           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
51087                 input, add_blobs()));
51088         } else {
51089           goto handle_unusual;
51090         }
51091         if (input->ExpectTag(402)) goto parse_loop_blobs;
51092         input->UnsafeDecrementRecursionDepth();
51093         if (input->ExpectTag(413)) goto parse_blobs_lr;
51094         break;
51095       }
51096
51097       // repeated float blobs_lr = 51;
51098       case 51: {
51099         if (tag == 413) {
51100          parse_blobs_lr:
51101           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
51102                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
51103                  2, 413, input, this->mutable_blobs_lr())));
51104         } else if (tag == 410) {
51105           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
51106                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
51107                  input, this->mutable_blobs_lr())));
51108         } else {
51109           goto handle_unusual;
51110         }
51111         if (input->ExpectTag(413)) goto parse_blobs_lr;
51112         if (input->ExpectTag(421)) goto parse_weight_decay;
51113         break;
51114       }
51115
51116       // repeated float weight_decay = 52;
51117       case 52: {
51118         if (tag == 421) {
51119          parse_weight_decay:
51120           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
51121                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
51122                  2, 421, input, this->mutable_weight_decay())));
51123         } else if (tag == 418) {
51124           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
51125                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
51126                  input, this->mutable_weight_decay())));
51127         } else {
51128           goto handle_unusual;
51129         }
51130         if (input->ExpectTag(421)) goto parse_weight_decay;
51131         if (input->ExpectTag(424)) goto parse_rand_skip;
51132         break;
51133       }
51134
51135       // optional uint32 rand_skip = 53 [default = 0];
51136       case 53: {
51137         if (tag == 424) {
51138          parse_rand_skip:
51139           set_has_rand_skip();
51140           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
51141                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
51142                  input, &rand_skip_)));
51143         } else {
51144           goto handle_unusual;
51145         }
51146         if (input->ExpectTag(437)) goto parse_det_fg_threshold;
51147         break;
51148       }
51149
51150       // optional float det_fg_threshold = 54 [default = 0.5];
51151       case 54: {
51152         if (tag == 437) {
51153          parse_det_fg_threshold:
51154           set_has_det_fg_threshold();
51155           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
51156                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
51157                  input, &det_fg_threshold_)));
51158         } else {
51159           goto handle_unusual;
51160         }
51161         if (input->ExpectTag(445)) goto parse_det_bg_threshold;
51162         break;
51163       }
51164
51165       // optional float det_bg_threshold = 55 [default = 0.5];
51166       case 55: {
51167         if (tag == 445) {
51168          parse_det_bg_threshold:
51169           set_has_det_bg_threshold();
51170           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
51171                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
51172                  input, &det_bg_threshold_)));
51173         } else {
51174           goto handle_unusual;
51175         }
51176         if (input->ExpectTag(453)) goto parse_det_fg_fraction;
51177         break;
51178       }
51179
51180       // optional float det_fg_fraction = 56 [default = 0.25];
51181       case 56: {
51182         if (tag == 453) {
51183          parse_det_fg_fraction:
51184           set_has_det_fg_fraction();
51185           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
51186                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
51187                  input, &det_fg_fraction_)));
51188         } else {
51189           goto handle_unusual;
51190         }
51191         if (input->ExpectTag(464)) goto parse_det_context_pad;
51192         break;
51193       }
51194
51195       // optional uint32 det_context_pad = 58 [default = 0];
51196       case 58: {
51197         if (tag == 464) {
51198          parse_det_context_pad:
51199           set_has_det_context_pad();
51200           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
51201                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
51202                  input, &det_context_pad_)));
51203         } else {
51204           goto handle_unusual;
51205         }
51206         if (input->ExpectTag(474)) goto parse_det_crop_mode;
51207         break;
51208       }
51209
51210       // optional string det_crop_mode = 59 [default = "warp"];
51211       case 59: {
51212         if (tag == 474) {
51213          parse_det_crop_mode:
51214           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
51215                 input, this->mutable_det_crop_mode()));
51216           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
51217             this->det_crop_mode().data(), this->det_crop_mode().length(),
51218             ::google::protobuf::internal::WireFormat::PARSE,
51219             "opencv_caffe.V0LayerParameter.det_crop_mode");
51220         } else {
51221           goto handle_unusual;
51222         }
51223         if (input->ExpectTag(480)) goto parse_new_num;
51224         break;
51225       }
51226
51227       // optional int32 new_num = 60 [default = 0];
51228       case 60: {
51229         if (tag == 480) {
51230          parse_new_num:
51231           set_has_new_num();
51232           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
51233                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
51234                  input, &new_num_)));
51235         } else {
51236           goto handle_unusual;
51237         }
51238         if (input->ExpectTag(488)) goto parse_new_channels;
51239         break;
51240       }
51241
51242       // optional int32 new_channels = 61 [default = 0];
51243       case 61: {
51244         if (tag == 488) {
51245          parse_new_channels:
51246           set_has_new_channels();
51247           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
51248                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
51249                  input, &new_channels_)));
51250         } else {
51251           goto handle_unusual;
51252         }
51253         if (input->ExpectTag(496)) goto parse_new_height;
51254         break;
51255       }
51256
51257       // optional int32 new_height = 62 [default = 0];
51258       case 62: {
51259         if (tag == 496) {
51260          parse_new_height:
51261           set_has_new_height();
51262           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
51263                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
51264                  input, &new_height_)));
51265         } else {
51266           goto handle_unusual;
51267         }
51268         if (input->ExpectTag(504)) goto parse_new_width;
51269         break;
51270       }
51271
51272       // optional int32 new_width = 63 [default = 0];
51273       case 63: {
51274         if (tag == 504) {
51275          parse_new_width:
51276           set_has_new_width();
51277           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
51278                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
51279                  input, &new_width_)));
51280         } else {
51281           goto handle_unusual;
51282         }
51283         if (input->ExpectTag(512)) goto parse_shuffle_images;
51284         break;
51285       }
51286
51287       // optional bool shuffle_images = 64 [default = false];
51288       case 64: {
51289         if (tag == 512) {
51290          parse_shuffle_images:
51291           set_has_shuffle_images();
51292           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
51293                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
51294                  input, &shuffle_images_)));
51295         } else {
51296           goto handle_unusual;
51297         }
51298         if (input->ExpectTag(520)) goto parse_concat_dim;
51299         break;
51300       }
51301
51302       // optional uint32 concat_dim = 65 [default = 1];
51303       case 65: {
51304         if (tag == 520) {
51305          parse_concat_dim:
51306           set_has_concat_dim();
51307           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
51308                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
51309                  input, &concat_dim_)));
51310         } else {
51311           goto handle_unusual;
51312         }
51313         if (input->ExpectTag(8010)) goto parse_hdf5_output_param;
51314         break;
51315       }
51316
51317       // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 1001;
51318       case 1001: {
51319         if (tag == 8010) {
51320          parse_hdf5_output_param:
51321           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
51322                input, mutable_hdf5_output_param()));
51323         } else {
51324           goto handle_unusual;
51325         }
51326         if (input->ExpectAtEnd()) goto success;
51327         break;
51328       }
51329
51330       default: {
51331       handle_unusual:
51332         if (tag == 0 ||
51333             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
51334             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
51335           goto success;
51336         }
51337         DO_(::google::protobuf::internal::WireFormat::SkipField(
51338               input, tag, mutable_unknown_fields()));
51339         break;
51340       }
51341     }
51342   }
51343 success:
51344   // @@protoc_insertion_point(parse_success:opencv_caffe.V0LayerParameter)
51345   return true;
51346 failure:
51347   // @@protoc_insertion_point(parse_failure:opencv_caffe.V0LayerParameter)
51348   return false;
51349 #undef DO_
51350 }
51351
51352 void V0LayerParameter::SerializeWithCachedSizes(
51353     ::google::protobuf::io::CodedOutputStream* output) const {
51354   // @@protoc_insertion_point(serialize_start:opencv_caffe.V0LayerParameter)
51355   // optional string name = 1;
51356   if (has_name()) {
51357     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
51358       this->name().data(), this->name().length(),
51359       ::google::protobuf::internal::WireFormat::SERIALIZE,
51360       "opencv_caffe.V0LayerParameter.name");
51361     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
51362       1, this->name(), output);
51363   }
51364
51365   // optional string type = 2;
51366   if (has_type()) {
51367     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
51368       this->type().data(), this->type().length(),
51369       ::google::protobuf::internal::WireFormat::SERIALIZE,
51370       "opencv_caffe.V0LayerParameter.type");
51371     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
51372       2, this->type(), output);
51373   }
51374
51375   // optional uint32 num_output = 3;
51376   if (has_num_output()) {
51377     ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->num_output(), output);
51378   }
51379
51380   // optional bool biasterm = 4 [default = true];
51381   if (has_biasterm()) {
51382     ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->biasterm(), output);
51383   }
51384
51385   // optional .opencv_caffe.FillerParameter weight_filler = 5;
51386   if (has_weight_filler()) {
51387     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
51388       5, *this->weight_filler_, output);
51389   }
51390
51391   // optional .opencv_caffe.FillerParameter bias_filler = 6;
51392   if (has_bias_filler()) {
51393     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
51394       6, *this->bias_filler_, output);
51395   }
51396
51397   // optional uint32 pad = 7 [default = 0];
51398   if (has_pad()) {
51399     ::google::protobuf::internal::WireFormatLite::WriteUInt32(7, this->pad(), output);
51400   }
51401
51402   // optional uint32 kernelsize = 8;
51403   if (has_kernelsize()) {
51404     ::google::protobuf::internal::WireFormatLite::WriteUInt32(8, this->kernelsize(), output);
51405   }
51406
51407   // optional uint32 group = 9 [default = 1];
51408   if (has_group()) {
51409     ::google::protobuf::internal::WireFormatLite::WriteUInt32(9, this->group(), output);
51410   }
51411
51412   // optional uint32 stride = 10 [default = 1];
51413   if (has_stride()) {
51414     ::google::protobuf::internal::WireFormatLite::WriteUInt32(10, this->stride(), output);
51415   }
51416
51417   // optional .opencv_caffe.V0LayerParameter.PoolMethod pool = 11 [default = MAX];
51418   if (has_pool()) {
51419     ::google::protobuf::internal::WireFormatLite::WriteEnum(
51420       11, this->pool(), output);
51421   }
51422
51423   // optional float dropout_ratio = 12 [default = 0.5];
51424   if (has_dropout_ratio()) {
51425     ::google::protobuf::internal::WireFormatLite::WriteFloat(12, this->dropout_ratio(), output);
51426   }
51427
51428   // optional uint32 local_size = 13 [default = 5];
51429   if (has_local_size()) {
51430     ::google::protobuf::internal::WireFormatLite::WriteUInt32(13, this->local_size(), output);
51431   }
51432
51433   // optional float alpha = 14 [default = 1];
51434   if (has_alpha()) {
51435     ::google::protobuf::internal::WireFormatLite::WriteFloat(14, this->alpha(), output);
51436   }
51437
51438   // optional float beta = 15 [default = 0.75];
51439   if (has_beta()) {
51440     ::google::protobuf::internal::WireFormatLite::WriteFloat(15, this->beta(), output);
51441   }
51442
51443   // optional string source = 16;
51444   if (has_source()) {
51445     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
51446       this->source().data(), this->source().length(),
51447       ::google::protobuf::internal::WireFormat::SERIALIZE,
51448       "opencv_caffe.V0LayerParameter.source");
51449     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
51450       16, this->source(), output);
51451   }
51452
51453   // optional float scale = 17 [default = 1];
51454   if (has_scale()) {
51455     ::google::protobuf::internal::WireFormatLite::WriteFloat(17, this->scale(), output);
51456   }
51457
51458   // optional string meanfile = 18;
51459   if (has_meanfile()) {
51460     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
51461       this->meanfile().data(), this->meanfile().length(),
51462       ::google::protobuf::internal::WireFormat::SERIALIZE,
51463       "opencv_caffe.V0LayerParameter.meanfile");
51464     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
51465       18, this->meanfile(), output);
51466   }
51467
51468   // optional uint32 batchsize = 19;
51469   if (has_batchsize()) {
51470     ::google::protobuf::internal::WireFormatLite::WriteUInt32(19, this->batchsize(), output);
51471   }
51472
51473   // optional uint32 cropsize = 20 [default = 0];
51474   if (has_cropsize()) {
51475     ::google::protobuf::internal::WireFormatLite::WriteUInt32(20, this->cropsize(), output);
51476   }
51477
51478   // optional bool mirror = 21 [default = false];
51479   if (has_mirror()) {
51480     ::google::protobuf::internal::WireFormatLite::WriteBool(21, this->mirror(), output);
51481   }
51482
51483   // optional float k = 22 [default = 1];
51484   if (has_k()) {
51485     ::google::protobuf::internal::WireFormatLite::WriteFloat(22, this->k(), output);
51486   }
51487
51488   // repeated .opencv_caffe.BlobProto blobs = 50;
51489   for (unsigned int i = 0, n = this->blobs_size(); i < n; i++) {
51490     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
51491       50, this->blobs(i), output);
51492   }
51493
51494   // repeated float blobs_lr = 51;
51495   for (int i = 0; i < this->blobs_lr_size(); i++) {
51496     ::google::protobuf::internal::WireFormatLite::WriteFloat(
51497       51, this->blobs_lr(i), output);
51498   }
51499
51500   // repeated float weight_decay = 52;
51501   for (int i = 0; i < this->weight_decay_size(); i++) {
51502     ::google::protobuf::internal::WireFormatLite::WriteFloat(
51503       52, this->weight_decay(i), output);
51504   }
51505
51506   // optional uint32 rand_skip = 53 [default = 0];
51507   if (has_rand_skip()) {
51508     ::google::protobuf::internal::WireFormatLite::WriteUInt32(53, this->rand_skip(), output);
51509   }
51510
51511   // optional float det_fg_threshold = 54 [default = 0.5];
51512   if (has_det_fg_threshold()) {
51513     ::google::protobuf::internal::WireFormatLite::WriteFloat(54, this->det_fg_threshold(), output);
51514   }
51515
51516   // optional float det_bg_threshold = 55 [default = 0.5];
51517   if (has_det_bg_threshold()) {
51518     ::google::protobuf::internal::WireFormatLite::WriteFloat(55, this->det_bg_threshold(), output);
51519   }
51520
51521   // optional float det_fg_fraction = 56 [default = 0.25];
51522   if (has_det_fg_fraction()) {
51523     ::google::protobuf::internal::WireFormatLite::WriteFloat(56, this->det_fg_fraction(), output);
51524   }
51525
51526   // optional uint32 det_context_pad = 58 [default = 0];
51527   if (has_det_context_pad()) {
51528     ::google::protobuf::internal::WireFormatLite::WriteUInt32(58, this->det_context_pad(), output);
51529   }
51530
51531   // optional string det_crop_mode = 59 [default = "warp"];
51532   if (has_det_crop_mode()) {
51533     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
51534       this->det_crop_mode().data(), this->det_crop_mode().length(),
51535       ::google::protobuf::internal::WireFormat::SERIALIZE,
51536       "opencv_caffe.V0LayerParameter.det_crop_mode");
51537     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
51538       59, this->det_crop_mode(), output);
51539   }
51540
51541   // optional int32 new_num = 60 [default = 0];
51542   if (has_new_num()) {
51543     ::google::protobuf::internal::WireFormatLite::WriteInt32(60, this->new_num(), output);
51544   }
51545
51546   // optional int32 new_channels = 61 [default = 0];
51547   if (has_new_channels()) {
51548     ::google::protobuf::internal::WireFormatLite::WriteInt32(61, this->new_channels(), output);
51549   }
51550
51551   // optional int32 new_height = 62 [default = 0];
51552   if (has_new_height()) {
51553     ::google::protobuf::internal::WireFormatLite::WriteInt32(62, this->new_height(), output);
51554   }
51555
51556   // optional int32 new_width = 63 [default = 0];
51557   if (has_new_width()) {
51558     ::google::protobuf::internal::WireFormatLite::WriteInt32(63, this->new_width(), output);
51559   }
51560
51561   // optional bool shuffle_images = 64 [default = false];
51562   if (has_shuffle_images()) {
51563     ::google::protobuf::internal::WireFormatLite::WriteBool(64, this->shuffle_images(), output);
51564   }
51565
51566   // optional uint32 concat_dim = 65 [default = 1];
51567   if (has_concat_dim()) {
51568     ::google::protobuf::internal::WireFormatLite::WriteUInt32(65, this->concat_dim(), output);
51569   }
51570
51571   // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 1001;
51572   if (has_hdf5_output_param()) {
51573     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
51574       1001, *this->hdf5_output_param_, output);
51575   }
51576
51577   if (_internal_metadata_.have_unknown_fields()) {
51578     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
51579         unknown_fields(), output);
51580   }
51581   // @@protoc_insertion_point(serialize_end:opencv_caffe.V0LayerParameter)
51582 }
51583
51584 ::google::protobuf::uint8* V0LayerParameter::InternalSerializeWithCachedSizesToArray(
51585     bool deterministic, ::google::protobuf::uint8* target) const {
51586   (void)deterministic; // Unused
51587   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.V0LayerParameter)
51588   // optional string name = 1;
51589   if (has_name()) {
51590     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
51591       this->name().data(), this->name().length(),
51592       ::google::protobuf::internal::WireFormat::SERIALIZE,
51593       "opencv_caffe.V0LayerParameter.name");
51594     target =
51595       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
51596         1, this->name(), target);
51597   }
51598
51599   // optional string type = 2;
51600   if (has_type()) {
51601     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
51602       this->type().data(), this->type().length(),
51603       ::google::protobuf::internal::WireFormat::SERIALIZE,
51604       "opencv_caffe.V0LayerParameter.type");
51605     target =
51606       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
51607         2, this->type(), target);
51608   }
51609
51610   // optional uint32 num_output = 3;
51611   if (has_num_output()) {
51612     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(3, this->num_output(), target);
51613   }
51614
51615   // optional bool biasterm = 4 [default = true];
51616   if (has_biasterm()) {
51617     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(4, this->biasterm(), target);
51618   }
51619
51620   // optional .opencv_caffe.FillerParameter weight_filler = 5;
51621   if (has_weight_filler()) {
51622     target = ::google::protobuf::internal::WireFormatLite::
51623       InternalWriteMessageNoVirtualToArray(
51624         5, *this->weight_filler_, false, target);
51625   }
51626
51627   // optional .opencv_caffe.FillerParameter bias_filler = 6;
51628   if (has_bias_filler()) {
51629     target = ::google::protobuf::internal::WireFormatLite::
51630       InternalWriteMessageNoVirtualToArray(
51631         6, *this->bias_filler_, false, target);
51632   }
51633
51634   // optional uint32 pad = 7 [default = 0];
51635   if (has_pad()) {
51636     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(7, this->pad(), target);
51637   }
51638
51639   // optional uint32 kernelsize = 8;
51640   if (has_kernelsize()) {
51641     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(8, this->kernelsize(), target);
51642   }
51643
51644   // optional uint32 group = 9 [default = 1];
51645   if (has_group()) {
51646     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(9, this->group(), target);
51647   }
51648
51649   // optional uint32 stride = 10 [default = 1];
51650   if (has_stride()) {
51651     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(10, this->stride(), target);
51652   }
51653
51654   // optional .opencv_caffe.V0LayerParameter.PoolMethod pool = 11 [default = MAX];
51655   if (has_pool()) {
51656     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
51657       11, this->pool(), target);
51658   }
51659
51660   // optional float dropout_ratio = 12 [default = 0.5];
51661   if (has_dropout_ratio()) {
51662     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(12, this->dropout_ratio(), target);
51663   }
51664
51665   // optional uint32 local_size = 13 [default = 5];
51666   if (has_local_size()) {
51667     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(13, this->local_size(), target);
51668   }
51669
51670   // optional float alpha = 14 [default = 1];
51671   if (has_alpha()) {
51672     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(14, this->alpha(), target);
51673   }
51674
51675   // optional float beta = 15 [default = 0.75];
51676   if (has_beta()) {
51677     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(15, this->beta(), target);
51678   }
51679
51680   // optional string source = 16;
51681   if (has_source()) {
51682     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
51683       this->source().data(), this->source().length(),
51684       ::google::protobuf::internal::WireFormat::SERIALIZE,
51685       "opencv_caffe.V0LayerParameter.source");
51686     target =
51687       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
51688         16, this->source(), target);
51689   }
51690
51691   // optional float scale = 17 [default = 1];
51692   if (has_scale()) {
51693     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(17, this->scale(), target);
51694   }
51695
51696   // optional string meanfile = 18;
51697   if (has_meanfile()) {
51698     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
51699       this->meanfile().data(), this->meanfile().length(),
51700       ::google::protobuf::internal::WireFormat::SERIALIZE,
51701       "opencv_caffe.V0LayerParameter.meanfile");
51702     target =
51703       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
51704         18, this->meanfile(), target);
51705   }
51706
51707   // optional uint32 batchsize = 19;
51708   if (has_batchsize()) {
51709     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(19, this->batchsize(), target);
51710   }
51711
51712   // optional uint32 cropsize = 20 [default = 0];
51713   if (has_cropsize()) {
51714     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(20, this->cropsize(), target);
51715   }
51716
51717   // optional bool mirror = 21 [default = false];
51718   if (has_mirror()) {
51719     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(21, this->mirror(), target);
51720   }
51721
51722   // optional float k = 22 [default = 1];
51723   if (has_k()) {
51724     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(22, this->k(), target);
51725   }
51726
51727   // repeated .opencv_caffe.BlobProto blobs = 50;
51728   for (unsigned int i = 0, n = this->blobs_size(); i < n; i++) {
51729     target = ::google::protobuf::internal::WireFormatLite::
51730       InternalWriteMessageNoVirtualToArray(
51731         50, this->blobs(i), false, target);
51732   }
51733
51734   // repeated float blobs_lr = 51;
51735   for (int i = 0; i < this->blobs_lr_size(); i++) {
51736     target = ::google::protobuf::internal::WireFormatLite::
51737       WriteFloatToArray(51, this->blobs_lr(i), target);
51738   }
51739
51740   // repeated float weight_decay = 52;
51741   for (int i = 0; i < this->weight_decay_size(); i++) {
51742     target = ::google::protobuf::internal::WireFormatLite::
51743       WriteFloatToArray(52, this->weight_decay(i), target);
51744   }
51745
51746   // optional uint32 rand_skip = 53 [default = 0];
51747   if (has_rand_skip()) {
51748     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(53, this->rand_skip(), target);
51749   }
51750
51751   // optional float det_fg_threshold = 54 [default = 0.5];
51752   if (has_det_fg_threshold()) {
51753     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(54, this->det_fg_threshold(), target);
51754   }
51755
51756   // optional float det_bg_threshold = 55 [default = 0.5];
51757   if (has_det_bg_threshold()) {
51758     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(55, this->det_bg_threshold(), target);
51759   }
51760
51761   // optional float det_fg_fraction = 56 [default = 0.25];
51762   if (has_det_fg_fraction()) {
51763     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(56, this->det_fg_fraction(), target);
51764   }
51765
51766   // optional uint32 det_context_pad = 58 [default = 0];
51767   if (has_det_context_pad()) {
51768     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(58, this->det_context_pad(), target);
51769   }
51770
51771   // optional string det_crop_mode = 59 [default = "warp"];
51772   if (has_det_crop_mode()) {
51773     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
51774       this->det_crop_mode().data(), this->det_crop_mode().length(),
51775       ::google::protobuf::internal::WireFormat::SERIALIZE,
51776       "opencv_caffe.V0LayerParameter.det_crop_mode");
51777     target =
51778       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
51779         59, this->det_crop_mode(), target);
51780   }
51781
51782   // optional int32 new_num = 60 [default = 0];
51783   if (has_new_num()) {
51784     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(60, this->new_num(), target);
51785   }
51786
51787   // optional int32 new_channels = 61 [default = 0];
51788   if (has_new_channels()) {
51789     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(61, this->new_channels(), target);
51790   }
51791
51792   // optional int32 new_height = 62 [default = 0];
51793   if (has_new_height()) {
51794     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(62, this->new_height(), target);
51795   }
51796
51797   // optional int32 new_width = 63 [default = 0];
51798   if (has_new_width()) {
51799     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(63, this->new_width(), target);
51800   }
51801
51802   // optional bool shuffle_images = 64 [default = false];
51803   if (has_shuffle_images()) {
51804     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(64, this->shuffle_images(), target);
51805   }
51806
51807   // optional uint32 concat_dim = 65 [default = 1];
51808   if (has_concat_dim()) {
51809     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(65, this->concat_dim(), target);
51810   }
51811
51812   // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 1001;
51813   if (has_hdf5_output_param()) {
51814     target = ::google::protobuf::internal::WireFormatLite::
51815       InternalWriteMessageNoVirtualToArray(
51816         1001, *this->hdf5_output_param_, false, target);
51817   }
51818
51819   if (_internal_metadata_.have_unknown_fields()) {
51820     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
51821         unknown_fields(), target);
51822   }
51823   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.V0LayerParameter)
51824   return target;
51825 }
51826
51827 size_t V0LayerParameter::ByteSizeLong() const {
51828 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.V0LayerParameter)
51829   size_t total_size = 0;
51830
51831   if (_has_bits_[0 / 32] & 255u) {
51832     // optional string name = 1;
51833     if (has_name()) {
51834       total_size += 1 +
51835         ::google::protobuf::internal::WireFormatLite::StringSize(
51836           this->name());
51837     }
51838
51839     // optional string type = 2;
51840     if (has_type()) {
51841       total_size += 1 +
51842         ::google::protobuf::internal::WireFormatLite::StringSize(
51843           this->type());
51844     }
51845
51846     // optional uint32 num_output = 3;
51847     if (has_num_output()) {
51848       total_size += 1 +
51849         ::google::protobuf::internal::WireFormatLite::UInt32Size(
51850           this->num_output());
51851     }
51852
51853     // optional bool biasterm = 4 [default = true];
51854     if (has_biasterm()) {
51855       total_size += 1 + 1;
51856     }
51857
51858     // optional .opencv_caffe.FillerParameter weight_filler = 5;
51859     if (has_weight_filler()) {
51860       total_size += 1 +
51861         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
51862           *this->weight_filler_);
51863     }
51864
51865     // optional .opencv_caffe.FillerParameter bias_filler = 6;
51866     if (has_bias_filler()) {
51867       total_size += 1 +
51868         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
51869           *this->bias_filler_);
51870     }
51871
51872     // optional uint32 pad = 7 [default = 0];
51873     if (has_pad()) {
51874       total_size += 1 +
51875         ::google::protobuf::internal::WireFormatLite::UInt32Size(
51876           this->pad());
51877     }
51878
51879     // optional uint32 kernelsize = 8;
51880     if (has_kernelsize()) {
51881       total_size += 1 +
51882         ::google::protobuf::internal::WireFormatLite::UInt32Size(
51883           this->kernelsize());
51884     }
51885
51886   }
51887   if (_has_bits_[8 / 32] & 65280u) {
51888     // optional uint32 group = 9 [default = 1];
51889     if (has_group()) {
51890       total_size += 1 +
51891         ::google::protobuf::internal::WireFormatLite::UInt32Size(
51892           this->group());
51893     }
51894
51895     // optional uint32 stride = 10 [default = 1];
51896     if (has_stride()) {
51897       total_size += 1 +
51898         ::google::protobuf::internal::WireFormatLite::UInt32Size(
51899           this->stride());
51900     }
51901
51902     // optional .opencv_caffe.V0LayerParameter.PoolMethod pool = 11 [default = MAX];
51903     if (has_pool()) {
51904       total_size += 1 +
51905         ::google::protobuf::internal::WireFormatLite::EnumSize(this->pool());
51906     }
51907
51908     // optional float dropout_ratio = 12 [default = 0.5];
51909     if (has_dropout_ratio()) {
51910       total_size += 1 + 4;
51911     }
51912
51913     // optional uint32 local_size = 13 [default = 5];
51914     if (has_local_size()) {
51915       total_size += 1 +
51916         ::google::protobuf::internal::WireFormatLite::UInt32Size(
51917           this->local_size());
51918     }
51919
51920     // optional float alpha = 14 [default = 1];
51921     if (has_alpha()) {
51922       total_size += 1 + 4;
51923     }
51924
51925     // optional float beta = 15 [default = 0.75];
51926     if (has_beta()) {
51927       total_size += 1 + 4;
51928     }
51929
51930     // optional float k = 22 [default = 1];
51931     if (has_k()) {
51932       total_size += 2 + 4;
51933     }
51934
51935   }
51936   if (_has_bits_[16 / 32] & 4128768u) {
51937     // optional string source = 16;
51938     if (has_source()) {
51939       total_size += 2 +
51940         ::google::protobuf::internal::WireFormatLite::StringSize(
51941           this->source());
51942     }
51943
51944     // optional float scale = 17 [default = 1];
51945     if (has_scale()) {
51946       total_size += 2 + 4;
51947     }
51948
51949     // optional string meanfile = 18;
51950     if (has_meanfile()) {
51951       total_size += 2 +
51952         ::google::protobuf::internal::WireFormatLite::StringSize(
51953           this->meanfile());
51954     }
51955
51956     // optional uint32 batchsize = 19;
51957     if (has_batchsize()) {
51958       total_size += 2 +
51959         ::google::protobuf::internal::WireFormatLite::UInt32Size(
51960           this->batchsize());
51961     }
51962
51963     // optional uint32 cropsize = 20 [default = 0];
51964     if (has_cropsize()) {
51965       total_size += 2 +
51966         ::google::protobuf::internal::WireFormatLite::UInt32Size(
51967           this->cropsize());
51968     }
51969
51970     // optional bool mirror = 21 [default = false];
51971     if (has_mirror()) {
51972       total_size += 2 + 1;
51973     }
51974
51975   }
51976   if (_has_bits_[25 / 32] & 4261412864u) {
51977     // optional uint32 rand_skip = 53 [default = 0];
51978     if (has_rand_skip()) {
51979       total_size += 2 +
51980         ::google::protobuf::internal::WireFormatLite::UInt32Size(
51981           this->rand_skip());
51982     }
51983
51984     // optional float det_fg_threshold = 54 [default = 0.5];
51985     if (has_det_fg_threshold()) {
51986       total_size += 2 + 4;
51987     }
51988
51989     // optional float det_bg_threshold = 55 [default = 0.5];
51990     if (has_det_bg_threshold()) {
51991       total_size += 2 + 4;
51992     }
51993
51994     // optional float det_fg_fraction = 56 [default = 0.25];
51995     if (has_det_fg_fraction()) {
51996       total_size += 2 + 4;
51997     }
51998
51999     // optional uint32 det_context_pad = 58 [default = 0];
52000     if (has_det_context_pad()) {
52001       total_size += 2 +
52002         ::google::protobuf::internal::WireFormatLite::UInt32Size(
52003           this->det_context_pad());
52004     }
52005
52006     // optional string det_crop_mode = 59 [default = "warp"];
52007     if (has_det_crop_mode()) {
52008       total_size += 2 +
52009         ::google::protobuf::internal::WireFormatLite::StringSize(
52010           this->det_crop_mode());
52011     }
52012
52013     // optional int32 new_num = 60 [default = 0];
52014     if (has_new_num()) {
52015       total_size += 2 +
52016         ::google::protobuf::internal::WireFormatLite::Int32Size(
52017           this->new_num());
52018     }
52019
52020   }
52021   if (_has_bits_[32 / 32] & 63u) {
52022     // optional int32 new_channels = 61 [default = 0];
52023     if (has_new_channels()) {
52024       total_size += 2 +
52025         ::google::protobuf::internal::WireFormatLite::Int32Size(
52026           this->new_channels());
52027     }
52028
52029     // optional int32 new_height = 62 [default = 0];
52030     if (has_new_height()) {
52031       total_size += 2 +
52032         ::google::protobuf::internal::WireFormatLite::Int32Size(
52033           this->new_height());
52034     }
52035
52036     // optional int32 new_width = 63 [default = 0];
52037     if (has_new_width()) {
52038       total_size += 2 +
52039         ::google::protobuf::internal::WireFormatLite::Int32Size(
52040           this->new_width());
52041     }
52042
52043     // optional bool shuffle_images = 64 [default = false];
52044     if (has_shuffle_images()) {
52045       total_size += 2 + 1;
52046     }
52047
52048     // optional uint32 concat_dim = 65 [default = 1];
52049     if (has_concat_dim()) {
52050       total_size += 2 +
52051         ::google::protobuf::internal::WireFormatLite::UInt32Size(
52052           this->concat_dim());
52053     }
52054
52055     // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 1001;
52056     if (has_hdf5_output_param()) {
52057       total_size += 2 +
52058         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
52059           *this->hdf5_output_param_);
52060     }
52061
52062   }
52063   // repeated .opencv_caffe.BlobProto blobs = 50;
52064   {
52065     unsigned int count = this->blobs_size();
52066     total_size += 2UL * count;
52067     for (unsigned int i = 0; i < count; i++) {
52068       total_size +=
52069         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
52070           this->blobs(i));
52071     }
52072   }
52073
52074   // repeated float blobs_lr = 51;
52075   {
52076     size_t data_size = 0;
52077     unsigned int count = this->blobs_lr_size();
52078     data_size = 4UL * count;
52079     total_size += 2 *
52080                   ::google::protobuf::internal::FromIntSize(this->blobs_lr_size());
52081     total_size += data_size;
52082   }
52083
52084   // repeated float weight_decay = 52;
52085   {
52086     size_t data_size = 0;
52087     unsigned int count = this->weight_decay_size();
52088     data_size = 4UL * count;
52089     total_size += 2 *
52090                   ::google::protobuf::internal::FromIntSize(this->weight_decay_size());
52091     total_size += data_size;
52092   }
52093
52094   if (_internal_metadata_.have_unknown_fields()) {
52095     total_size +=
52096       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
52097         unknown_fields());
52098   }
52099   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
52100   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
52101   _cached_size_ = cached_size;
52102   GOOGLE_SAFE_CONCURRENT_WRITES_END();
52103   return total_size;
52104 }
52105
52106 void V0LayerParameter::MergeFrom(const ::google::protobuf::Message& from) {
52107 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.V0LayerParameter)
52108   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
52109   const V0LayerParameter* source =
52110       ::google::protobuf::internal::DynamicCastToGenerated<const V0LayerParameter>(
52111           &from);
52112   if (source == NULL) {
52113   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.V0LayerParameter)
52114     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
52115   } else {
52116   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.V0LayerParameter)
52117     UnsafeMergeFrom(*source);
52118   }
52119 }
52120
52121 void V0LayerParameter::MergeFrom(const V0LayerParameter& from) {
52122 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.V0LayerParameter)
52123   if (GOOGLE_PREDICT_TRUE(&from != this)) {
52124     UnsafeMergeFrom(from);
52125   } else {
52126     MergeFromFail(__LINE__);
52127   }
52128 }
52129
52130 void V0LayerParameter::UnsafeMergeFrom(const V0LayerParameter& from) {
52131   GOOGLE_DCHECK(&from != this);
52132   blobs_.MergeFrom(from.blobs_);
52133   blobs_lr_.UnsafeMergeFrom(from.blobs_lr_);
52134   weight_decay_.UnsafeMergeFrom(from.weight_decay_);
52135   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
52136     if (from.has_name()) {
52137       set_has_name();
52138       name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
52139     }
52140     if (from.has_type()) {
52141       set_has_type();
52142       type_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.type_);
52143     }
52144     if (from.has_num_output()) {
52145       set_num_output(from.num_output());
52146     }
52147     if (from.has_biasterm()) {
52148       set_biasterm(from.biasterm());
52149     }
52150     if (from.has_weight_filler()) {
52151       mutable_weight_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.weight_filler());
52152     }
52153     if (from.has_bias_filler()) {
52154       mutable_bias_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.bias_filler());
52155     }
52156     if (from.has_pad()) {
52157       set_pad(from.pad());
52158     }
52159     if (from.has_kernelsize()) {
52160       set_kernelsize(from.kernelsize());
52161     }
52162   }
52163   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
52164     if (from.has_group()) {
52165       set_group(from.group());
52166     }
52167     if (from.has_stride()) {
52168       set_stride(from.stride());
52169     }
52170     if (from.has_pool()) {
52171       set_pool(from.pool());
52172     }
52173     if (from.has_dropout_ratio()) {
52174       set_dropout_ratio(from.dropout_ratio());
52175     }
52176     if (from.has_local_size()) {
52177       set_local_size(from.local_size());
52178     }
52179     if (from.has_alpha()) {
52180       set_alpha(from.alpha());
52181     }
52182     if (from.has_beta()) {
52183       set_beta(from.beta());
52184     }
52185     if (from.has_k()) {
52186       set_k(from.k());
52187     }
52188   }
52189   if (from._has_bits_[16 / 32] & (0xffu << (16 % 32))) {
52190     if (from.has_source()) {
52191       set_has_source();
52192       source_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.source_);
52193     }
52194     if (from.has_scale()) {
52195       set_scale(from.scale());
52196     }
52197     if (from.has_meanfile()) {
52198       set_has_meanfile();
52199       meanfile_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.meanfile_);
52200     }
52201     if (from.has_batchsize()) {
52202       set_batchsize(from.batchsize());
52203     }
52204     if (from.has_cropsize()) {
52205       set_cropsize(from.cropsize());
52206     }
52207     if (from.has_mirror()) {
52208       set_mirror(from.mirror());
52209     }
52210   }
52211   if (from._has_bits_[25 / 32] & (0xffu << (25 % 32))) {
52212     if (from.has_rand_skip()) {
52213       set_rand_skip(from.rand_skip());
52214     }
52215     if (from.has_det_fg_threshold()) {
52216       set_det_fg_threshold(from.det_fg_threshold());
52217     }
52218     if (from.has_det_bg_threshold()) {
52219       set_det_bg_threshold(from.det_bg_threshold());
52220     }
52221     if (from.has_det_fg_fraction()) {
52222       set_det_fg_fraction(from.det_fg_fraction());
52223     }
52224     if (from.has_det_context_pad()) {
52225       set_det_context_pad(from.det_context_pad());
52226     }
52227     if (from.has_det_crop_mode()) {
52228       set_has_det_crop_mode();
52229       det_crop_mode_.AssignWithDefault(_default_det_crop_mode_, from.det_crop_mode_);
52230     }
52231     if (from.has_new_num()) {
52232       set_new_num(from.new_num());
52233     }
52234   }
52235   if (from._has_bits_[32 / 32] & (0xffu << (32 % 32))) {
52236     if (from.has_new_channels()) {
52237       set_new_channels(from.new_channels());
52238     }
52239     if (from.has_new_height()) {
52240       set_new_height(from.new_height());
52241     }
52242     if (from.has_new_width()) {
52243       set_new_width(from.new_width());
52244     }
52245     if (from.has_shuffle_images()) {
52246       set_shuffle_images(from.shuffle_images());
52247     }
52248     if (from.has_concat_dim()) {
52249       set_concat_dim(from.concat_dim());
52250     }
52251     if (from.has_hdf5_output_param()) {
52252       mutable_hdf5_output_param()->::opencv_caffe::HDF5OutputParameter::MergeFrom(from.hdf5_output_param());
52253     }
52254   }
52255   if (from._internal_metadata_.have_unknown_fields()) {
52256     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
52257       from.unknown_fields(), &_internal_metadata_);
52258   }
52259 }
52260
52261 void V0LayerParameter::CopyFrom(const ::google::protobuf::Message& from) {
52262 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.V0LayerParameter)
52263   if (&from == this) return;
52264   Clear();
52265   MergeFrom(from);
52266 }
52267
52268 void V0LayerParameter::CopyFrom(const V0LayerParameter& from) {
52269 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.V0LayerParameter)
52270   if (&from == this) return;
52271   Clear();
52272   UnsafeMergeFrom(from);
52273 }
52274
52275 bool V0LayerParameter::IsInitialized() const {
52276
52277   return true;
52278 }
52279
52280 void V0LayerParameter::Swap(V0LayerParameter* other) {
52281   if (other == this) return;
52282   InternalSwap(other);
52283 }
52284 void V0LayerParameter::InternalSwap(V0LayerParameter* other) {
52285   name_.Swap(&other->name_);
52286   type_.Swap(&other->type_);
52287   std::swap(num_output_, other->num_output_);
52288   std::swap(biasterm_, other->biasterm_);
52289   std::swap(weight_filler_, other->weight_filler_);
52290   std::swap(bias_filler_, other->bias_filler_);
52291   std::swap(pad_, other->pad_);
52292   std::swap(kernelsize_, other->kernelsize_);
52293   std::swap(group_, other->group_);
52294   std::swap(stride_, other->stride_);
52295   std::swap(pool_, other->pool_);
52296   std::swap(dropout_ratio_, other->dropout_ratio_);
52297   std::swap(local_size_, other->local_size_);
52298   std::swap(alpha_, other->alpha_);
52299   std::swap(beta_, other->beta_);
52300   std::swap(k_, other->k_);
52301   source_.Swap(&other->source_);
52302   std::swap(scale_, other->scale_);
52303   meanfile_.Swap(&other->meanfile_);
52304   std::swap(batchsize_, other->batchsize_);
52305   std::swap(cropsize_, other->cropsize_);
52306   std::swap(mirror_, other->mirror_);
52307   blobs_.UnsafeArenaSwap(&other->blobs_);
52308   blobs_lr_.UnsafeArenaSwap(&other->blobs_lr_);
52309   weight_decay_.UnsafeArenaSwap(&other->weight_decay_);
52310   std::swap(rand_skip_, other->rand_skip_);
52311   std::swap(det_fg_threshold_, other->det_fg_threshold_);
52312   std::swap(det_bg_threshold_, other->det_bg_threshold_);
52313   std::swap(det_fg_fraction_, other->det_fg_fraction_);
52314   std::swap(det_context_pad_, other->det_context_pad_);
52315   det_crop_mode_.Swap(&other->det_crop_mode_);
52316   std::swap(new_num_, other->new_num_);
52317   std::swap(new_channels_, other->new_channels_);
52318   std::swap(new_height_, other->new_height_);
52319   std::swap(new_width_, other->new_width_);
52320   std::swap(shuffle_images_, other->shuffle_images_);
52321   std::swap(concat_dim_, other->concat_dim_);
52322   std::swap(hdf5_output_param_, other->hdf5_output_param_);
52323   std::swap(_has_bits_[0], other->_has_bits_[0]);
52324   std::swap(_has_bits_[1], other->_has_bits_[1]);
52325   _internal_metadata_.Swap(&other->_internal_metadata_);
52326   std::swap(_cached_size_, other->_cached_size_);
52327 }
52328
52329 ::google::protobuf::Metadata V0LayerParameter::GetMetadata() const {
52330   protobuf_AssignDescriptorsOnce();
52331   ::google::protobuf::Metadata metadata;
52332   metadata.descriptor = V0LayerParameter_descriptor_;
52333   metadata.reflection = V0LayerParameter_reflection_;
52334   return metadata;
52335 }
52336
52337 #if PROTOBUF_INLINE_NOT_IN_HEADERS
52338 // V0LayerParameter
52339
52340 // optional string name = 1;
52341 bool V0LayerParameter::has_name() const {
52342   return (_has_bits_[0] & 0x00000001u) != 0;
52343 }
52344 void V0LayerParameter::set_has_name() {
52345   _has_bits_[0] |= 0x00000001u;
52346 }
52347 void V0LayerParameter::clear_has_name() {
52348   _has_bits_[0] &= ~0x00000001u;
52349 }
52350 void V0LayerParameter::clear_name() {
52351   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52352   clear_has_name();
52353 }
52354 const ::std::string& V0LayerParameter::name() const {
52355   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.name)
52356   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52357 }
52358 void V0LayerParameter::set_name(const ::std::string& value) {
52359   set_has_name();
52360   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
52361   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.name)
52362 }
52363 void V0LayerParameter::set_name(const char* value) {
52364   set_has_name();
52365   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
52366   // @@protoc_insertion_point(field_set_char:opencv_caffe.V0LayerParameter.name)
52367 }
52368 void V0LayerParameter::set_name(const char* value, size_t size) {
52369   set_has_name();
52370   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
52371       ::std::string(reinterpret_cast<const char*>(value), size));
52372   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V0LayerParameter.name)
52373 }
52374 ::std::string* V0LayerParameter::mutable_name() {
52375   set_has_name();
52376   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.name)
52377   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52378 }
52379 ::std::string* V0LayerParameter::release_name() {
52380   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.name)
52381   clear_has_name();
52382   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52383 }
52384 void V0LayerParameter::set_allocated_name(::std::string* name) {
52385   if (name != NULL) {
52386     set_has_name();
52387   } else {
52388     clear_has_name();
52389   }
52390   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
52391   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.name)
52392 }
52393
52394 // optional string type = 2;
52395 bool V0LayerParameter::has_type() const {
52396   return (_has_bits_[0] & 0x00000002u) != 0;
52397 }
52398 void V0LayerParameter::set_has_type() {
52399   _has_bits_[0] |= 0x00000002u;
52400 }
52401 void V0LayerParameter::clear_has_type() {
52402   _has_bits_[0] &= ~0x00000002u;
52403 }
52404 void V0LayerParameter::clear_type() {
52405   type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52406   clear_has_type();
52407 }
52408 const ::std::string& V0LayerParameter::type() const {
52409   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.type)
52410   return type_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52411 }
52412 void V0LayerParameter::set_type(const ::std::string& value) {
52413   set_has_type();
52414   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
52415   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.type)
52416 }
52417 void V0LayerParameter::set_type(const char* value) {
52418   set_has_type();
52419   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
52420   // @@protoc_insertion_point(field_set_char:opencv_caffe.V0LayerParameter.type)
52421 }
52422 void V0LayerParameter::set_type(const char* value, size_t size) {
52423   set_has_type();
52424   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
52425       ::std::string(reinterpret_cast<const char*>(value), size));
52426   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V0LayerParameter.type)
52427 }
52428 ::std::string* V0LayerParameter::mutable_type() {
52429   set_has_type();
52430   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.type)
52431   return type_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52432 }
52433 ::std::string* V0LayerParameter::release_type() {
52434   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.type)
52435   clear_has_type();
52436   return type_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52437 }
52438 void V0LayerParameter::set_allocated_type(::std::string* type) {
52439   if (type != NULL) {
52440     set_has_type();
52441   } else {
52442     clear_has_type();
52443   }
52444   type_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), type);
52445   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.type)
52446 }
52447
52448 // optional uint32 num_output = 3;
52449 bool V0LayerParameter::has_num_output() const {
52450   return (_has_bits_[0] & 0x00000004u) != 0;
52451 }
52452 void V0LayerParameter::set_has_num_output() {
52453   _has_bits_[0] |= 0x00000004u;
52454 }
52455 void V0LayerParameter::clear_has_num_output() {
52456   _has_bits_[0] &= ~0x00000004u;
52457 }
52458 void V0LayerParameter::clear_num_output() {
52459   num_output_ = 0u;
52460   clear_has_num_output();
52461 }
52462 ::google::protobuf::uint32 V0LayerParameter::num_output() const {
52463   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.num_output)
52464   return num_output_;
52465 }
52466 void V0LayerParameter::set_num_output(::google::protobuf::uint32 value) {
52467   set_has_num_output();
52468   num_output_ = value;
52469   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.num_output)
52470 }
52471
52472 // optional bool biasterm = 4 [default = true];
52473 bool V0LayerParameter::has_biasterm() const {
52474   return (_has_bits_[0] & 0x00000008u) != 0;
52475 }
52476 void V0LayerParameter::set_has_biasterm() {
52477   _has_bits_[0] |= 0x00000008u;
52478 }
52479 void V0LayerParameter::clear_has_biasterm() {
52480   _has_bits_[0] &= ~0x00000008u;
52481 }
52482 void V0LayerParameter::clear_biasterm() {
52483   biasterm_ = true;
52484   clear_has_biasterm();
52485 }
52486 bool V0LayerParameter::biasterm() const {
52487   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.biasterm)
52488   return biasterm_;
52489 }
52490 void V0LayerParameter::set_biasterm(bool value) {
52491   set_has_biasterm();
52492   biasterm_ = value;
52493   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.biasterm)
52494 }
52495
52496 // optional .opencv_caffe.FillerParameter weight_filler = 5;
52497 bool V0LayerParameter::has_weight_filler() const {
52498   return (_has_bits_[0] & 0x00000010u) != 0;
52499 }
52500 void V0LayerParameter::set_has_weight_filler() {
52501   _has_bits_[0] |= 0x00000010u;
52502 }
52503 void V0LayerParameter::clear_has_weight_filler() {
52504   _has_bits_[0] &= ~0x00000010u;
52505 }
52506 void V0LayerParameter::clear_weight_filler() {
52507   if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
52508   clear_has_weight_filler();
52509 }
52510 const ::opencv_caffe::FillerParameter& V0LayerParameter::weight_filler() const {
52511   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.weight_filler)
52512   return weight_filler_ != NULL ? *weight_filler_
52513                          : *::opencv_caffe::FillerParameter::internal_default_instance();
52514 }
52515 ::opencv_caffe::FillerParameter* V0LayerParameter::mutable_weight_filler() {
52516   set_has_weight_filler();
52517   if (weight_filler_ == NULL) {
52518     weight_filler_ = new ::opencv_caffe::FillerParameter;
52519   }
52520   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.weight_filler)
52521   return weight_filler_;
52522 }
52523 ::opencv_caffe::FillerParameter* V0LayerParameter::release_weight_filler() {
52524   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.weight_filler)
52525   clear_has_weight_filler();
52526   ::opencv_caffe::FillerParameter* temp = weight_filler_;
52527   weight_filler_ = NULL;
52528   return temp;
52529 }
52530 void V0LayerParameter::set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler) {
52531   delete weight_filler_;
52532   weight_filler_ = weight_filler;
52533   if (weight_filler) {
52534     set_has_weight_filler();
52535   } else {
52536     clear_has_weight_filler();
52537   }
52538   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.weight_filler)
52539 }
52540
52541 // optional .opencv_caffe.FillerParameter bias_filler = 6;
52542 bool V0LayerParameter::has_bias_filler() const {
52543   return (_has_bits_[0] & 0x00000020u) != 0;
52544 }
52545 void V0LayerParameter::set_has_bias_filler() {
52546   _has_bits_[0] |= 0x00000020u;
52547 }
52548 void V0LayerParameter::clear_has_bias_filler() {
52549   _has_bits_[0] &= ~0x00000020u;
52550 }
52551 void V0LayerParameter::clear_bias_filler() {
52552   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
52553   clear_has_bias_filler();
52554 }
52555 const ::opencv_caffe::FillerParameter& V0LayerParameter::bias_filler() const {
52556   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.bias_filler)
52557   return bias_filler_ != NULL ? *bias_filler_
52558                          : *::opencv_caffe::FillerParameter::internal_default_instance();
52559 }
52560 ::opencv_caffe::FillerParameter* V0LayerParameter::mutable_bias_filler() {
52561   set_has_bias_filler();
52562   if (bias_filler_ == NULL) {
52563     bias_filler_ = new ::opencv_caffe::FillerParameter;
52564   }
52565   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.bias_filler)
52566   return bias_filler_;
52567 }
52568 ::opencv_caffe::FillerParameter* V0LayerParameter::release_bias_filler() {
52569   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.bias_filler)
52570   clear_has_bias_filler();
52571   ::opencv_caffe::FillerParameter* temp = bias_filler_;
52572   bias_filler_ = NULL;
52573   return temp;
52574 }
52575 void V0LayerParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
52576   delete bias_filler_;
52577   bias_filler_ = bias_filler;
52578   if (bias_filler) {
52579     set_has_bias_filler();
52580   } else {
52581     clear_has_bias_filler();
52582   }
52583   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.bias_filler)
52584 }
52585
52586 // optional uint32 pad = 7 [default = 0];
52587 bool V0LayerParameter::has_pad() const {
52588   return (_has_bits_[0] & 0x00000040u) != 0;
52589 }
52590 void V0LayerParameter::set_has_pad() {
52591   _has_bits_[0] |= 0x00000040u;
52592 }
52593 void V0LayerParameter::clear_has_pad() {
52594   _has_bits_[0] &= ~0x00000040u;
52595 }
52596 void V0LayerParameter::clear_pad() {
52597   pad_ = 0u;
52598   clear_has_pad();
52599 }
52600 ::google::protobuf::uint32 V0LayerParameter::pad() const {
52601   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.pad)
52602   return pad_;
52603 }
52604 void V0LayerParameter::set_pad(::google::protobuf::uint32 value) {
52605   set_has_pad();
52606   pad_ = value;
52607   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.pad)
52608 }
52609
52610 // optional uint32 kernelsize = 8;
52611 bool V0LayerParameter::has_kernelsize() const {
52612   return (_has_bits_[0] & 0x00000080u) != 0;
52613 }
52614 void V0LayerParameter::set_has_kernelsize() {
52615   _has_bits_[0] |= 0x00000080u;
52616 }
52617 void V0LayerParameter::clear_has_kernelsize() {
52618   _has_bits_[0] &= ~0x00000080u;
52619 }
52620 void V0LayerParameter::clear_kernelsize() {
52621   kernelsize_ = 0u;
52622   clear_has_kernelsize();
52623 }
52624 ::google::protobuf::uint32 V0LayerParameter::kernelsize() const {
52625   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.kernelsize)
52626   return kernelsize_;
52627 }
52628 void V0LayerParameter::set_kernelsize(::google::protobuf::uint32 value) {
52629   set_has_kernelsize();
52630   kernelsize_ = value;
52631   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.kernelsize)
52632 }
52633
52634 // optional uint32 group = 9 [default = 1];
52635 bool V0LayerParameter::has_group() const {
52636   return (_has_bits_[0] & 0x00000100u) != 0;
52637 }
52638 void V0LayerParameter::set_has_group() {
52639   _has_bits_[0] |= 0x00000100u;
52640 }
52641 void V0LayerParameter::clear_has_group() {
52642   _has_bits_[0] &= ~0x00000100u;
52643 }
52644 void V0LayerParameter::clear_group() {
52645   group_ = 1u;
52646   clear_has_group();
52647 }
52648 ::google::protobuf::uint32 V0LayerParameter::group() const {
52649   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.group)
52650   return group_;
52651 }
52652 void V0LayerParameter::set_group(::google::protobuf::uint32 value) {
52653   set_has_group();
52654   group_ = value;
52655   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.group)
52656 }
52657
52658 // optional uint32 stride = 10 [default = 1];
52659 bool V0LayerParameter::has_stride() const {
52660   return (_has_bits_[0] & 0x00000200u) != 0;
52661 }
52662 void V0LayerParameter::set_has_stride() {
52663   _has_bits_[0] |= 0x00000200u;
52664 }
52665 void V0LayerParameter::clear_has_stride() {
52666   _has_bits_[0] &= ~0x00000200u;
52667 }
52668 void V0LayerParameter::clear_stride() {
52669   stride_ = 1u;
52670   clear_has_stride();
52671 }
52672 ::google::protobuf::uint32 V0LayerParameter::stride() const {
52673   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.stride)
52674   return stride_;
52675 }
52676 void V0LayerParameter::set_stride(::google::protobuf::uint32 value) {
52677   set_has_stride();
52678   stride_ = value;
52679   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.stride)
52680 }
52681
52682 // optional .opencv_caffe.V0LayerParameter.PoolMethod pool = 11 [default = MAX];
52683 bool V0LayerParameter::has_pool() const {
52684   return (_has_bits_[0] & 0x00000400u) != 0;
52685 }
52686 void V0LayerParameter::set_has_pool() {
52687   _has_bits_[0] |= 0x00000400u;
52688 }
52689 void V0LayerParameter::clear_has_pool() {
52690   _has_bits_[0] &= ~0x00000400u;
52691 }
52692 void V0LayerParameter::clear_pool() {
52693   pool_ = 0;
52694   clear_has_pool();
52695 }
52696 ::opencv_caffe::V0LayerParameter_PoolMethod V0LayerParameter::pool() const {
52697   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.pool)
52698   return static_cast< ::opencv_caffe::V0LayerParameter_PoolMethod >(pool_);
52699 }
52700 void V0LayerParameter::set_pool(::opencv_caffe::V0LayerParameter_PoolMethod value) {
52701   assert(::opencv_caffe::V0LayerParameter_PoolMethod_IsValid(value));
52702   set_has_pool();
52703   pool_ = value;
52704   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.pool)
52705 }
52706
52707 // optional float dropout_ratio = 12 [default = 0.5];
52708 bool V0LayerParameter::has_dropout_ratio() const {
52709   return (_has_bits_[0] & 0x00000800u) != 0;
52710 }
52711 void V0LayerParameter::set_has_dropout_ratio() {
52712   _has_bits_[0] |= 0x00000800u;
52713 }
52714 void V0LayerParameter::clear_has_dropout_ratio() {
52715   _has_bits_[0] &= ~0x00000800u;
52716 }
52717 void V0LayerParameter::clear_dropout_ratio() {
52718   dropout_ratio_ = 0.5f;
52719   clear_has_dropout_ratio();
52720 }
52721 float V0LayerParameter::dropout_ratio() const {
52722   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.dropout_ratio)
52723   return dropout_ratio_;
52724 }
52725 void V0LayerParameter::set_dropout_ratio(float value) {
52726   set_has_dropout_ratio();
52727   dropout_ratio_ = value;
52728   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.dropout_ratio)
52729 }
52730
52731 // optional uint32 local_size = 13 [default = 5];
52732 bool V0LayerParameter::has_local_size() const {
52733   return (_has_bits_[0] & 0x00001000u) != 0;
52734 }
52735 void V0LayerParameter::set_has_local_size() {
52736   _has_bits_[0] |= 0x00001000u;
52737 }
52738 void V0LayerParameter::clear_has_local_size() {
52739   _has_bits_[0] &= ~0x00001000u;
52740 }
52741 void V0LayerParameter::clear_local_size() {
52742   local_size_ = 5u;
52743   clear_has_local_size();
52744 }
52745 ::google::protobuf::uint32 V0LayerParameter::local_size() const {
52746   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.local_size)
52747   return local_size_;
52748 }
52749 void V0LayerParameter::set_local_size(::google::protobuf::uint32 value) {
52750   set_has_local_size();
52751   local_size_ = value;
52752   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.local_size)
52753 }
52754
52755 // optional float alpha = 14 [default = 1];
52756 bool V0LayerParameter::has_alpha() const {
52757   return (_has_bits_[0] & 0x00002000u) != 0;
52758 }
52759 void V0LayerParameter::set_has_alpha() {
52760   _has_bits_[0] |= 0x00002000u;
52761 }
52762 void V0LayerParameter::clear_has_alpha() {
52763   _has_bits_[0] &= ~0x00002000u;
52764 }
52765 void V0LayerParameter::clear_alpha() {
52766   alpha_ = 1;
52767   clear_has_alpha();
52768 }
52769 float V0LayerParameter::alpha() const {
52770   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.alpha)
52771   return alpha_;
52772 }
52773 void V0LayerParameter::set_alpha(float value) {
52774   set_has_alpha();
52775   alpha_ = value;
52776   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.alpha)
52777 }
52778
52779 // optional float beta = 15 [default = 0.75];
52780 bool V0LayerParameter::has_beta() const {
52781   return (_has_bits_[0] & 0x00004000u) != 0;
52782 }
52783 void V0LayerParameter::set_has_beta() {
52784   _has_bits_[0] |= 0x00004000u;
52785 }
52786 void V0LayerParameter::clear_has_beta() {
52787   _has_bits_[0] &= ~0x00004000u;
52788 }
52789 void V0LayerParameter::clear_beta() {
52790   beta_ = 0.75f;
52791   clear_has_beta();
52792 }
52793 float V0LayerParameter::beta() const {
52794   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.beta)
52795   return beta_;
52796 }
52797 void V0LayerParameter::set_beta(float value) {
52798   set_has_beta();
52799   beta_ = value;
52800   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.beta)
52801 }
52802
52803 // optional float k = 22 [default = 1];
52804 bool V0LayerParameter::has_k() const {
52805   return (_has_bits_[0] & 0x00008000u) != 0;
52806 }
52807 void V0LayerParameter::set_has_k() {
52808   _has_bits_[0] |= 0x00008000u;
52809 }
52810 void V0LayerParameter::clear_has_k() {
52811   _has_bits_[0] &= ~0x00008000u;
52812 }
52813 void V0LayerParameter::clear_k() {
52814   k_ = 1;
52815   clear_has_k();
52816 }
52817 float V0LayerParameter::k() const {
52818   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.k)
52819   return k_;
52820 }
52821 void V0LayerParameter::set_k(float value) {
52822   set_has_k();
52823   k_ = value;
52824   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.k)
52825 }
52826
52827 // optional string source = 16;
52828 bool V0LayerParameter::has_source() const {
52829   return (_has_bits_[0] & 0x00010000u) != 0;
52830 }
52831 void V0LayerParameter::set_has_source() {
52832   _has_bits_[0] |= 0x00010000u;
52833 }
52834 void V0LayerParameter::clear_has_source() {
52835   _has_bits_[0] &= ~0x00010000u;
52836 }
52837 void V0LayerParameter::clear_source() {
52838   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52839   clear_has_source();
52840 }
52841 const ::std::string& V0LayerParameter::source() const {
52842   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.source)
52843   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52844 }
52845 void V0LayerParameter::set_source(const ::std::string& value) {
52846   set_has_source();
52847   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
52848   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.source)
52849 }
52850 void V0LayerParameter::set_source(const char* value) {
52851   set_has_source();
52852   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
52853   // @@protoc_insertion_point(field_set_char:opencv_caffe.V0LayerParameter.source)
52854 }
52855 void V0LayerParameter::set_source(const char* value, size_t size) {
52856   set_has_source();
52857   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
52858       ::std::string(reinterpret_cast<const char*>(value), size));
52859   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V0LayerParameter.source)
52860 }
52861 ::std::string* V0LayerParameter::mutable_source() {
52862   set_has_source();
52863   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.source)
52864   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52865 }
52866 ::std::string* V0LayerParameter::release_source() {
52867   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.source)
52868   clear_has_source();
52869   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52870 }
52871 void V0LayerParameter::set_allocated_source(::std::string* source) {
52872   if (source != NULL) {
52873     set_has_source();
52874   } else {
52875     clear_has_source();
52876   }
52877   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
52878   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.source)
52879 }
52880
52881 // optional float scale = 17 [default = 1];
52882 bool V0LayerParameter::has_scale() const {
52883   return (_has_bits_[0] & 0x00020000u) != 0;
52884 }
52885 void V0LayerParameter::set_has_scale() {
52886   _has_bits_[0] |= 0x00020000u;
52887 }
52888 void V0LayerParameter::clear_has_scale() {
52889   _has_bits_[0] &= ~0x00020000u;
52890 }
52891 void V0LayerParameter::clear_scale() {
52892   scale_ = 1;
52893   clear_has_scale();
52894 }
52895 float V0LayerParameter::scale() const {
52896   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.scale)
52897   return scale_;
52898 }
52899 void V0LayerParameter::set_scale(float value) {
52900   set_has_scale();
52901   scale_ = value;
52902   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.scale)
52903 }
52904
52905 // optional string meanfile = 18;
52906 bool V0LayerParameter::has_meanfile() const {
52907   return (_has_bits_[0] & 0x00040000u) != 0;
52908 }
52909 void V0LayerParameter::set_has_meanfile() {
52910   _has_bits_[0] |= 0x00040000u;
52911 }
52912 void V0LayerParameter::clear_has_meanfile() {
52913   _has_bits_[0] &= ~0x00040000u;
52914 }
52915 void V0LayerParameter::clear_meanfile() {
52916   meanfile_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52917   clear_has_meanfile();
52918 }
52919 const ::std::string& V0LayerParameter::meanfile() const {
52920   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.meanfile)
52921   return meanfile_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52922 }
52923 void V0LayerParameter::set_meanfile(const ::std::string& value) {
52924   set_has_meanfile();
52925   meanfile_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
52926   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.meanfile)
52927 }
52928 void V0LayerParameter::set_meanfile(const char* value) {
52929   set_has_meanfile();
52930   meanfile_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
52931   // @@protoc_insertion_point(field_set_char:opencv_caffe.V0LayerParameter.meanfile)
52932 }
52933 void V0LayerParameter::set_meanfile(const char* value, size_t size) {
52934   set_has_meanfile();
52935   meanfile_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
52936       ::std::string(reinterpret_cast<const char*>(value), size));
52937   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V0LayerParameter.meanfile)
52938 }
52939 ::std::string* V0LayerParameter::mutable_meanfile() {
52940   set_has_meanfile();
52941   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.meanfile)
52942   return meanfile_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52943 }
52944 ::std::string* V0LayerParameter::release_meanfile() {
52945   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.meanfile)
52946   clear_has_meanfile();
52947   return meanfile_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52948 }
52949 void V0LayerParameter::set_allocated_meanfile(::std::string* meanfile) {
52950   if (meanfile != NULL) {
52951     set_has_meanfile();
52952   } else {
52953     clear_has_meanfile();
52954   }
52955   meanfile_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), meanfile);
52956   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.meanfile)
52957 }
52958
52959 // optional uint32 batchsize = 19;
52960 bool V0LayerParameter::has_batchsize() const {
52961   return (_has_bits_[0] & 0x00080000u) != 0;
52962 }
52963 void V0LayerParameter::set_has_batchsize() {
52964   _has_bits_[0] |= 0x00080000u;
52965 }
52966 void V0LayerParameter::clear_has_batchsize() {
52967   _has_bits_[0] &= ~0x00080000u;
52968 }
52969 void V0LayerParameter::clear_batchsize() {
52970   batchsize_ = 0u;
52971   clear_has_batchsize();
52972 }
52973 ::google::protobuf::uint32 V0LayerParameter::batchsize() const {
52974   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.batchsize)
52975   return batchsize_;
52976 }
52977 void V0LayerParameter::set_batchsize(::google::protobuf::uint32 value) {
52978   set_has_batchsize();
52979   batchsize_ = value;
52980   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.batchsize)
52981 }
52982
52983 // optional uint32 cropsize = 20 [default = 0];
52984 bool V0LayerParameter::has_cropsize() const {
52985   return (_has_bits_[0] & 0x00100000u) != 0;
52986 }
52987 void V0LayerParameter::set_has_cropsize() {
52988   _has_bits_[0] |= 0x00100000u;
52989 }
52990 void V0LayerParameter::clear_has_cropsize() {
52991   _has_bits_[0] &= ~0x00100000u;
52992 }
52993 void V0LayerParameter::clear_cropsize() {
52994   cropsize_ = 0u;
52995   clear_has_cropsize();
52996 }
52997 ::google::protobuf::uint32 V0LayerParameter::cropsize() const {
52998   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.cropsize)
52999   return cropsize_;
53000 }
53001 void V0LayerParameter::set_cropsize(::google::protobuf::uint32 value) {
53002   set_has_cropsize();
53003   cropsize_ = value;
53004   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.cropsize)
53005 }
53006
53007 // optional bool mirror = 21 [default = false];
53008 bool V0LayerParameter::has_mirror() const {
53009   return (_has_bits_[0] & 0x00200000u) != 0;
53010 }
53011 void V0LayerParameter::set_has_mirror() {
53012   _has_bits_[0] |= 0x00200000u;
53013 }
53014 void V0LayerParameter::clear_has_mirror() {
53015   _has_bits_[0] &= ~0x00200000u;
53016 }
53017 void V0LayerParameter::clear_mirror() {
53018   mirror_ = false;
53019   clear_has_mirror();
53020 }
53021 bool V0LayerParameter::mirror() const {
53022   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.mirror)
53023   return mirror_;
53024 }
53025 void V0LayerParameter::set_mirror(bool value) {
53026   set_has_mirror();
53027   mirror_ = value;
53028   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.mirror)
53029 }
53030
53031 // repeated .opencv_caffe.BlobProto blobs = 50;
53032 int V0LayerParameter::blobs_size() const {
53033   return blobs_.size();
53034 }
53035 void V0LayerParameter::clear_blobs() {
53036   blobs_.Clear();
53037 }
53038 const ::opencv_caffe::BlobProto& V0LayerParameter::blobs(int index) const {
53039   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.blobs)
53040   return blobs_.Get(index);
53041 }
53042 ::opencv_caffe::BlobProto* V0LayerParameter::mutable_blobs(int index) {
53043   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.blobs)
53044   return blobs_.Mutable(index);
53045 }
53046 ::opencv_caffe::BlobProto* V0LayerParameter::add_blobs() {
53047   // @@protoc_insertion_point(field_add:opencv_caffe.V0LayerParameter.blobs)
53048   return blobs_.Add();
53049 }
53050 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
53051 V0LayerParameter::mutable_blobs() {
53052   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V0LayerParameter.blobs)
53053   return &blobs_;
53054 }
53055 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
53056 V0LayerParameter::blobs() const {
53057   // @@protoc_insertion_point(field_list:opencv_caffe.V0LayerParameter.blobs)
53058   return blobs_;
53059 }
53060
53061 // repeated float blobs_lr = 51;
53062 int V0LayerParameter::blobs_lr_size() const {
53063   return blobs_lr_.size();
53064 }
53065 void V0LayerParameter::clear_blobs_lr() {
53066   blobs_lr_.Clear();
53067 }
53068 float V0LayerParameter::blobs_lr(int index) const {
53069   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.blobs_lr)
53070   return blobs_lr_.Get(index);
53071 }
53072 void V0LayerParameter::set_blobs_lr(int index, float value) {
53073   blobs_lr_.Set(index, value);
53074   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.blobs_lr)
53075 }
53076 void V0LayerParameter::add_blobs_lr(float value) {
53077   blobs_lr_.Add(value);
53078   // @@protoc_insertion_point(field_add:opencv_caffe.V0LayerParameter.blobs_lr)
53079 }
53080 const ::google::protobuf::RepeatedField< float >&
53081 V0LayerParameter::blobs_lr() const {
53082   // @@protoc_insertion_point(field_list:opencv_caffe.V0LayerParameter.blobs_lr)
53083   return blobs_lr_;
53084 }
53085 ::google::protobuf::RepeatedField< float >*
53086 V0LayerParameter::mutable_blobs_lr() {
53087   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V0LayerParameter.blobs_lr)
53088   return &blobs_lr_;
53089 }
53090
53091 // repeated float weight_decay = 52;
53092 int V0LayerParameter::weight_decay_size() const {
53093   return weight_decay_.size();
53094 }
53095 void V0LayerParameter::clear_weight_decay() {
53096   weight_decay_.Clear();
53097 }
53098 float V0LayerParameter::weight_decay(int index) const {
53099   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.weight_decay)
53100   return weight_decay_.Get(index);
53101 }
53102 void V0LayerParameter::set_weight_decay(int index, float value) {
53103   weight_decay_.Set(index, value);
53104   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.weight_decay)
53105 }
53106 void V0LayerParameter::add_weight_decay(float value) {
53107   weight_decay_.Add(value);
53108   // @@protoc_insertion_point(field_add:opencv_caffe.V0LayerParameter.weight_decay)
53109 }
53110 const ::google::protobuf::RepeatedField< float >&
53111 V0LayerParameter::weight_decay() const {
53112   // @@protoc_insertion_point(field_list:opencv_caffe.V0LayerParameter.weight_decay)
53113   return weight_decay_;
53114 }
53115 ::google::protobuf::RepeatedField< float >*
53116 V0LayerParameter::mutable_weight_decay() {
53117   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V0LayerParameter.weight_decay)
53118   return &weight_decay_;
53119 }
53120
53121 // optional uint32 rand_skip = 53 [default = 0];
53122 bool V0LayerParameter::has_rand_skip() const {
53123   return (_has_bits_[0] & 0x02000000u) != 0;
53124 }
53125 void V0LayerParameter::set_has_rand_skip() {
53126   _has_bits_[0] |= 0x02000000u;
53127 }
53128 void V0LayerParameter::clear_has_rand_skip() {
53129   _has_bits_[0] &= ~0x02000000u;
53130 }
53131 void V0LayerParameter::clear_rand_skip() {
53132   rand_skip_ = 0u;
53133   clear_has_rand_skip();
53134 }
53135 ::google::protobuf::uint32 V0LayerParameter::rand_skip() const {
53136   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.rand_skip)
53137   return rand_skip_;
53138 }
53139 void V0LayerParameter::set_rand_skip(::google::protobuf::uint32 value) {
53140   set_has_rand_skip();
53141   rand_skip_ = value;
53142   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.rand_skip)
53143 }
53144
53145 // optional float det_fg_threshold = 54 [default = 0.5];
53146 bool V0LayerParameter::has_det_fg_threshold() const {
53147   return (_has_bits_[0] & 0x04000000u) != 0;
53148 }
53149 void V0LayerParameter::set_has_det_fg_threshold() {
53150   _has_bits_[0] |= 0x04000000u;
53151 }
53152 void V0LayerParameter::clear_has_det_fg_threshold() {
53153   _has_bits_[0] &= ~0x04000000u;
53154 }
53155 void V0LayerParameter::clear_det_fg_threshold() {
53156   det_fg_threshold_ = 0.5f;
53157   clear_has_det_fg_threshold();
53158 }
53159 float V0LayerParameter::det_fg_threshold() const {
53160   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.det_fg_threshold)
53161   return det_fg_threshold_;
53162 }
53163 void V0LayerParameter::set_det_fg_threshold(float value) {
53164   set_has_det_fg_threshold();
53165   det_fg_threshold_ = value;
53166   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.det_fg_threshold)
53167 }
53168
53169 // optional float det_bg_threshold = 55 [default = 0.5];
53170 bool V0LayerParameter::has_det_bg_threshold() const {
53171   return (_has_bits_[0] & 0x08000000u) != 0;
53172 }
53173 void V0LayerParameter::set_has_det_bg_threshold() {
53174   _has_bits_[0] |= 0x08000000u;
53175 }
53176 void V0LayerParameter::clear_has_det_bg_threshold() {
53177   _has_bits_[0] &= ~0x08000000u;
53178 }
53179 void V0LayerParameter::clear_det_bg_threshold() {
53180   det_bg_threshold_ = 0.5f;
53181   clear_has_det_bg_threshold();
53182 }
53183 float V0LayerParameter::det_bg_threshold() const {
53184   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.det_bg_threshold)
53185   return det_bg_threshold_;
53186 }
53187 void V0LayerParameter::set_det_bg_threshold(float value) {
53188   set_has_det_bg_threshold();
53189   det_bg_threshold_ = value;
53190   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.det_bg_threshold)
53191 }
53192
53193 // optional float det_fg_fraction = 56 [default = 0.25];
53194 bool V0LayerParameter::has_det_fg_fraction() const {
53195   return (_has_bits_[0] & 0x10000000u) != 0;
53196 }
53197 void V0LayerParameter::set_has_det_fg_fraction() {
53198   _has_bits_[0] |= 0x10000000u;
53199 }
53200 void V0LayerParameter::clear_has_det_fg_fraction() {
53201   _has_bits_[0] &= ~0x10000000u;
53202 }
53203 void V0LayerParameter::clear_det_fg_fraction() {
53204   det_fg_fraction_ = 0.25f;
53205   clear_has_det_fg_fraction();
53206 }
53207 float V0LayerParameter::det_fg_fraction() const {
53208   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.det_fg_fraction)
53209   return det_fg_fraction_;
53210 }
53211 void V0LayerParameter::set_det_fg_fraction(float value) {
53212   set_has_det_fg_fraction();
53213   det_fg_fraction_ = value;
53214   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.det_fg_fraction)
53215 }
53216
53217 // optional uint32 det_context_pad = 58 [default = 0];
53218 bool V0LayerParameter::has_det_context_pad() const {
53219   return (_has_bits_[0] & 0x20000000u) != 0;
53220 }
53221 void V0LayerParameter::set_has_det_context_pad() {
53222   _has_bits_[0] |= 0x20000000u;
53223 }
53224 void V0LayerParameter::clear_has_det_context_pad() {
53225   _has_bits_[0] &= ~0x20000000u;
53226 }
53227 void V0LayerParameter::clear_det_context_pad() {
53228   det_context_pad_ = 0u;
53229   clear_has_det_context_pad();
53230 }
53231 ::google::protobuf::uint32 V0LayerParameter::det_context_pad() const {
53232   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.det_context_pad)
53233   return det_context_pad_;
53234 }
53235 void V0LayerParameter::set_det_context_pad(::google::protobuf::uint32 value) {
53236   set_has_det_context_pad();
53237   det_context_pad_ = value;
53238   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.det_context_pad)
53239 }
53240
53241 // optional string det_crop_mode = 59 [default = "warp"];
53242 bool V0LayerParameter::has_det_crop_mode() const {
53243   return (_has_bits_[0] & 0x40000000u) != 0;
53244 }
53245 void V0LayerParameter::set_has_det_crop_mode() {
53246   _has_bits_[0] |= 0x40000000u;
53247 }
53248 void V0LayerParameter::clear_has_det_crop_mode() {
53249   _has_bits_[0] &= ~0x40000000u;
53250 }
53251 void V0LayerParameter::clear_det_crop_mode() {
53252   det_crop_mode_.ClearToDefaultNoArena(_default_det_crop_mode_);
53253   clear_has_det_crop_mode();
53254 }
53255 const ::std::string& V0LayerParameter::det_crop_mode() const {
53256   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.det_crop_mode)
53257   return det_crop_mode_.GetNoArena(_default_det_crop_mode_);
53258 }
53259 void V0LayerParameter::set_det_crop_mode(const ::std::string& value) {
53260   set_has_det_crop_mode();
53261   det_crop_mode_.SetNoArena(_default_det_crop_mode_, value);
53262   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.det_crop_mode)
53263 }
53264 void V0LayerParameter::set_det_crop_mode(const char* value) {
53265   set_has_det_crop_mode();
53266   det_crop_mode_.SetNoArena(_default_det_crop_mode_, ::std::string(value));
53267   // @@protoc_insertion_point(field_set_char:opencv_caffe.V0LayerParameter.det_crop_mode)
53268 }
53269 void V0LayerParameter::set_det_crop_mode(const char* value, size_t size) {
53270   set_has_det_crop_mode();
53271   det_crop_mode_.SetNoArena(_default_det_crop_mode_,
53272       ::std::string(reinterpret_cast<const char*>(value), size));
53273   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V0LayerParameter.det_crop_mode)
53274 }
53275 ::std::string* V0LayerParameter::mutable_det_crop_mode() {
53276   set_has_det_crop_mode();
53277   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.det_crop_mode)
53278   return det_crop_mode_.MutableNoArena(_default_det_crop_mode_);
53279 }
53280 ::std::string* V0LayerParameter::release_det_crop_mode() {
53281   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.det_crop_mode)
53282   clear_has_det_crop_mode();
53283   return det_crop_mode_.ReleaseNoArena(_default_det_crop_mode_);
53284 }
53285 void V0LayerParameter::set_allocated_det_crop_mode(::std::string* det_crop_mode) {
53286   if (det_crop_mode != NULL) {
53287     set_has_det_crop_mode();
53288   } else {
53289     clear_has_det_crop_mode();
53290   }
53291   det_crop_mode_.SetAllocatedNoArena(_default_det_crop_mode_, det_crop_mode);
53292   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.det_crop_mode)
53293 }
53294
53295 // optional int32 new_num = 60 [default = 0];
53296 bool V0LayerParameter::has_new_num() const {
53297   return (_has_bits_[0] & 0x80000000u) != 0;
53298 }
53299 void V0LayerParameter::set_has_new_num() {
53300   _has_bits_[0] |= 0x80000000u;
53301 }
53302 void V0LayerParameter::clear_has_new_num() {
53303   _has_bits_[0] &= ~0x80000000u;
53304 }
53305 void V0LayerParameter::clear_new_num() {
53306   new_num_ = 0;
53307   clear_has_new_num();
53308 }
53309 ::google::protobuf::int32 V0LayerParameter::new_num() const {
53310   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.new_num)
53311   return new_num_;
53312 }
53313 void V0LayerParameter::set_new_num(::google::protobuf::int32 value) {
53314   set_has_new_num();
53315   new_num_ = value;
53316   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.new_num)
53317 }
53318
53319 // optional int32 new_channels = 61 [default = 0];
53320 bool V0LayerParameter::has_new_channels() const {
53321   return (_has_bits_[1] & 0x00000001u) != 0;
53322 }
53323 void V0LayerParameter::set_has_new_channels() {
53324   _has_bits_[1] |= 0x00000001u;
53325 }
53326 void V0LayerParameter::clear_has_new_channels() {
53327   _has_bits_[1] &= ~0x00000001u;
53328 }
53329 void V0LayerParameter::clear_new_channels() {
53330   new_channels_ = 0;
53331   clear_has_new_channels();
53332 }
53333 ::google::protobuf::int32 V0LayerParameter::new_channels() const {
53334   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.new_channels)
53335   return new_channels_;
53336 }
53337 void V0LayerParameter::set_new_channels(::google::protobuf::int32 value) {
53338   set_has_new_channels();
53339   new_channels_ = value;
53340   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.new_channels)
53341 }
53342
53343 // optional int32 new_height = 62 [default = 0];
53344 bool V0LayerParameter::has_new_height() const {
53345   return (_has_bits_[1] & 0x00000002u) != 0;
53346 }
53347 void V0LayerParameter::set_has_new_height() {
53348   _has_bits_[1] |= 0x00000002u;
53349 }
53350 void V0LayerParameter::clear_has_new_height() {
53351   _has_bits_[1] &= ~0x00000002u;
53352 }
53353 void V0LayerParameter::clear_new_height() {
53354   new_height_ = 0;
53355   clear_has_new_height();
53356 }
53357 ::google::protobuf::int32 V0LayerParameter::new_height() const {
53358   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.new_height)
53359   return new_height_;
53360 }
53361 void V0LayerParameter::set_new_height(::google::protobuf::int32 value) {
53362   set_has_new_height();
53363   new_height_ = value;
53364   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.new_height)
53365 }
53366
53367 // optional int32 new_width = 63 [default = 0];
53368 bool V0LayerParameter::has_new_width() const {
53369   return (_has_bits_[1] & 0x00000004u) != 0;
53370 }
53371 void V0LayerParameter::set_has_new_width() {
53372   _has_bits_[1] |= 0x00000004u;
53373 }
53374 void V0LayerParameter::clear_has_new_width() {
53375   _has_bits_[1] &= ~0x00000004u;
53376 }
53377 void V0LayerParameter::clear_new_width() {
53378   new_width_ = 0;
53379   clear_has_new_width();
53380 }
53381 ::google::protobuf::int32 V0LayerParameter::new_width() const {
53382   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.new_width)
53383   return new_width_;
53384 }
53385 void V0LayerParameter::set_new_width(::google::protobuf::int32 value) {
53386   set_has_new_width();
53387   new_width_ = value;
53388   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.new_width)
53389 }
53390
53391 // optional bool shuffle_images = 64 [default = false];
53392 bool V0LayerParameter::has_shuffle_images() const {
53393   return (_has_bits_[1] & 0x00000008u) != 0;
53394 }
53395 void V0LayerParameter::set_has_shuffle_images() {
53396   _has_bits_[1] |= 0x00000008u;
53397 }
53398 void V0LayerParameter::clear_has_shuffle_images() {
53399   _has_bits_[1] &= ~0x00000008u;
53400 }
53401 void V0LayerParameter::clear_shuffle_images() {
53402   shuffle_images_ = false;
53403   clear_has_shuffle_images();
53404 }
53405 bool V0LayerParameter::shuffle_images() const {
53406   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.shuffle_images)
53407   return shuffle_images_;
53408 }
53409 void V0LayerParameter::set_shuffle_images(bool value) {
53410   set_has_shuffle_images();
53411   shuffle_images_ = value;
53412   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.shuffle_images)
53413 }
53414
53415 // optional uint32 concat_dim = 65 [default = 1];
53416 bool V0LayerParameter::has_concat_dim() const {
53417   return (_has_bits_[1] & 0x00000010u) != 0;
53418 }
53419 void V0LayerParameter::set_has_concat_dim() {
53420   _has_bits_[1] |= 0x00000010u;
53421 }
53422 void V0LayerParameter::clear_has_concat_dim() {
53423   _has_bits_[1] &= ~0x00000010u;
53424 }
53425 void V0LayerParameter::clear_concat_dim() {
53426   concat_dim_ = 1u;
53427   clear_has_concat_dim();
53428 }
53429 ::google::protobuf::uint32 V0LayerParameter::concat_dim() const {
53430   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.concat_dim)
53431   return concat_dim_;
53432 }
53433 void V0LayerParameter::set_concat_dim(::google::protobuf::uint32 value) {
53434   set_has_concat_dim();
53435   concat_dim_ = value;
53436   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.concat_dim)
53437 }
53438
53439 // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 1001;
53440 bool V0LayerParameter::has_hdf5_output_param() const {
53441   return (_has_bits_[1] & 0x00000020u) != 0;
53442 }
53443 void V0LayerParameter::set_has_hdf5_output_param() {
53444   _has_bits_[1] |= 0x00000020u;
53445 }
53446 void V0LayerParameter::clear_has_hdf5_output_param() {
53447   _has_bits_[1] &= ~0x00000020u;
53448 }
53449 void V0LayerParameter::clear_hdf5_output_param() {
53450   if (hdf5_output_param_ != NULL) hdf5_output_param_->::opencv_caffe::HDF5OutputParameter::Clear();
53451   clear_has_hdf5_output_param();
53452 }
53453 const ::opencv_caffe::HDF5OutputParameter& V0LayerParameter::hdf5_output_param() const {
53454   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.hdf5_output_param)
53455   return hdf5_output_param_ != NULL ? *hdf5_output_param_
53456                          : *::opencv_caffe::HDF5OutputParameter::internal_default_instance();
53457 }
53458 ::opencv_caffe::HDF5OutputParameter* V0LayerParameter::mutable_hdf5_output_param() {
53459   set_has_hdf5_output_param();
53460   if (hdf5_output_param_ == NULL) {
53461     hdf5_output_param_ = new ::opencv_caffe::HDF5OutputParameter;
53462   }
53463   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.hdf5_output_param)
53464   return hdf5_output_param_;
53465 }
53466 ::opencv_caffe::HDF5OutputParameter* V0LayerParameter::release_hdf5_output_param() {
53467   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.hdf5_output_param)
53468   clear_has_hdf5_output_param();
53469   ::opencv_caffe::HDF5OutputParameter* temp = hdf5_output_param_;
53470   hdf5_output_param_ = NULL;
53471   return temp;
53472 }
53473 void V0LayerParameter::set_allocated_hdf5_output_param(::opencv_caffe::HDF5OutputParameter* hdf5_output_param) {
53474   delete hdf5_output_param_;
53475   hdf5_output_param_ = hdf5_output_param;
53476   if (hdf5_output_param) {
53477     set_has_hdf5_output_param();
53478   } else {
53479     clear_has_hdf5_output_param();
53480   }
53481   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.hdf5_output_param)
53482 }
53483
53484 inline const V0LayerParameter* V0LayerParameter::internal_default_instance() {
53485   return &V0LayerParameter_default_instance_.get();
53486 }
53487 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
53488
53489 // ===================================================================
53490
53491 #if !defined(_MSC_VER) || _MSC_VER >= 1900
53492 const int PReLUParameter::kFillerFieldNumber;
53493 const int PReLUParameter::kChannelSharedFieldNumber;
53494 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
53495
53496 PReLUParameter::PReLUParameter()
53497   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
53498   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
53499   SharedCtor();
53500   // @@protoc_insertion_point(constructor:opencv_caffe.PReLUParameter)
53501 }
53502
53503 void PReLUParameter::InitAsDefaultInstance() {
53504   filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
53505       ::opencv_caffe::FillerParameter::internal_default_instance());
53506 }
53507
53508 PReLUParameter::PReLUParameter(const PReLUParameter& from)
53509   : ::google::protobuf::Message(),
53510     _internal_metadata_(NULL) {
53511   SharedCtor();
53512   UnsafeMergeFrom(from);
53513   // @@protoc_insertion_point(copy_constructor:opencv_caffe.PReLUParameter)
53514 }
53515
53516 void PReLUParameter::SharedCtor() {
53517   _cached_size_ = 0;
53518   filler_ = NULL;
53519   channel_shared_ = false;
53520 }
53521
53522 PReLUParameter::~PReLUParameter() {
53523   // @@protoc_insertion_point(destructor:opencv_caffe.PReLUParameter)
53524   SharedDtor();
53525 }
53526
53527 void PReLUParameter::SharedDtor() {
53528   if (this != &PReLUParameter_default_instance_.get()) {
53529     delete filler_;
53530   }
53531 }
53532
53533 void PReLUParameter::SetCachedSize(int size) const {
53534   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
53535   _cached_size_ = size;
53536   GOOGLE_SAFE_CONCURRENT_WRITES_END();
53537 }
53538 const ::google::protobuf::Descriptor* PReLUParameter::descriptor() {
53539   protobuf_AssignDescriptorsOnce();
53540   return PReLUParameter_descriptor_;
53541 }
53542
53543 const PReLUParameter& PReLUParameter::default_instance() {
53544   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
53545   return *internal_default_instance();
53546 }
53547
53548 ::google::protobuf::internal::ExplicitlyConstructed<PReLUParameter> PReLUParameter_default_instance_;
53549
53550 PReLUParameter* PReLUParameter::New(::google::protobuf::Arena* arena) const {
53551   PReLUParameter* n = new PReLUParameter;
53552   if (arena != NULL) {
53553     arena->Own(n);
53554   }
53555   return n;
53556 }
53557
53558 void PReLUParameter::Clear() {
53559 // @@protoc_insertion_point(message_clear_start:opencv_caffe.PReLUParameter)
53560   if (_has_bits_[0 / 32] & 3u) {
53561     if (has_filler()) {
53562       if (filler_ != NULL) filler_->::opencv_caffe::FillerParameter::Clear();
53563     }
53564     channel_shared_ = false;
53565   }
53566   _has_bits_.Clear();
53567   if (_internal_metadata_.have_unknown_fields()) {
53568     mutable_unknown_fields()->Clear();
53569   }
53570 }
53571
53572 bool PReLUParameter::MergePartialFromCodedStream(
53573     ::google::protobuf::io::CodedInputStream* input) {
53574 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
53575   ::google::protobuf::uint32 tag;
53576   // @@protoc_insertion_point(parse_start:opencv_caffe.PReLUParameter)
53577   for (;;) {
53578     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
53579     tag = p.first;
53580     if (!p.second) goto handle_unusual;
53581     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
53582       // optional .opencv_caffe.FillerParameter filler = 1;
53583       case 1: {
53584         if (tag == 10) {
53585           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
53586                input, mutable_filler()));
53587         } else {
53588           goto handle_unusual;
53589         }
53590         if (input->ExpectTag(16)) goto parse_channel_shared;
53591         break;
53592       }
53593
53594       // optional bool channel_shared = 2 [default = false];
53595       case 2: {
53596         if (tag == 16) {
53597          parse_channel_shared:
53598           set_has_channel_shared();
53599           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
53600                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
53601                  input, &channel_shared_)));
53602         } else {
53603           goto handle_unusual;
53604         }
53605         if (input->ExpectAtEnd()) goto success;
53606         break;
53607       }
53608
53609       default: {
53610       handle_unusual:
53611         if (tag == 0 ||
53612             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
53613             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
53614           goto success;
53615         }
53616         DO_(::google::protobuf::internal::WireFormat::SkipField(
53617               input, tag, mutable_unknown_fields()));
53618         break;
53619       }
53620     }
53621   }
53622 success:
53623   // @@protoc_insertion_point(parse_success:opencv_caffe.PReLUParameter)
53624   return true;
53625 failure:
53626   // @@protoc_insertion_point(parse_failure:opencv_caffe.PReLUParameter)
53627   return false;
53628 #undef DO_
53629 }
53630
53631 void PReLUParameter::SerializeWithCachedSizes(
53632     ::google::protobuf::io::CodedOutputStream* output) const {
53633   // @@protoc_insertion_point(serialize_start:opencv_caffe.PReLUParameter)
53634   // optional .opencv_caffe.FillerParameter filler = 1;
53635   if (has_filler()) {
53636     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
53637       1, *this->filler_, output);
53638   }
53639
53640   // optional bool channel_shared = 2 [default = false];
53641   if (has_channel_shared()) {
53642     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->channel_shared(), output);
53643   }
53644
53645   if (_internal_metadata_.have_unknown_fields()) {
53646     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
53647         unknown_fields(), output);
53648   }
53649   // @@protoc_insertion_point(serialize_end:opencv_caffe.PReLUParameter)
53650 }
53651
53652 ::google::protobuf::uint8* PReLUParameter::InternalSerializeWithCachedSizesToArray(
53653     bool deterministic, ::google::protobuf::uint8* target) const {
53654   (void)deterministic; // Unused
53655   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.PReLUParameter)
53656   // optional .opencv_caffe.FillerParameter filler = 1;
53657   if (has_filler()) {
53658     target = ::google::protobuf::internal::WireFormatLite::
53659       InternalWriteMessageNoVirtualToArray(
53660         1, *this->filler_, false, target);
53661   }
53662
53663   // optional bool channel_shared = 2 [default = false];
53664   if (has_channel_shared()) {
53665     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->channel_shared(), target);
53666   }
53667
53668   if (_internal_metadata_.have_unknown_fields()) {
53669     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
53670         unknown_fields(), target);
53671   }
53672   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.PReLUParameter)
53673   return target;
53674 }
53675
53676 size_t PReLUParameter::ByteSizeLong() const {
53677 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.PReLUParameter)
53678   size_t total_size = 0;
53679
53680   if (_has_bits_[0 / 32] & 3u) {
53681     // optional .opencv_caffe.FillerParameter filler = 1;
53682     if (has_filler()) {
53683       total_size += 1 +
53684         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
53685           *this->filler_);
53686     }
53687
53688     // optional bool channel_shared = 2 [default = false];
53689     if (has_channel_shared()) {
53690       total_size += 1 + 1;
53691     }
53692
53693   }
53694   if (_internal_metadata_.have_unknown_fields()) {
53695     total_size +=
53696       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
53697         unknown_fields());
53698   }
53699   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
53700   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
53701   _cached_size_ = cached_size;
53702   GOOGLE_SAFE_CONCURRENT_WRITES_END();
53703   return total_size;
53704 }
53705
53706 void PReLUParameter::MergeFrom(const ::google::protobuf::Message& from) {
53707 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.PReLUParameter)
53708   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
53709   const PReLUParameter* source =
53710       ::google::protobuf::internal::DynamicCastToGenerated<const PReLUParameter>(
53711           &from);
53712   if (source == NULL) {
53713   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.PReLUParameter)
53714     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
53715   } else {
53716   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.PReLUParameter)
53717     UnsafeMergeFrom(*source);
53718   }
53719 }
53720
53721 void PReLUParameter::MergeFrom(const PReLUParameter& from) {
53722 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.PReLUParameter)
53723   if (GOOGLE_PREDICT_TRUE(&from != this)) {
53724     UnsafeMergeFrom(from);
53725   } else {
53726     MergeFromFail(__LINE__);
53727   }
53728 }
53729
53730 void PReLUParameter::UnsafeMergeFrom(const PReLUParameter& from) {
53731   GOOGLE_DCHECK(&from != this);
53732   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
53733     if (from.has_filler()) {
53734       mutable_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.filler());
53735     }
53736     if (from.has_channel_shared()) {
53737       set_channel_shared(from.channel_shared());
53738     }
53739   }
53740   if (from._internal_metadata_.have_unknown_fields()) {
53741     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
53742       from.unknown_fields(), &_internal_metadata_);
53743   }
53744 }
53745
53746 void PReLUParameter::CopyFrom(const ::google::protobuf::Message& from) {
53747 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.PReLUParameter)
53748   if (&from == this) return;
53749   Clear();
53750   MergeFrom(from);
53751 }
53752
53753 void PReLUParameter::CopyFrom(const PReLUParameter& from) {
53754 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.PReLUParameter)
53755   if (&from == this) return;
53756   Clear();
53757   UnsafeMergeFrom(from);
53758 }
53759
53760 bool PReLUParameter::IsInitialized() const {
53761
53762   return true;
53763 }
53764
53765 void PReLUParameter::Swap(PReLUParameter* other) {
53766   if (other == this) return;
53767   InternalSwap(other);
53768 }
53769 void PReLUParameter::InternalSwap(PReLUParameter* other) {
53770   std::swap(filler_, other->filler_);
53771   std::swap(channel_shared_, other->channel_shared_);
53772   std::swap(_has_bits_[0], other->_has_bits_[0]);
53773   _internal_metadata_.Swap(&other->_internal_metadata_);
53774   std::swap(_cached_size_, other->_cached_size_);
53775 }
53776
53777 ::google::protobuf::Metadata PReLUParameter::GetMetadata() const {
53778   protobuf_AssignDescriptorsOnce();
53779   ::google::protobuf::Metadata metadata;
53780   metadata.descriptor = PReLUParameter_descriptor_;
53781   metadata.reflection = PReLUParameter_reflection_;
53782   return metadata;
53783 }
53784
53785 #if PROTOBUF_INLINE_NOT_IN_HEADERS
53786 // PReLUParameter
53787
53788 // optional .opencv_caffe.FillerParameter filler = 1;
53789 bool PReLUParameter::has_filler() const {
53790   return (_has_bits_[0] & 0x00000001u) != 0;
53791 }
53792 void PReLUParameter::set_has_filler() {
53793   _has_bits_[0] |= 0x00000001u;
53794 }
53795 void PReLUParameter::clear_has_filler() {
53796   _has_bits_[0] &= ~0x00000001u;
53797 }
53798 void PReLUParameter::clear_filler() {
53799   if (filler_ != NULL) filler_->::opencv_caffe::FillerParameter::Clear();
53800   clear_has_filler();
53801 }
53802 const ::opencv_caffe::FillerParameter& PReLUParameter::filler() const {
53803   // @@protoc_insertion_point(field_get:opencv_caffe.PReLUParameter.filler)
53804   return filler_ != NULL ? *filler_
53805                          : *::opencv_caffe::FillerParameter::internal_default_instance();
53806 }
53807 ::opencv_caffe::FillerParameter* PReLUParameter::mutable_filler() {
53808   set_has_filler();
53809   if (filler_ == NULL) {
53810     filler_ = new ::opencv_caffe::FillerParameter;
53811   }
53812   // @@protoc_insertion_point(field_mutable:opencv_caffe.PReLUParameter.filler)
53813   return filler_;
53814 }
53815 ::opencv_caffe::FillerParameter* PReLUParameter::release_filler() {
53816   // @@protoc_insertion_point(field_release:opencv_caffe.PReLUParameter.filler)
53817   clear_has_filler();
53818   ::opencv_caffe::FillerParameter* temp = filler_;
53819   filler_ = NULL;
53820   return temp;
53821 }
53822 void PReLUParameter::set_allocated_filler(::opencv_caffe::FillerParameter* filler) {
53823   delete filler_;
53824   filler_ = filler;
53825   if (filler) {
53826     set_has_filler();
53827   } else {
53828     clear_has_filler();
53829   }
53830   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.PReLUParameter.filler)
53831 }
53832
53833 // optional bool channel_shared = 2 [default = false];
53834 bool PReLUParameter::has_channel_shared() const {
53835   return (_has_bits_[0] & 0x00000002u) != 0;
53836 }
53837 void PReLUParameter::set_has_channel_shared() {
53838   _has_bits_[0] |= 0x00000002u;
53839 }
53840 void PReLUParameter::clear_has_channel_shared() {
53841   _has_bits_[0] &= ~0x00000002u;
53842 }
53843 void PReLUParameter::clear_channel_shared() {
53844   channel_shared_ = false;
53845   clear_has_channel_shared();
53846 }
53847 bool PReLUParameter::channel_shared() const {
53848   // @@protoc_insertion_point(field_get:opencv_caffe.PReLUParameter.channel_shared)
53849   return channel_shared_;
53850 }
53851 void PReLUParameter::set_channel_shared(bool value) {
53852   set_has_channel_shared();
53853   channel_shared_ = value;
53854   // @@protoc_insertion_point(field_set:opencv_caffe.PReLUParameter.channel_shared)
53855 }
53856
53857 inline const PReLUParameter* PReLUParameter::internal_default_instance() {
53858   return &PReLUParameter_default_instance_.get();
53859 }
53860 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
53861
53862 // ===================================================================
53863
53864 #if !defined(_MSC_VER) || _MSC_VER >= 1900
53865 const int NormalizedBBox::kXminFieldNumber;
53866 const int NormalizedBBox::kYminFieldNumber;
53867 const int NormalizedBBox::kXmaxFieldNumber;
53868 const int NormalizedBBox::kYmaxFieldNumber;
53869 const int NormalizedBBox::kLabelFieldNumber;
53870 const int NormalizedBBox::kDifficultFieldNumber;
53871 const int NormalizedBBox::kScoreFieldNumber;
53872 const int NormalizedBBox::kSizeFieldNumber;
53873 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
53874
53875 NormalizedBBox::NormalizedBBox()
53876   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
53877   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
53878   SharedCtor();
53879   // @@protoc_insertion_point(constructor:opencv_caffe.NormalizedBBox)
53880 }
53881
53882 void NormalizedBBox::InitAsDefaultInstance() {
53883 }
53884
53885 NormalizedBBox::NormalizedBBox(const NormalizedBBox& from)
53886   : ::google::protobuf::Message(),
53887     _internal_metadata_(NULL) {
53888   SharedCtor();
53889   UnsafeMergeFrom(from);
53890   // @@protoc_insertion_point(copy_constructor:opencv_caffe.NormalizedBBox)
53891 }
53892
53893 void NormalizedBBox::SharedCtor() {
53894   _cached_size_ = 0;
53895   ::memset(&xmin_, 0, reinterpret_cast<char*>(&size_) -
53896     reinterpret_cast<char*>(&xmin_) + sizeof(size_));
53897 }
53898
53899 NormalizedBBox::~NormalizedBBox() {
53900   // @@protoc_insertion_point(destructor:opencv_caffe.NormalizedBBox)
53901   SharedDtor();
53902 }
53903
53904 void NormalizedBBox::SharedDtor() {
53905 }
53906
53907 void NormalizedBBox::SetCachedSize(int size) const {
53908   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
53909   _cached_size_ = size;
53910   GOOGLE_SAFE_CONCURRENT_WRITES_END();
53911 }
53912 const ::google::protobuf::Descriptor* NormalizedBBox::descriptor() {
53913   protobuf_AssignDescriptorsOnce();
53914   return NormalizedBBox_descriptor_;
53915 }
53916
53917 const NormalizedBBox& NormalizedBBox::default_instance() {
53918   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
53919   return *internal_default_instance();
53920 }
53921
53922 ::google::protobuf::internal::ExplicitlyConstructed<NormalizedBBox> NormalizedBBox_default_instance_;
53923
53924 NormalizedBBox* NormalizedBBox::New(::google::protobuf::Arena* arena) const {
53925   NormalizedBBox* n = new NormalizedBBox;
53926   if (arena != NULL) {
53927     arena->Own(n);
53928   }
53929   return n;
53930 }
53931
53932 void NormalizedBBox::Clear() {
53933 // @@protoc_insertion_point(message_clear_start:opencv_caffe.NormalizedBBox)
53934 #if defined(__clang__)
53935 #define ZR_HELPER_(f) \
53936   _Pragma("clang diagnostic push") \
53937   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
53938   __builtin_offsetof(NormalizedBBox, f) \
53939   _Pragma("clang diagnostic pop")
53940 #else
53941 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
53942   &reinterpret_cast<NormalizedBBox*>(16)->f)
53943 #endif
53944
53945 #define ZR_(first, last) do {\
53946   ::memset(&(first), 0,\
53947            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
53948 } while (0)
53949
53950   ZR_(xmin_, size_);
53951
53952 #undef ZR_HELPER_
53953 #undef ZR_
53954
53955   _has_bits_.Clear();
53956   if (_internal_metadata_.have_unknown_fields()) {
53957     mutable_unknown_fields()->Clear();
53958   }
53959 }
53960
53961 bool NormalizedBBox::MergePartialFromCodedStream(
53962     ::google::protobuf::io::CodedInputStream* input) {
53963 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
53964   ::google::protobuf::uint32 tag;
53965   // @@protoc_insertion_point(parse_start:opencv_caffe.NormalizedBBox)
53966   for (;;) {
53967     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
53968     tag = p.first;
53969     if (!p.second) goto handle_unusual;
53970     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
53971       // optional float xmin = 1;
53972       case 1: {
53973         if (tag == 13) {
53974           set_has_xmin();
53975           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
53976                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
53977                  input, &xmin_)));
53978         } else {
53979           goto handle_unusual;
53980         }
53981         if (input->ExpectTag(21)) goto parse_ymin;
53982         break;
53983       }
53984
53985       // optional float ymin = 2;
53986       case 2: {
53987         if (tag == 21) {
53988          parse_ymin:
53989           set_has_ymin();
53990           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
53991                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
53992                  input, &ymin_)));
53993         } else {
53994           goto handle_unusual;
53995         }
53996         if (input->ExpectTag(29)) goto parse_xmax;
53997         break;
53998       }
53999
54000       // optional float xmax = 3;
54001       case 3: {
54002         if (tag == 29) {
54003          parse_xmax:
54004           set_has_xmax();
54005           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
54006                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
54007                  input, &xmax_)));
54008         } else {
54009           goto handle_unusual;
54010         }
54011         if (input->ExpectTag(37)) goto parse_ymax;
54012         break;
54013       }
54014
54015       // optional float ymax = 4;
54016       case 4: {
54017         if (tag == 37) {
54018          parse_ymax:
54019           set_has_ymax();
54020           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
54021                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
54022                  input, &ymax_)));
54023         } else {
54024           goto handle_unusual;
54025         }
54026         if (input->ExpectTag(40)) goto parse_label;
54027         break;
54028       }
54029
54030       // optional int32 label = 5;
54031       case 5: {
54032         if (tag == 40) {
54033          parse_label:
54034           set_has_label();
54035           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
54036                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
54037                  input, &label_)));
54038         } else {
54039           goto handle_unusual;
54040         }
54041         if (input->ExpectTag(48)) goto parse_difficult;
54042         break;
54043       }
54044
54045       // optional bool difficult = 6;
54046       case 6: {
54047         if (tag == 48) {
54048          parse_difficult:
54049           set_has_difficult();
54050           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
54051                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
54052                  input, &difficult_)));
54053         } else {
54054           goto handle_unusual;
54055         }
54056         if (input->ExpectTag(61)) goto parse_score;
54057         break;
54058       }
54059
54060       // optional float score = 7;
54061       case 7: {
54062         if (tag == 61) {
54063          parse_score:
54064           set_has_score();
54065           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
54066                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
54067                  input, &score_)));
54068         } else {
54069           goto handle_unusual;
54070         }
54071         if (input->ExpectTag(69)) goto parse_size;
54072         break;
54073       }
54074
54075       // optional float size = 8;
54076       case 8: {
54077         if (tag == 69) {
54078          parse_size:
54079           set_has_size();
54080           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
54081                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
54082                  input, &size_)));
54083         } else {
54084           goto handle_unusual;
54085         }
54086         if (input->ExpectAtEnd()) goto success;
54087         break;
54088       }
54089
54090       default: {
54091       handle_unusual:
54092         if (tag == 0 ||
54093             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
54094             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
54095           goto success;
54096         }
54097         DO_(::google::protobuf::internal::WireFormat::SkipField(
54098               input, tag, mutable_unknown_fields()));
54099         break;
54100       }
54101     }
54102   }
54103 success:
54104   // @@protoc_insertion_point(parse_success:opencv_caffe.NormalizedBBox)
54105   return true;
54106 failure:
54107   // @@protoc_insertion_point(parse_failure:opencv_caffe.NormalizedBBox)
54108   return false;
54109 #undef DO_
54110 }
54111
54112 void NormalizedBBox::SerializeWithCachedSizes(
54113     ::google::protobuf::io::CodedOutputStream* output) const {
54114   // @@protoc_insertion_point(serialize_start:opencv_caffe.NormalizedBBox)
54115   // optional float xmin = 1;
54116   if (has_xmin()) {
54117     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->xmin(), output);
54118   }
54119
54120   // optional float ymin = 2;
54121   if (has_ymin()) {
54122     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->ymin(), output);
54123   }
54124
54125   // optional float xmax = 3;
54126   if (has_xmax()) {
54127     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->xmax(), output);
54128   }
54129
54130   // optional float ymax = 4;
54131   if (has_ymax()) {
54132     ::google::protobuf::internal::WireFormatLite::WriteFloat(4, this->ymax(), output);
54133   }
54134
54135   // optional int32 label = 5;
54136   if (has_label()) {
54137     ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->label(), output);
54138   }
54139
54140   // optional bool difficult = 6;
54141   if (has_difficult()) {
54142     ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->difficult(), output);
54143   }
54144
54145   // optional float score = 7;
54146   if (has_score()) {
54147     ::google::protobuf::internal::WireFormatLite::WriteFloat(7, this->score(), output);
54148   }
54149
54150   // optional float size = 8;
54151   if (has_size()) {
54152     ::google::protobuf::internal::WireFormatLite::WriteFloat(8, this->size(), output);
54153   }
54154
54155   if (_internal_metadata_.have_unknown_fields()) {
54156     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
54157         unknown_fields(), output);
54158   }
54159   // @@protoc_insertion_point(serialize_end:opencv_caffe.NormalizedBBox)
54160 }
54161
54162 ::google::protobuf::uint8* NormalizedBBox::InternalSerializeWithCachedSizesToArray(
54163     bool deterministic, ::google::protobuf::uint8* target) const {
54164   (void)deterministic; // Unused
54165   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.NormalizedBBox)
54166   // optional float xmin = 1;
54167   if (has_xmin()) {
54168     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->xmin(), target);
54169   }
54170
54171   // optional float ymin = 2;
54172   if (has_ymin()) {
54173     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->ymin(), target);
54174   }
54175
54176   // optional float xmax = 3;
54177   if (has_xmax()) {
54178     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->xmax(), target);
54179   }
54180
54181   // optional float ymax = 4;
54182   if (has_ymax()) {
54183     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(4, this->ymax(), target);
54184   }
54185
54186   // optional int32 label = 5;
54187   if (has_label()) {
54188     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(5, this->label(), target);
54189   }
54190
54191   // optional bool difficult = 6;
54192   if (has_difficult()) {
54193     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(6, this->difficult(), target);
54194   }
54195
54196   // optional float score = 7;
54197   if (has_score()) {
54198     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(7, this->score(), target);
54199   }
54200
54201   // optional float size = 8;
54202   if (has_size()) {
54203     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(8, this->size(), target);
54204   }
54205
54206   if (_internal_metadata_.have_unknown_fields()) {
54207     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
54208         unknown_fields(), target);
54209   }
54210   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.NormalizedBBox)
54211   return target;
54212 }
54213
54214 size_t NormalizedBBox::ByteSizeLong() const {
54215 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.NormalizedBBox)
54216   size_t total_size = 0;
54217
54218   if (_has_bits_[0 / 32] & 255u) {
54219     // optional float xmin = 1;
54220     if (has_xmin()) {
54221       total_size += 1 + 4;
54222     }
54223
54224     // optional float ymin = 2;
54225     if (has_ymin()) {
54226       total_size += 1 + 4;
54227     }
54228
54229     // optional float xmax = 3;
54230     if (has_xmax()) {
54231       total_size += 1 + 4;
54232     }
54233
54234     // optional float ymax = 4;
54235     if (has_ymax()) {
54236       total_size += 1 + 4;
54237     }
54238
54239     // optional int32 label = 5;
54240     if (has_label()) {
54241       total_size += 1 +
54242         ::google::protobuf::internal::WireFormatLite::Int32Size(
54243           this->label());
54244     }
54245
54246     // optional bool difficult = 6;
54247     if (has_difficult()) {
54248       total_size += 1 + 1;
54249     }
54250
54251     // optional float score = 7;
54252     if (has_score()) {
54253       total_size += 1 + 4;
54254     }
54255
54256     // optional float size = 8;
54257     if (has_size()) {
54258       total_size += 1 + 4;
54259     }
54260
54261   }
54262   if (_internal_metadata_.have_unknown_fields()) {
54263     total_size +=
54264       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
54265         unknown_fields());
54266   }
54267   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
54268   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
54269   _cached_size_ = cached_size;
54270   GOOGLE_SAFE_CONCURRENT_WRITES_END();
54271   return total_size;
54272 }
54273
54274 void NormalizedBBox::MergeFrom(const ::google::protobuf::Message& from) {
54275 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.NormalizedBBox)
54276   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
54277   const NormalizedBBox* source =
54278       ::google::protobuf::internal::DynamicCastToGenerated<const NormalizedBBox>(
54279           &from);
54280   if (source == NULL) {
54281   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.NormalizedBBox)
54282     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
54283   } else {
54284   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.NormalizedBBox)
54285     UnsafeMergeFrom(*source);
54286   }
54287 }
54288
54289 void NormalizedBBox::MergeFrom(const NormalizedBBox& from) {
54290 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.NormalizedBBox)
54291   if (GOOGLE_PREDICT_TRUE(&from != this)) {
54292     UnsafeMergeFrom(from);
54293   } else {
54294     MergeFromFail(__LINE__);
54295   }
54296 }
54297
54298 void NormalizedBBox::UnsafeMergeFrom(const NormalizedBBox& from) {
54299   GOOGLE_DCHECK(&from != this);
54300   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
54301     if (from.has_xmin()) {
54302       set_xmin(from.xmin());
54303     }
54304     if (from.has_ymin()) {
54305       set_ymin(from.ymin());
54306     }
54307     if (from.has_xmax()) {
54308       set_xmax(from.xmax());
54309     }
54310     if (from.has_ymax()) {
54311       set_ymax(from.ymax());
54312     }
54313     if (from.has_label()) {
54314       set_label(from.label());
54315     }
54316     if (from.has_difficult()) {
54317       set_difficult(from.difficult());
54318     }
54319     if (from.has_score()) {
54320       set_score(from.score());
54321     }
54322     if (from.has_size()) {
54323       set_size(from.size());
54324     }
54325   }
54326   if (from._internal_metadata_.have_unknown_fields()) {
54327     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
54328       from.unknown_fields(), &_internal_metadata_);
54329   }
54330 }
54331
54332 void NormalizedBBox::CopyFrom(const ::google::protobuf::Message& from) {
54333 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.NormalizedBBox)
54334   if (&from == this) return;
54335   Clear();
54336   MergeFrom(from);
54337 }
54338
54339 void NormalizedBBox::CopyFrom(const NormalizedBBox& from) {
54340 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.NormalizedBBox)
54341   if (&from == this) return;
54342   Clear();
54343   UnsafeMergeFrom(from);
54344 }
54345
54346 bool NormalizedBBox::IsInitialized() const {
54347
54348   return true;
54349 }
54350
54351 void NormalizedBBox::Swap(NormalizedBBox* other) {
54352   if (other == this) return;
54353   InternalSwap(other);
54354 }
54355 void NormalizedBBox::InternalSwap(NormalizedBBox* other) {
54356   std::swap(xmin_, other->xmin_);
54357   std::swap(ymin_, other->ymin_);
54358   std::swap(xmax_, other->xmax_);
54359   std::swap(ymax_, other->ymax_);
54360   std::swap(label_, other->label_);
54361   std::swap(difficult_, other->difficult_);
54362   std::swap(score_, other->score_);
54363   std::swap(size_, other->size_);
54364   std::swap(_has_bits_[0], other->_has_bits_[0]);
54365   _internal_metadata_.Swap(&other->_internal_metadata_);
54366   std::swap(_cached_size_, other->_cached_size_);
54367 }
54368
54369 ::google::protobuf::Metadata NormalizedBBox::GetMetadata() const {
54370   protobuf_AssignDescriptorsOnce();
54371   ::google::protobuf::Metadata metadata;
54372   metadata.descriptor = NormalizedBBox_descriptor_;
54373   metadata.reflection = NormalizedBBox_reflection_;
54374   return metadata;
54375 }
54376
54377 #if PROTOBUF_INLINE_NOT_IN_HEADERS
54378 // NormalizedBBox
54379
54380 // optional float xmin = 1;
54381 bool NormalizedBBox::has_xmin() const {
54382   return (_has_bits_[0] & 0x00000001u) != 0;
54383 }
54384 void NormalizedBBox::set_has_xmin() {
54385   _has_bits_[0] |= 0x00000001u;
54386 }
54387 void NormalizedBBox::clear_has_xmin() {
54388   _has_bits_[0] &= ~0x00000001u;
54389 }
54390 void NormalizedBBox::clear_xmin() {
54391   xmin_ = 0;
54392   clear_has_xmin();
54393 }
54394 float NormalizedBBox::xmin() const {
54395   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.xmin)
54396   return xmin_;
54397 }
54398 void NormalizedBBox::set_xmin(float value) {
54399   set_has_xmin();
54400   xmin_ = value;
54401   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.xmin)
54402 }
54403
54404 // optional float ymin = 2;
54405 bool NormalizedBBox::has_ymin() const {
54406   return (_has_bits_[0] & 0x00000002u) != 0;
54407 }
54408 void NormalizedBBox::set_has_ymin() {
54409   _has_bits_[0] |= 0x00000002u;
54410 }
54411 void NormalizedBBox::clear_has_ymin() {
54412   _has_bits_[0] &= ~0x00000002u;
54413 }
54414 void NormalizedBBox::clear_ymin() {
54415   ymin_ = 0;
54416   clear_has_ymin();
54417 }
54418 float NormalizedBBox::ymin() const {
54419   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.ymin)
54420   return ymin_;
54421 }
54422 void NormalizedBBox::set_ymin(float value) {
54423   set_has_ymin();
54424   ymin_ = value;
54425   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.ymin)
54426 }
54427
54428 // optional float xmax = 3;
54429 bool NormalizedBBox::has_xmax() const {
54430   return (_has_bits_[0] & 0x00000004u) != 0;
54431 }
54432 void NormalizedBBox::set_has_xmax() {
54433   _has_bits_[0] |= 0x00000004u;
54434 }
54435 void NormalizedBBox::clear_has_xmax() {
54436   _has_bits_[0] &= ~0x00000004u;
54437 }
54438 void NormalizedBBox::clear_xmax() {
54439   xmax_ = 0;
54440   clear_has_xmax();
54441 }
54442 float NormalizedBBox::xmax() const {
54443   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.xmax)
54444   return xmax_;
54445 }
54446 void NormalizedBBox::set_xmax(float value) {
54447   set_has_xmax();
54448   xmax_ = value;
54449   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.xmax)
54450 }
54451
54452 // optional float ymax = 4;
54453 bool NormalizedBBox::has_ymax() const {
54454   return (_has_bits_[0] & 0x00000008u) != 0;
54455 }
54456 void NormalizedBBox::set_has_ymax() {
54457   _has_bits_[0] |= 0x00000008u;
54458 }
54459 void NormalizedBBox::clear_has_ymax() {
54460   _has_bits_[0] &= ~0x00000008u;
54461 }
54462 void NormalizedBBox::clear_ymax() {
54463   ymax_ = 0;
54464   clear_has_ymax();
54465 }
54466 float NormalizedBBox::ymax() const {
54467   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.ymax)
54468   return ymax_;
54469 }
54470 void NormalizedBBox::set_ymax(float value) {
54471   set_has_ymax();
54472   ymax_ = value;
54473   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.ymax)
54474 }
54475
54476 // optional int32 label = 5;
54477 bool NormalizedBBox::has_label() const {
54478   return (_has_bits_[0] & 0x00000010u) != 0;
54479 }
54480 void NormalizedBBox::set_has_label() {
54481   _has_bits_[0] |= 0x00000010u;
54482 }
54483 void NormalizedBBox::clear_has_label() {
54484   _has_bits_[0] &= ~0x00000010u;
54485 }
54486 void NormalizedBBox::clear_label() {
54487   label_ = 0;
54488   clear_has_label();
54489 }
54490 ::google::protobuf::int32 NormalizedBBox::label() const {
54491   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.label)
54492   return label_;
54493 }
54494 void NormalizedBBox::set_label(::google::protobuf::int32 value) {
54495   set_has_label();
54496   label_ = value;
54497   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.label)
54498 }
54499
54500 // optional bool difficult = 6;
54501 bool NormalizedBBox::has_difficult() const {
54502   return (_has_bits_[0] & 0x00000020u) != 0;
54503 }
54504 void NormalizedBBox::set_has_difficult() {
54505   _has_bits_[0] |= 0x00000020u;
54506 }
54507 void NormalizedBBox::clear_has_difficult() {
54508   _has_bits_[0] &= ~0x00000020u;
54509 }
54510 void NormalizedBBox::clear_difficult() {
54511   difficult_ = false;
54512   clear_has_difficult();
54513 }
54514 bool NormalizedBBox::difficult() const {
54515   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.difficult)
54516   return difficult_;
54517 }
54518 void NormalizedBBox::set_difficult(bool value) {
54519   set_has_difficult();
54520   difficult_ = value;
54521   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.difficult)
54522 }
54523
54524 // optional float score = 7;
54525 bool NormalizedBBox::has_score() const {
54526   return (_has_bits_[0] & 0x00000040u) != 0;
54527 }
54528 void NormalizedBBox::set_has_score() {
54529   _has_bits_[0] |= 0x00000040u;
54530 }
54531 void NormalizedBBox::clear_has_score() {
54532   _has_bits_[0] &= ~0x00000040u;
54533 }
54534 void NormalizedBBox::clear_score() {
54535   score_ = 0;
54536   clear_has_score();
54537 }
54538 float NormalizedBBox::score() const {
54539   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.score)
54540   return score_;
54541 }
54542 void NormalizedBBox::set_score(float value) {
54543   set_has_score();
54544   score_ = value;
54545   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.score)
54546 }
54547
54548 // optional float size = 8;
54549 bool NormalizedBBox::has_size() const {
54550   return (_has_bits_[0] & 0x00000080u) != 0;
54551 }
54552 void NormalizedBBox::set_has_size() {
54553   _has_bits_[0] |= 0x00000080u;
54554 }
54555 void NormalizedBBox::clear_has_size() {
54556   _has_bits_[0] &= ~0x00000080u;
54557 }
54558 void NormalizedBBox::clear_size() {
54559   size_ = 0;
54560   clear_has_size();
54561 }
54562 float NormalizedBBox::size() const {
54563   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.size)
54564   return size_;
54565 }
54566 void NormalizedBBox::set_size(float value) {
54567   set_has_size();
54568   size_ = value;
54569   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.size)
54570 }
54571
54572 inline const NormalizedBBox* NormalizedBBox::internal_default_instance() {
54573   return &NormalizedBBox_default_instance_.get();
54574 }
54575 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
54576
54577 // ===================================================================
54578
54579 #if !defined(_MSC_VER) || _MSC_VER >= 1900
54580 const int ROIPoolingParameter::kPooledHFieldNumber;
54581 const int ROIPoolingParameter::kPooledWFieldNumber;
54582 const int ROIPoolingParameter::kSpatialScaleFieldNumber;
54583 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
54584
54585 ROIPoolingParameter::ROIPoolingParameter()
54586   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
54587   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
54588   SharedCtor();
54589   // @@protoc_insertion_point(constructor:opencv_caffe.ROIPoolingParameter)
54590 }
54591
54592 void ROIPoolingParameter::InitAsDefaultInstance() {
54593 }
54594
54595 ROIPoolingParameter::ROIPoolingParameter(const ROIPoolingParameter& from)
54596   : ::google::protobuf::Message(),
54597     _internal_metadata_(NULL) {
54598   SharedCtor();
54599   UnsafeMergeFrom(from);
54600   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ROIPoolingParameter)
54601 }
54602
54603 void ROIPoolingParameter::SharedCtor() {
54604   _cached_size_ = 0;
54605   ::memset(&pooled_h_, 0, reinterpret_cast<char*>(&pooled_w_) -
54606     reinterpret_cast<char*>(&pooled_h_) + sizeof(pooled_w_));
54607   spatial_scale_ = 1;
54608 }
54609
54610 ROIPoolingParameter::~ROIPoolingParameter() {
54611   // @@protoc_insertion_point(destructor:opencv_caffe.ROIPoolingParameter)
54612   SharedDtor();
54613 }
54614
54615 void ROIPoolingParameter::SharedDtor() {
54616 }
54617
54618 void ROIPoolingParameter::SetCachedSize(int size) const {
54619   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
54620   _cached_size_ = size;
54621   GOOGLE_SAFE_CONCURRENT_WRITES_END();
54622 }
54623 const ::google::protobuf::Descriptor* ROIPoolingParameter::descriptor() {
54624   protobuf_AssignDescriptorsOnce();
54625   return ROIPoolingParameter_descriptor_;
54626 }
54627
54628 const ROIPoolingParameter& ROIPoolingParameter::default_instance() {
54629   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
54630   return *internal_default_instance();
54631 }
54632
54633 ::google::protobuf::internal::ExplicitlyConstructed<ROIPoolingParameter> ROIPoolingParameter_default_instance_;
54634
54635 ROIPoolingParameter* ROIPoolingParameter::New(::google::protobuf::Arena* arena) const {
54636   ROIPoolingParameter* n = new ROIPoolingParameter;
54637   if (arena != NULL) {
54638     arena->Own(n);
54639   }
54640   return n;
54641 }
54642
54643 void ROIPoolingParameter::Clear() {
54644 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ROIPoolingParameter)
54645 #if defined(__clang__)
54646 #define ZR_HELPER_(f) \
54647   _Pragma("clang diagnostic push") \
54648   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
54649   __builtin_offsetof(ROIPoolingParameter, f) \
54650   _Pragma("clang diagnostic pop")
54651 #else
54652 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
54653   &reinterpret_cast<ROIPoolingParameter*>(16)->f)
54654 #endif
54655
54656 #define ZR_(first, last) do {\
54657   ::memset(&(first), 0,\
54658            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
54659 } while (0)
54660
54661   if (_has_bits_[0 / 32] & 7u) {
54662     ZR_(pooled_h_, pooled_w_);
54663     spatial_scale_ = 1;
54664   }
54665
54666 #undef ZR_HELPER_
54667 #undef ZR_
54668
54669   _has_bits_.Clear();
54670   if (_internal_metadata_.have_unknown_fields()) {
54671     mutable_unknown_fields()->Clear();
54672   }
54673 }
54674
54675 bool ROIPoolingParameter::MergePartialFromCodedStream(
54676     ::google::protobuf::io::CodedInputStream* input) {
54677 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
54678   ::google::protobuf::uint32 tag;
54679   // @@protoc_insertion_point(parse_start:opencv_caffe.ROIPoolingParameter)
54680   for (;;) {
54681     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
54682     tag = p.first;
54683     if (!p.second) goto handle_unusual;
54684     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
54685       // optional uint32 pooled_h = 1 [default = 0];
54686       case 1: {
54687         if (tag == 8) {
54688           set_has_pooled_h();
54689           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
54690                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
54691                  input, &pooled_h_)));
54692         } else {
54693           goto handle_unusual;
54694         }
54695         if (input->ExpectTag(16)) goto parse_pooled_w;
54696         break;
54697       }
54698
54699       // optional uint32 pooled_w = 2 [default = 0];
54700       case 2: {
54701         if (tag == 16) {
54702          parse_pooled_w:
54703           set_has_pooled_w();
54704           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
54705                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
54706                  input, &pooled_w_)));
54707         } else {
54708           goto handle_unusual;
54709         }
54710         if (input->ExpectTag(29)) goto parse_spatial_scale;
54711         break;
54712       }
54713
54714       // optional float spatial_scale = 3 [default = 1];
54715       case 3: {
54716         if (tag == 29) {
54717          parse_spatial_scale:
54718           set_has_spatial_scale();
54719           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
54720                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
54721                  input, &spatial_scale_)));
54722         } else {
54723           goto handle_unusual;
54724         }
54725         if (input->ExpectAtEnd()) goto success;
54726         break;
54727       }
54728
54729       default: {
54730       handle_unusual:
54731         if (tag == 0 ||
54732             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
54733             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
54734           goto success;
54735         }
54736         DO_(::google::protobuf::internal::WireFormat::SkipField(
54737               input, tag, mutable_unknown_fields()));
54738         break;
54739       }
54740     }
54741   }
54742 success:
54743   // @@protoc_insertion_point(parse_success:opencv_caffe.ROIPoolingParameter)
54744   return true;
54745 failure:
54746   // @@protoc_insertion_point(parse_failure:opencv_caffe.ROIPoolingParameter)
54747   return false;
54748 #undef DO_
54749 }
54750
54751 void ROIPoolingParameter::SerializeWithCachedSizes(
54752     ::google::protobuf::io::CodedOutputStream* output) const {
54753   // @@protoc_insertion_point(serialize_start:opencv_caffe.ROIPoolingParameter)
54754   // optional uint32 pooled_h = 1 [default = 0];
54755   if (has_pooled_h()) {
54756     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->pooled_h(), output);
54757   }
54758
54759   // optional uint32 pooled_w = 2 [default = 0];
54760   if (has_pooled_w()) {
54761     ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->pooled_w(), output);
54762   }
54763
54764   // optional float spatial_scale = 3 [default = 1];
54765   if (has_spatial_scale()) {
54766     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->spatial_scale(), output);
54767   }
54768
54769   if (_internal_metadata_.have_unknown_fields()) {
54770     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
54771         unknown_fields(), output);
54772   }
54773   // @@protoc_insertion_point(serialize_end:opencv_caffe.ROIPoolingParameter)
54774 }
54775
54776 ::google::protobuf::uint8* ROIPoolingParameter::InternalSerializeWithCachedSizesToArray(
54777     bool deterministic, ::google::protobuf::uint8* target) const {
54778   (void)deterministic; // Unused
54779   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ROIPoolingParameter)
54780   // optional uint32 pooled_h = 1 [default = 0];
54781   if (has_pooled_h()) {
54782     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->pooled_h(), target);
54783   }
54784
54785   // optional uint32 pooled_w = 2 [default = 0];
54786   if (has_pooled_w()) {
54787     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->pooled_w(), target);
54788   }
54789
54790   // optional float spatial_scale = 3 [default = 1];
54791   if (has_spatial_scale()) {
54792     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->spatial_scale(), target);
54793   }
54794
54795   if (_internal_metadata_.have_unknown_fields()) {
54796     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
54797         unknown_fields(), target);
54798   }
54799   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ROIPoolingParameter)
54800   return target;
54801 }
54802
54803 size_t ROIPoolingParameter::ByteSizeLong() const {
54804 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ROIPoolingParameter)
54805   size_t total_size = 0;
54806
54807   if (_has_bits_[0 / 32] & 7u) {
54808     // optional uint32 pooled_h = 1 [default = 0];
54809     if (has_pooled_h()) {
54810       total_size += 1 +
54811         ::google::protobuf::internal::WireFormatLite::UInt32Size(
54812           this->pooled_h());
54813     }
54814
54815     // optional uint32 pooled_w = 2 [default = 0];
54816     if (has_pooled_w()) {
54817       total_size += 1 +
54818         ::google::protobuf::internal::WireFormatLite::UInt32Size(
54819           this->pooled_w());
54820     }
54821
54822     // optional float spatial_scale = 3 [default = 1];
54823     if (has_spatial_scale()) {
54824       total_size += 1 + 4;
54825     }
54826
54827   }
54828   if (_internal_metadata_.have_unknown_fields()) {
54829     total_size +=
54830       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
54831         unknown_fields());
54832   }
54833   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
54834   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
54835   _cached_size_ = cached_size;
54836   GOOGLE_SAFE_CONCURRENT_WRITES_END();
54837   return total_size;
54838 }
54839
54840 void ROIPoolingParameter::MergeFrom(const ::google::protobuf::Message& from) {
54841 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ROIPoolingParameter)
54842   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
54843   const ROIPoolingParameter* source =
54844       ::google::protobuf::internal::DynamicCastToGenerated<const ROIPoolingParameter>(
54845           &from);
54846   if (source == NULL) {
54847   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ROIPoolingParameter)
54848     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
54849   } else {
54850   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ROIPoolingParameter)
54851     UnsafeMergeFrom(*source);
54852   }
54853 }
54854
54855 void ROIPoolingParameter::MergeFrom(const ROIPoolingParameter& from) {
54856 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ROIPoolingParameter)
54857   if (GOOGLE_PREDICT_TRUE(&from != this)) {
54858     UnsafeMergeFrom(from);
54859   } else {
54860     MergeFromFail(__LINE__);
54861   }
54862 }
54863
54864 void ROIPoolingParameter::UnsafeMergeFrom(const ROIPoolingParameter& from) {
54865   GOOGLE_DCHECK(&from != this);
54866   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
54867     if (from.has_pooled_h()) {
54868       set_pooled_h(from.pooled_h());
54869     }
54870     if (from.has_pooled_w()) {
54871       set_pooled_w(from.pooled_w());
54872     }
54873     if (from.has_spatial_scale()) {
54874       set_spatial_scale(from.spatial_scale());
54875     }
54876   }
54877   if (from._internal_metadata_.have_unknown_fields()) {
54878     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
54879       from.unknown_fields(), &_internal_metadata_);
54880   }
54881 }
54882
54883 void ROIPoolingParameter::CopyFrom(const ::google::protobuf::Message& from) {
54884 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ROIPoolingParameter)
54885   if (&from == this) return;
54886   Clear();
54887   MergeFrom(from);
54888 }
54889
54890 void ROIPoolingParameter::CopyFrom(const ROIPoolingParameter& from) {
54891 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ROIPoolingParameter)
54892   if (&from == this) return;
54893   Clear();
54894   UnsafeMergeFrom(from);
54895 }
54896
54897 bool ROIPoolingParameter::IsInitialized() const {
54898
54899   return true;
54900 }
54901
54902 void ROIPoolingParameter::Swap(ROIPoolingParameter* other) {
54903   if (other == this) return;
54904   InternalSwap(other);
54905 }
54906 void ROIPoolingParameter::InternalSwap(ROIPoolingParameter* other) {
54907   std::swap(pooled_h_, other->pooled_h_);
54908   std::swap(pooled_w_, other->pooled_w_);
54909   std::swap(spatial_scale_, other->spatial_scale_);
54910   std::swap(_has_bits_[0], other->_has_bits_[0]);
54911   _internal_metadata_.Swap(&other->_internal_metadata_);
54912   std::swap(_cached_size_, other->_cached_size_);
54913 }
54914
54915 ::google::protobuf::Metadata ROIPoolingParameter::GetMetadata() const {
54916   protobuf_AssignDescriptorsOnce();
54917   ::google::protobuf::Metadata metadata;
54918   metadata.descriptor = ROIPoolingParameter_descriptor_;
54919   metadata.reflection = ROIPoolingParameter_reflection_;
54920   return metadata;
54921 }
54922
54923 #if PROTOBUF_INLINE_NOT_IN_HEADERS
54924 // ROIPoolingParameter
54925
54926 // optional uint32 pooled_h = 1 [default = 0];
54927 bool ROIPoolingParameter::has_pooled_h() const {
54928   return (_has_bits_[0] & 0x00000001u) != 0;
54929 }
54930 void ROIPoolingParameter::set_has_pooled_h() {
54931   _has_bits_[0] |= 0x00000001u;
54932 }
54933 void ROIPoolingParameter::clear_has_pooled_h() {
54934   _has_bits_[0] &= ~0x00000001u;
54935 }
54936 void ROIPoolingParameter::clear_pooled_h() {
54937   pooled_h_ = 0u;
54938   clear_has_pooled_h();
54939 }
54940 ::google::protobuf::uint32 ROIPoolingParameter::pooled_h() const {
54941   // @@protoc_insertion_point(field_get:opencv_caffe.ROIPoolingParameter.pooled_h)
54942   return pooled_h_;
54943 }
54944 void ROIPoolingParameter::set_pooled_h(::google::protobuf::uint32 value) {
54945   set_has_pooled_h();
54946   pooled_h_ = value;
54947   // @@protoc_insertion_point(field_set:opencv_caffe.ROIPoolingParameter.pooled_h)
54948 }
54949
54950 // optional uint32 pooled_w = 2 [default = 0];
54951 bool ROIPoolingParameter::has_pooled_w() const {
54952   return (_has_bits_[0] & 0x00000002u) != 0;
54953 }
54954 void ROIPoolingParameter::set_has_pooled_w() {
54955   _has_bits_[0] |= 0x00000002u;
54956 }
54957 void ROIPoolingParameter::clear_has_pooled_w() {
54958   _has_bits_[0] &= ~0x00000002u;
54959 }
54960 void ROIPoolingParameter::clear_pooled_w() {
54961   pooled_w_ = 0u;
54962   clear_has_pooled_w();
54963 }
54964 ::google::protobuf::uint32 ROIPoolingParameter::pooled_w() const {
54965   // @@protoc_insertion_point(field_get:opencv_caffe.ROIPoolingParameter.pooled_w)
54966   return pooled_w_;
54967 }
54968 void ROIPoolingParameter::set_pooled_w(::google::protobuf::uint32 value) {
54969   set_has_pooled_w();
54970   pooled_w_ = value;
54971   // @@protoc_insertion_point(field_set:opencv_caffe.ROIPoolingParameter.pooled_w)
54972 }
54973
54974 // optional float spatial_scale = 3 [default = 1];
54975 bool ROIPoolingParameter::has_spatial_scale() const {
54976   return (_has_bits_[0] & 0x00000004u) != 0;
54977 }
54978 void ROIPoolingParameter::set_has_spatial_scale() {
54979   _has_bits_[0] |= 0x00000004u;
54980 }
54981 void ROIPoolingParameter::clear_has_spatial_scale() {
54982   _has_bits_[0] &= ~0x00000004u;
54983 }
54984 void ROIPoolingParameter::clear_spatial_scale() {
54985   spatial_scale_ = 1;
54986   clear_has_spatial_scale();
54987 }
54988 float ROIPoolingParameter::spatial_scale() const {
54989   // @@protoc_insertion_point(field_get:opencv_caffe.ROIPoolingParameter.spatial_scale)
54990   return spatial_scale_;
54991 }
54992 void ROIPoolingParameter::set_spatial_scale(float value) {
54993   set_has_spatial_scale();
54994   spatial_scale_ = value;
54995   // @@protoc_insertion_point(field_set:opencv_caffe.ROIPoolingParameter.spatial_scale)
54996 }
54997
54998 inline const ROIPoolingParameter* ROIPoolingParameter::internal_default_instance() {
54999   return &ROIPoolingParameter_default_instance_.get();
55000 }
55001 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
55002
55003 // ===================================================================
55004
55005 #if !defined(_MSC_VER) || _MSC_VER >= 1900
55006 const int ProposalParameter::kFeatStrideFieldNumber;
55007 const int ProposalParameter::kBaseSizeFieldNumber;
55008 const int ProposalParameter::kMinSizeFieldNumber;
55009 const int ProposalParameter::kRatioFieldNumber;
55010 const int ProposalParameter::kScaleFieldNumber;
55011 const int ProposalParameter::kPreNmsTopnFieldNumber;
55012 const int ProposalParameter::kPostNmsTopnFieldNumber;
55013 const int ProposalParameter::kNmsThreshFieldNumber;
55014 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
55015
55016 ProposalParameter::ProposalParameter()
55017   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
55018   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
55019   SharedCtor();
55020   // @@protoc_insertion_point(constructor:opencv_caffe.ProposalParameter)
55021 }
55022
55023 void ProposalParameter::InitAsDefaultInstance() {
55024 }
55025
55026 ProposalParameter::ProposalParameter(const ProposalParameter& from)
55027   : ::google::protobuf::Message(),
55028     _internal_metadata_(NULL) {
55029   SharedCtor();
55030   UnsafeMergeFrom(from);
55031   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ProposalParameter)
55032 }
55033
55034 void ProposalParameter::SharedCtor() {
55035   _cached_size_ = 0;
55036   feat_stride_ = 16u;
55037   base_size_ = 16u;
55038   min_size_ = 16u;
55039   pre_nms_topn_ = 6000u;
55040   post_nms_topn_ = 300u;
55041   nms_thresh_ = 0.7f;
55042 }
55043
55044 ProposalParameter::~ProposalParameter() {
55045   // @@protoc_insertion_point(destructor:opencv_caffe.ProposalParameter)
55046   SharedDtor();
55047 }
55048
55049 void ProposalParameter::SharedDtor() {
55050 }
55051
55052 void ProposalParameter::SetCachedSize(int size) const {
55053   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
55054   _cached_size_ = size;
55055   GOOGLE_SAFE_CONCURRENT_WRITES_END();
55056 }
55057 const ::google::protobuf::Descriptor* ProposalParameter::descriptor() {
55058   protobuf_AssignDescriptorsOnce();
55059   return ProposalParameter_descriptor_;
55060 }
55061
55062 const ProposalParameter& ProposalParameter::default_instance() {
55063   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
55064   return *internal_default_instance();
55065 }
55066
55067 ::google::protobuf::internal::ExplicitlyConstructed<ProposalParameter> ProposalParameter_default_instance_;
55068
55069 ProposalParameter* ProposalParameter::New(::google::protobuf::Arena* arena) const {
55070   ProposalParameter* n = new ProposalParameter;
55071   if (arena != NULL) {
55072     arena->Own(n);
55073   }
55074   return n;
55075 }
55076
55077 void ProposalParameter::Clear() {
55078 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ProposalParameter)
55079   if (_has_bits_[0 / 32] & 231u) {
55080     feat_stride_ = 16u;
55081     base_size_ = 16u;
55082     min_size_ = 16u;
55083     pre_nms_topn_ = 6000u;
55084     post_nms_topn_ = 300u;
55085     nms_thresh_ = 0.7f;
55086   }
55087   ratio_.Clear();
55088   scale_.Clear();
55089   _has_bits_.Clear();
55090   if (_internal_metadata_.have_unknown_fields()) {
55091     mutable_unknown_fields()->Clear();
55092   }
55093 }
55094
55095 bool ProposalParameter::MergePartialFromCodedStream(
55096     ::google::protobuf::io::CodedInputStream* input) {
55097 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
55098   ::google::protobuf::uint32 tag;
55099   // @@protoc_insertion_point(parse_start:opencv_caffe.ProposalParameter)
55100   for (;;) {
55101     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
55102     tag = p.first;
55103     if (!p.second) goto handle_unusual;
55104     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
55105       // optional uint32 feat_stride = 1 [default = 16];
55106       case 1: {
55107         if (tag == 8) {
55108           set_has_feat_stride();
55109           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
55110                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
55111                  input, &feat_stride_)));
55112         } else {
55113           goto handle_unusual;
55114         }
55115         if (input->ExpectTag(16)) goto parse_base_size;
55116         break;
55117       }
55118
55119       // optional uint32 base_size = 2 [default = 16];
55120       case 2: {
55121         if (tag == 16) {
55122          parse_base_size:
55123           set_has_base_size();
55124           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
55125                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
55126                  input, &base_size_)));
55127         } else {
55128           goto handle_unusual;
55129         }
55130         if (input->ExpectTag(24)) goto parse_min_size;
55131         break;
55132       }
55133
55134       // optional uint32 min_size = 3 [default = 16];
55135       case 3: {
55136         if (tag == 24) {
55137          parse_min_size:
55138           set_has_min_size();
55139           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
55140                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
55141                  input, &min_size_)));
55142         } else {
55143           goto handle_unusual;
55144         }
55145         if (input->ExpectTag(37)) goto parse_ratio;
55146         break;
55147       }
55148
55149       // repeated float ratio = 4;
55150       case 4: {
55151         if (tag == 37) {
55152          parse_ratio:
55153           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
55154                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
55155                  1, 37, input, this->mutable_ratio())));
55156         } else if (tag == 34) {
55157           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
55158                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
55159                  input, this->mutable_ratio())));
55160         } else {
55161           goto handle_unusual;
55162         }
55163         if (input->ExpectTag(37)) goto parse_ratio;
55164         if (input->ExpectTag(45)) goto parse_scale;
55165         break;
55166       }
55167
55168       // repeated float scale = 5;
55169       case 5: {
55170         if (tag == 45) {
55171          parse_scale:
55172           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
55173                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
55174                  1, 45, input, this->mutable_scale())));
55175         } else if (tag == 42) {
55176           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
55177                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
55178                  input, this->mutable_scale())));
55179         } else {
55180           goto handle_unusual;
55181         }
55182         if (input->ExpectTag(45)) goto parse_scale;
55183         if (input->ExpectTag(48)) goto parse_pre_nms_topn;
55184         break;
55185       }
55186
55187       // optional uint32 pre_nms_topn = 6 [default = 6000];
55188       case 6: {
55189         if (tag == 48) {
55190          parse_pre_nms_topn:
55191           set_has_pre_nms_topn();
55192           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
55193                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
55194                  input, &pre_nms_topn_)));
55195         } else {
55196           goto handle_unusual;
55197         }
55198         if (input->ExpectTag(56)) goto parse_post_nms_topn;
55199         break;
55200       }
55201
55202       // optional uint32 post_nms_topn = 7 [default = 300];
55203       case 7: {
55204         if (tag == 56) {
55205          parse_post_nms_topn:
55206           set_has_post_nms_topn();
55207           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
55208                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
55209                  input, &post_nms_topn_)));
55210         } else {
55211           goto handle_unusual;
55212         }
55213         if (input->ExpectTag(69)) goto parse_nms_thresh;
55214         break;
55215       }
55216
55217       // optional float nms_thresh = 8 [default = 0.7];
55218       case 8: {
55219         if (tag == 69) {
55220          parse_nms_thresh:
55221           set_has_nms_thresh();
55222           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
55223                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
55224                  input, &nms_thresh_)));
55225         } else {
55226           goto handle_unusual;
55227         }
55228         if (input->ExpectAtEnd()) goto success;
55229         break;
55230       }
55231
55232       default: {
55233       handle_unusual:
55234         if (tag == 0 ||
55235             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
55236             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
55237           goto success;
55238         }
55239         DO_(::google::protobuf::internal::WireFormat::SkipField(
55240               input, tag, mutable_unknown_fields()));
55241         break;
55242       }
55243     }
55244   }
55245 success:
55246   // @@protoc_insertion_point(parse_success:opencv_caffe.ProposalParameter)
55247   return true;
55248 failure:
55249   // @@protoc_insertion_point(parse_failure:opencv_caffe.ProposalParameter)
55250   return false;
55251 #undef DO_
55252 }
55253
55254 void ProposalParameter::SerializeWithCachedSizes(
55255     ::google::protobuf::io::CodedOutputStream* output) const {
55256   // @@protoc_insertion_point(serialize_start:opencv_caffe.ProposalParameter)
55257   // optional uint32 feat_stride = 1 [default = 16];
55258   if (has_feat_stride()) {
55259     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->feat_stride(), output);
55260   }
55261
55262   // optional uint32 base_size = 2 [default = 16];
55263   if (has_base_size()) {
55264     ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->base_size(), output);
55265   }
55266
55267   // optional uint32 min_size = 3 [default = 16];
55268   if (has_min_size()) {
55269     ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->min_size(), output);
55270   }
55271
55272   // repeated float ratio = 4;
55273   for (int i = 0; i < this->ratio_size(); i++) {
55274     ::google::protobuf::internal::WireFormatLite::WriteFloat(
55275       4, this->ratio(i), output);
55276   }
55277
55278   // repeated float scale = 5;
55279   for (int i = 0; i < this->scale_size(); i++) {
55280     ::google::protobuf::internal::WireFormatLite::WriteFloat(
55281       5, this->scale(i), output);
55282   }
55283
55284   // optional uint32 pre_nms_topn = 6 [default = 6000];
55285   if (has_pre_nms_topn()) {
55286     ::google::protobuf::internal::WireFormatLite::WriteUInt32(6, this->pre_nms_topn(), output);
55287   }
55288
55289   // optional uint32 post_nms_topn = 7 [default = 300];
55290   if (has_post_nms_topn()) {
55291     ::google::protobuf::internal::WireFormatLite::WriteUInt32(7, this->post_nms_topn(), output);
55292   }
55293
55294   // optional float nms_thresh = 8 [default = 0.7];
55295   if (has_nms_thresh()) {
55296     ::google::protobuf::internal::WireFormatLite::WriteFloat(8, this->nms_thresh(), output);
55297   }
55298
55299   if (_internal_metadata_.have_unknown_fields()) {
55300     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
55301         unknown_fields(), output);
55302   }
55303   // @@protoc_insertion_point(serialize_end:opencv_caffe.ProposalParameter)
55304 }
55305
55306 ::google::protobuf::uint8* ProposalParameter::InternalSerializeWithCachedSizesToArray(
55307     bool deterministic, ::google::protobuf::uint8* target) const {
55308   (void)deterministic; // Unused
55309   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ProposalParameter)
55310   // optional uint32 feat_stride = 1 [default = 16];
55311   if (has_feat_stride()) {
55312     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->feat_stride(), target);
55313   }
55314
55315   // optional uint32 base_size = 2 [default = 16];
55316   if (has_base_size()) {
55317     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->base_size(), target);
55318   }
55319
55320   // optional uint32 min_size = 3 [default = 16];
55321   if (has_min_size()) {
55322     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(3, this->min_size(), target);
55323   }
55324
55325   // repeated float ratio = 4;
55326   for (int i = 0; i < this->ratio_size(); i++) {
55327     target = ::google::protobuf::internal::WireFormatLite::
55328       WriteFloatToArray(4, this->ratio(i), target);
55329   }
55330
55331   // repeated float scale = 5;
55332   for (int i = 0; i < this->scale_size(); i++) {
55333     target = ::google::protobuf::internal::WireFormatLite::
55334       WriteFloatToArray(5, this->scale(i), target);
55335   }
55336
55337   // optional uint32 pre_nms_topn = 6 [default = 6000];
55338   if (has_pre_nms_topn()) {
55339     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(6, this->pre_nms_topn(), target);
55340   }
55341
55342   // optional uint32 post_nms_topn = 7 [default = 300];
55343   if (has_post_nms_topn()) {
55344     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(7, this->post_nms_topn(), target);
55345   }
55346
55347   // optional float nms_thresh = 8 [default = 0.7];
55348   if (has_nms_thresh()) {
55349     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(8, this->nms_thresh(), target);
55350   }
55351
55352   if (_internal_metadata_.have_unknown_fields()) {
55353     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
55354         unknown_fields(), target);
55355   }
55356   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ProposalParameter)
55357   return target;
55358 }
55359
55360 size_t ProposalParameter::ByteSizeLong() const {
55361 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ProposalParameter)
55362   size_t total_size = 0;
55363
55364   if (_has_bits_[0 / 32] & 231u) {
55365     // optional uint32 feat_stride = 1 [default = 16];
55366     if (has_feat_stride()) {
55367       total_size += 1 +
55368         ::google::protobuf::internal::WireFormatLite::UInt32Size(
55369           this->feat_stride());
55370     }
55371
55372     // optional uint32 base_size = 2 [default = 16];
55373     if (has_base_size()) {
55374       total_size += 1 +
55375         ::google::protobuf::internal::WireFormatLite::UInt32Size(
55376           this->base_size());
55377     }
55378
55379     // optional uint32 min_size = 3 [default = 16];
55380     if (has_min_size()) {
55381       total_size += 1 +
55382         ::google::protobuf::internal::WireFormatLite::UInt32Size(
55383           this->min_size());
55384     }
55385
55386     // optional uint32 pre_nms_topn = 6 [default = 6000];
55387     if (has_pre_nms_topn()) {
55388       total_size += 1 +
55389         ::google::protobuf::internal::WireFormatLite::UInt32Size(
55390           this->pre_nms_topn());
55391     }
55392
55393     // optional uint32 post_nms_topn = 7 [default = 300];
55394     if (has_post_nms_topn()) {
55395       total_size += 1 +
55396         ::google::protobuf::internal::WireFormatLite::UInt32Size(
55397           this->post_nms_topn());
55398     }
55399
55400     // optional float nms_thresh = 8 [default = 0.7];
55401     if (has_nms_thresh()) {
55402       total_size += 1 + 4;
55403     }
55404
55405   }
55406   // repeated float ratio = 4;
55407   {
55408     size_t data_size = 0;
55409     unsigned int count = this->ratio_size();
55410     data_size = 4UL * count;
55411     total_size += 1 *
55412                   ::google::protobuf::internal::FromIntSize(this->ratio_size());
55413     total_size += data_size;
55414   }
55415
55416   // repeated float scale = 5;
55417   {
55418     size_t data_size = 0;
55419     unsigned int count = this->scale_size();
55420     data_size = 4UL * count;
55421     total_size += 1 *
55422                   ::google::protobuf::internal::FromIntSize(this->scale_size());
55423     total_size += data_size;
55424   }
55425
55426   if (_internal_metadata_.have_unknown_fields()) {
55427     total_size +=
55428       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
55429         unknown_fields());
55430   }
55431   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
55432   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
55433   _cached_size_ = cached_size;
55434   GOOGLE_SAFE_CONCURRENT_WRITES_END();
55435   return total_size;
55436 }
55437
55438 void ProposalParameter::MergeFrom(const ::google::protobuf::Message& from) {
55439 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ProposalParameter)
55440   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
55441   const ProposalParameter* source =
55442       ::google::protobuf::internal::DynamicCastToGenerated<const ProposalParameter>(
55443           &from);
55444   if (source == NULL) {
55445   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ProposalParameter)
55446     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
55447   } else {
55448   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ProposalParameter)
55449     UnsafeMergeFrom(*source);
55450   }
55451 }
55452
55453 void ProposalParameter::MergeFrom(const ProposalParameter& from) {
55454 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ProposalParameter)
55455   if (GOOGLE_PREDICT_TRUE(&from != this)) {
55456     UnsafeMergeFrom(from);
55457   } else {
55458     MergeFromFail(__LINE__);
55459   }
55460 }
55461
55462 void ProposalParameter::UnsafeMergeFrom(const ProposalParameter& from) {
55463   GOOGLE_DCHECK(&from != this);
55464   ratio_.UnsafeMergeFrom(from.ratio_);
55465   scale_.UnsafeMergeFrom(from.scale_);
55466   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
55467     if (from.has_feat_stride()) {
55468       set_feat_stride(from.feat_stride());
55469     }
55470     if (from.has_base_size()) {
55471       set_base_size(from.base_size());
55472     }
55473     if (from.has_min_size()) {
55474       set_min_size(from.min_size());
55475     }
55476     if (from.has_pre_nms_topn()) {
55477       set_pre_nms_topn(from.pre_nms_topn());
55478     }
55479     if (from.has_post_nms_topn()) {
55480       set_post_nms_topn(from.post_nms_topn());
55481     }
55482     if (from.has_nms_thresh()) {
55483       set_nms_thresh(from.nms_thresh());
55484     }
55485   }
55486   if (from._internal_metadata_.have_unknown_fields()) {
55487     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
55488       from.unknown_fields(), &_internal_metadata_);
55489   }
55490 }
55491
55492 void ProposalParameter::CopyFrom(const ::google::protobuf::Message& from) {
55493 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ProposalParameter)
55494   if (&from == this) return;
55495   Clear();
55496   MergeFrom(from);
55497 }
55498
55499 void ProposalParameter::CopyFrom(const ProposalParameter& from) {
55500 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ProposalParameter)
55501   if (&from == this) return;
55502   Clear();
55503   UnsafeMergeFrom(from);
55504 }
55505
55506 bool ProposalParameter::IsInitialized() const {
55507
55508   return true;
55509 }
55510
55511 void ProposalParameter::Swap(ProposalParameter* other) {
55512   if (other == this) return;
55513   InternalSwap(other);
55514 }
55515 void ProposalParameter::InternalSwap(ProposalParameter* other) {
55516   std::swap(feat_stride_, other->feat_stride_);
55517   std::swap(base_size_, other->base_size_);
55518   std::swap(min_size_, other->min_size_);
55519   ratio_.UnsafeArenaSwap(&other->ratio_);
55520   scale_.UnsafeArenaSwap(&other->scale_);
55521   std::swap(pre_nms_topn_, other->pre_nms_topn_);
55522   std::swap(post_nms_topn_, other->post_nms_topn_);
55523   std::swap(nms_thresh_, other->nms_thresh_);
55524   std::swap(_has_bits_[0], other->_has_bits_[0]);
55525   _internal_metadata_.Swap(&other->_internal_metadata_);
55526   std::swap(_cached_size_, other->_cached_size_);
55527 }
55528
55529 ::google::protobuf::Metadata ProposalParameter::GetMetadata() const {
55530   protobuf_AssignDescriptorsOnce();
55531   ::google::protobuf::Metadata metadata;
55532   metadata.descriptor = ProposalParameter_descriptor_;
55533   metadata.reflection = ProposalParameter_reflection_;
55534   return metadata;
55535 }
55536
55537 #if PROTOBUF_INLINE_NOT_IN_HEADERS
55538 // ProposalParameter
55539
55540 // optional uint32 feat_stride = 1 [default = 16];
55541 bool ProposalParameter::has_feat_stride() const {
55542   return (_has_bits_[0] & 0x00000001u) != 0;
55543 }
55544 void ProposalParameter::set_has_feat_stride() {
55545   _has_bits_[0] |= 0x00000001u;
55546 }
55547 void ProposalParameter::clear_has_feat_stride() {
55548   _has_bits_[0] &= ~0x00000001u;
55549 }
55550 void ProposalParameter::clear_feat_stride() {
55551   feat_stride_ = 16u;
55552   clear_has_feat_stride();
55553 }
55554 ::google::protobuf::uint32 ProposalParameter::feat_stride() const {
55555   // @@protoc_insertion_point(field_get:opencv_caffe.ProposalParameter.feat_stride)
55556   return feat_stride_;
55557 }
55558 void ProposalParameter::set_feat_stride(::google::protobuf::uint32 value) {
55559   set_has_feat_stride();
55560   feat_stride_ = value;
55561   // @@protoc_insertion_point(field_set:opencv_caffe.ProposalParameter.feat_stride)
55562 }
55563
55564 // optional uint32 base_size = 2 [default = 16];
55565 bool ProposalParameter::has_base_size() const {
55566   return (_has_bits_[0] & 0x00000002u) != 0;
55567 }
55568 void ProposalParameter::set_has_base_size() {
55569   _has_bits_[0] |= 0x00000002u;
55570 }
55571 void ProposalParameter::clear_has_base_size() {
55572   _has_bits_[0] &= ~0x00000002u;
55573 }
55574 void ProposalParameter::clear_base_size() {
55575   base_size_ = 16u;
55576   clear_has_base_size();
55577 }
55578 ::google::protobuf::uint32 ProposalParameter::base_size() const {
55579   // @@protoc_insertion_point(field_get:opencv_caffe.ProposalParameter.base_size)
55580   return base_size_;
55581 }
55582 void ProposalParameter::set_base_size(::google::protobuf::uint32 value) {
55583   set_has_base_size();
55584   base_size_ = value;
55585   // @@protoc_insertion_point(field_set:opencv_caffe.ProposalParameter.base_size)
55586 }
55587
55588 // optional uint32 min_size = 3 [default = 16];
55589 bool ProposalParameter::has_min_size() const {
55590   return (_has_bits_[0] & 0x00000004u) != 0;
55591 }
55592 void ProposalParameter::set_has_min_size() {
55593   _has_bits_[0] |= 0x00000004u;
55594 }
55595 void ProposalParameter::clear_has_min_size() {
55596   _has_bits_[0] &= ~0x00000004u;
55597 }
55598 void ProposalParameter::clear_min_size() {
55599   min_size_ = 16u;
55600   clear_has_min_size();
55601 }
55602 ::google::protobuf::uint32 ProposalParameter::min_size() const {
55603   // @@protoc_insertion_point(field_get:opencv_caffe.ProposalParameter.min_size)
55604   return min_size_;
55605 }
55606 void ProposalParameter::set_min_size(::google::protobuf::uint32 value) {
55607   set_has_min_size();
55608   min_size_ = value;
55609   // @@protoc_insertion_point(field_set:opencv_caffe.ProposalParameter.min_size)
55610 }
55611
55612 // repeated float ratio = 4;
55613 int ProposalParameter::ratio_size() const {
55614   return ratio_.size();
55615 }
55616 void ProposalParameter::clear_ratio() {
55617   ratio_.Clear();
55618 }
55619 float ProposalParameter::ratio(int index) const {
55620   // @@protoc_insertion_point(field_get:opencv_caffe.ProposalParameter.ratio)
55621   return ratio_.Get(index);
55622 }
55623 void ProposalParameter::set_ratio(int index, float value) {
55624   ratio_.Set(index, value);
55625   // @@protoc_insertion_point(field_set:opencv_caffe.ProposalParameter.ratio)
55626 }
55627 void ProposalParameter::add_ratio(float value) {
55628   ratio_.Add(value);
55629   // @@protoc_insertion_point(field_add:opencv_caffe.ProposalParameter.ratio)
55630 }
55631 const ::google::protobuf::RepeatedField< float >&
55632 ProposalParameter::ratio() const {
55633   // @@protoc_insertion_point(field_list:opencv_caffe.ProposalParameter.ratio)
55634   return ratio_;
55635 }
55636 ::google::protobuf::RepeatedField< float >*
55637 ProposalParameter::mutable_ratio() {
55638   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.ProposalParameter.ratio)
55639   return &ratio_;
55640 }
55641
55642 // repeated float scale = 5;
55643 int ProposalParameter::scale_size() const {
55644   return scale_.size();
55645 }
55646 void ProposalParameter::clear_scale() {
55647   scale_.Clear();
55648 }
55649 float ProposalParameter::scale(int index) const {
55650   // @@protoc_insertion_point(field_get:opencv_caffe.ProposalParameter.scale)
55651   return scale_.Get(index);
55652 }
55653 void ProposalParameter::set_scale(int index, float value) {
55654   scale_.Set(index, value);
55655   // @@protoc_insertion_point(field_set:opencv_caffe.ProposalParameter.scale)
55656 }
55657 void ProposalParameter::add_scale(float value) {
55658   scale_.Add(value);
55659   // @@protoc_insertion_point(field_add:opencv_caffe.ProposalParameter.scale)
55660 }
55661 const ::google::protobuf::RepeatedField< float >&
55662 ProposalParameter::scale() const {
55663   // @@protoc_insertion_point(field_list:opencv_caffe.ProposalParameter.scale)
55664   return scale_;
55665 }
55666 ::google::protobuf::RepeatedField< float >*
55667 ProposalParameter::mutable_scale() {
55668   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.ProposalParameter.scale)
55669   return &scale_;
55670 }
55671
55672 // optional uint32 pre_nms_topn = 6 [default = 6000];
55673 bool ProposalParameter::has_pre_nms_topn() const {
55674   return (_has_bits_[0] & 0x00000020u) != 0;
55675 }
55676 void ProposalParameter::set_has_pre_nms_topn() {
55677   _has_bits_[0] |= 0x00000020u;
55678 }
55679 void ProposalParameter::clear_has_pre_nms_topn() {
55680   _has_bits_[0] &= ~0x00000020u;
55681 }
55682 void ProposalParameter::clear_pre_nms_topn() {
55683   pre_nms_topn_ = 6000u;
55684   clear_has_pre_nms_topn();
55685 }
55686 ::google::protobuf::uint32 ProposalParameter::pre_nms_topn() const {
55687   // @@protoc_insertion_point(field_get:opencv_caffe.ProposalParameter.pre_nms_topn)
55688   return pre_nms_topn_;
55689 }
55690 void ProposalParameter::set_pre_nms_topn(::google::protobuf::uint32 value) {
55691   set_has_pre_nms_topn();
55692   pre_nms_topn_ = value;
55693   // @@protoc_insertion_point(field_set:opencv_caffe.ProposalParameter.pre_nms_topn)
55694 }
55695
55696 // optional uint32 post_nms_topn = 7 [default = 300];
55697 bool ProposalParameter::has_post_nms_topn() const {
55698   return (_has_bits_[0] & 0x00000040u) != 0;
55699 }
55700 void ProposalParameter::set_has_post_nms_topn() {
55701   _has_bits_[0] |= 0x00000040u;
55702 }
55703 void ProposalParameter::clear_has_post_nms_topn() {
55704   _has_bits_[0] &= ~0x00000040u;
55705 }
55706 void ProposalParameter::clear_post_nms_topn() {
55707   post_nms_topn_ = 300u;
55708   clear_has_post_nms_topn();
55709 }
55710 ::google::protobuf::uint32 ProposalParameter::post_nms_topn() const {
55711   // @@protoc_insertion_point(field_get:opencv_caffe.ProposalParameter.post_nms_topn)
55712   return post_nms_topn_;
55713 }
55714 void ProposalParameter::set_post_nms_topn(::google::protobuf::uint32 value) {
55715   set_has_post_nms_topn();
55716   post_nms_topn_ = value;
55717   // @@protoc_insertion_point(field_set:opencv_caffe.ProposalParameter.post_nms_topn)
55718 }
55719
55720 // optional float nms_thresh = 8 [default = 0.7];
55721 bool ProposalParameter::has_nms_thresh() const {
55722   return (_has_bits_[0] & 0x00000080u) != 0;
55723 }
55724 void ProposalParameter::set_has_nms_thresh() {
55725   _has_bits_[0] |= 0x00000080u;
55726 }
55727 void ProposalParameter::clear_has_nms_thresh() {
55728   _has_bits_[0] &= ~0x00000080u;
55729 }
55730 void ProposalParameter::clear_nms_thresh() {
55731   nms_thresh_ = 0.7f;
55732   clear_has_nms_thresh();
55733 }
55734 float ProposalParameter::nms_thresh() const {
55735   // @@protoc_insertion_point(field_get:opencv_caffe.ProposalParameter.nms_thresh)
55736   return nms_thresh_;
55737 }
55738 void ProposalParameter::set_nms_thresh(float value) {
55739   set_has_nms_thresh();
55740   nms_thresh_ = value;
55741   // @@protoc_insertion_point(field_set:opencv_caffe.ProposalParameter.nms_thresh)
55742 }
55743
55744 inline const ProposalParameter* ProposalParameter::internal_default_instance() {
55745   return &ProposalParameter_default_instance_.get();
55746 }
55747 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
55748
55749 // @@protoc_insertion_point(namespace_scope)
55750
55751 }  // namespace opencv_caffe
55752
55753 // @@protoc_insertion_point(global_scope)